Dev - C++ - Ayuda con programa de listas

   
Vista:

Ayuda con programa de listas

Publicado por Ivan Lopez (1 intervención) el 29/05/2015 20:08:25
/*
Utilizar una lista para conversión de un número decimal a binario.
El programa debe dar las siguientes opciones al usuario: a. Convertir un número decimal a binario, b. Consultar los números decimales convertidos,
mostrando el número decimal y su correspondiente binario.
*/
//este es el programa
#include<iostream.h>
struct historico{
int decimal;
char *binario;
historico *sig, *ant;
};

struct residuos{
int residuo,cociente;
residuos *sig, *ant;
};

residuos *nr, *cr, *fr, *aux;
historico *nh, *ch, *fh, *a;
int M, op, again, i;
int contador;

void ingresar();
void mostrar ();
//************************************
int main(){

/* inicializacion */

//historico
ch=new historico;
fh=new historico;
ch->ant=ch;
fh->sig=fh;
ch->sig=fh;
fh->ant=ch;

//residuos

cr=new residuos;
fr=new residuos;
cr->ant=cr;
fr->sig=fr;
cr->sig=fr;
fr->ant=cr;

//menu

do{
cout<<"MENU"<<endl<<endl;
cout<<"1. Convertir un numero decimal a binario"<<endl;
cout<<"2. Mostrar los numeros convertidos"<<endl<<endl;
cout<<"ingrese la opcion requerida"<<endl;
cin>>M;
cout<<endl;

switch(M){

case 1:{
contador=0;
ingresar ();
cout<<"el numero al que se convierte es ";
mostrar ();

}
break;
default:
{
}
}
cout<<endl;

cout<<"ingrese 0 para regresar al menu"<<endl;
cin>>op;
}while (op==0);

system("pause");
return 0;
// delete ch,fh,cr,fr;
}
void ingresar()
{


nh=new historico;
cout<<"ingrese el numero que desea convertir"<<endl;
cin>>nh->decimal;
do{
nr=new residuos;

nr->sig=fr;
nr->ant=fr->ant;
fr->ant->sig=nr;
fr->ant=nr;

if(cr->sig==nr)
{
nr->cociente=(nh->decimal)/2;
nr->residuo=(nh->decimal)%2;
cout<<nr->residuo<<" "<<nr->cociente<<endl;

}
else
{
nr->cociente=(nr->ant->cociente)/2;
nr->residuo=(nr->ant->cociente)%2;
cout<<nr->residuo<<" "<<nr->cociente<<endl;

}


contador++;
}while(nr->cociente>=2);
}

void mostrar ()
{
aux=fr->ant;
cout<<aux->cociente;

while(aux!=cr)
{
cout<<aux->residuo;
aux=aux->ant;


}




}

/*void bina (historico x[], int t)
{
for (i=0,i<t,i++)
{

}
}*/
por favor ayuda para mostrar y corregir lo que tengo mal
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder