que tal , estoy haciendo un programa AGENDA, con listas dobles enlazadas, que me almacene los campos que estan en la estructura, trate de ordenarlos al momento que los estoy ingresando, pero se me hizo complicado y llegue a la conclusion de que seria mejor hacer otra funcion ORDENA; el problema esta en que no puedo ordenar porque no puedo decir por ejemplo aux->nombre>nuevo->nombre
pienso que no funciona porque son cadenas de carecteres y no numemos.
entonces trate de convertir la cadena a numero con la funcion atoi pero no funciono, tambien trate de usar la funcion strcmp pero nada, pliz ayuda ..
aqui alzo parte del codigo para que tengan idea
struct agenda
{
char nombre[20];
char cedula[10];
char telefono[6];
int parentezco;
agenda *ant;
agenda *sig;
};
void crear_nodo()
{
nuevo=new agenda;
nuevo->sig=NULL;
nuevo->ant=NULL;
}
void ingreso()
{
char op = 's';
char nombre[20];
char cedula[10];
char telefono[6];
int parentezco;
while (op=='s')
{
clrscr();
cout<<"Ingrese los siguientes datos, para salir en nombre ingrese'#'\n";
cout<<"Parentezco: 1.-Familia, 2.-amigos, 3.-Trabajo\n";
cout<<"C‚dula: ";cin>>cedula;
cout<<"Nombre: ";cin>>nombre;
cout<<"telefono: ";cin>>telefono;
cout<<"Parentezco: ";cin>>parentezco;
cout<<"Desea ingresar otro dato? s/n";op=getche();
crear_nodo();
strcpy(nuevo->cedula,cedula);
strcpy(nuevo->nombre,nombre);
strcpy(nuevo->telefono,telefono);
nuevo->parentezco=parentezco;
if(ini==NULL)
{
ini=fin=nuevo;
}
else
{
nuevo->ant=fin;
fin->sig=nuevo;
fin=nuevo;
}
};
}