10/06/2013, 17:57
|
| | Fecha de Ingreso: junio-2013 Ubicación: Ciudad de México
Mensajes: 2
Antigüedad: 11 años, 6 meses Puntos: 0 | |
Listas y manejo de datos Hize un programa en c++ utilizando estructuras para hacer una lista simplemente vinculada, la cual crea un usuario con nombre, apellido, dirección y edad. todas las variables son cadenas de texto, por lo que las maneje como string, pero al querer hacerlo con tipos char las operaciones de asignación que hago en la función nuevousuario() como pInicial->nombre=nom; me marca un error diciéndome error C2440: '=' : no se puede realizar la conversión de 'char' a 'char [30]', entonces como quedarían esas asignaciones?
Código C++:
Ver originalstruct usuario { string nombre; string apellido; string direccion; string edad; struct usuario *siguiente; }; struct usuario *pInicial, *pFinal, *pAux; void usuarionuevo(string nom, string ape, string dir, string eda) { if(pInicial == NULL) { pInicial=new(usuario); pInicial->nombre=nom; pInicial->apellido=ape; pInicial->direccion=dir; pInicial->edad=eda; pFinal=pInicial; } else { pAux=new(usuario); pFinal->siguiente=pAux; pInicial->nombre=nom; pInicial->apellido=ape; pInicial->direccion=dir; pInicial->edad=eda; pFinal=pAux; } pFinal->siguiente=NULL; } void lectura() { string nom, ape, dir, eda; cout<<"Ingresa el Nombre: "; cin>>nom; cout<<endl<<"Ingresa el Apellido: "; cin>>ape; cout<<endl<<"Ingresa la direccion(capturar sin espacios): "; cin>>dir; cout<<endl<<"Ingresa la edad: "; cin>>eda; } void muestra_lista() { int cont=1; pAux=pInicial; while(pAux != NULL) { cout<<"Usuario no."<<cont<<endl<<endl; cout<<"Nombre: "<<pAux->nombre; cout<<endl<<"Apellido: "<<pAux->apellido; cout<<endl<<"Direccion: "<<pAux->direccion; cout<<endl<<"Edad: "<<pAux->edad<<endl<<endl; pAux = pAux->siguiente; cont++; } } int main() { string nom,ape,dir,eda; char respuesta; preg: cout<<"Ingresa la opcion deseada"<<endl; cout<<"Nuevo usuario -- s \nSalir -- n "<<endl<<"Respuesta: "; cin>>respuesta; switch(respuesta) { case 's': lectura(); usuarionuevo(nom,ape,dir,eda); goto preg; break; default: if(pInicial==NULL) { cout<<"Lista vacia, no hay elementos..."<<endl; } else { muestra_lista(); } }; return 0; }
|