Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/06/2013, 17:57
TragosD
 
Fecha de Ingreso: junio-2013
Ubicación: Ciudad de México
Mensajes: 2
Antigüedad: 10 años, 10 meses
Puntos: 0
Pregunta 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 original
  1. struct usuario
  2. {
  3.     string nombre;
  4.     string apellido;
  5.     string direccion;
  6.     string edad;
  7.     struct usuario *siguiente;
  8. };
  9. struct usuario *pInicial, *pFinal, *pAux;
  10.  
  11. void usuarionuevo(string nom, string ape, string dir, string eda)
  12. {
  13.     if(pInicial == NULL)
  14.     {
  15.         pInicial=new(usuario);
  16.         pInicial->nombre=nom;
  17.         pInicial->apellido=ape;
  18.         pInicial->direccion=dir;
  19.         pInicial->edad=eda;
  20.         pFinal=pInicial;
  21.     }
  22.     else
  23.     {
  24.         pAux=new(usuario);
  25.         pFinal->siguiente=pAux;
  26.         pInicial->nombre=nom;
  27.         pInicial->apellido=ape;
  28.         pInicial->direccion=dir;
  29.         pInicial->edad=eda;
  30.         pFinal=pAux;
  31.     }
  32.     pFinal->siguiente=NULL;
  33. }
  34.        
  35. void lectura()
  36. {
  37.      string nom, ape, dir, eda;
  38.      
  39.      
  40.      cout<<"Ingresa el Nombre: ";
  41.      cin>>nom;
  42.      cout<<endl<<"Ingresa el Apellido: ";
  43.      cin>>ape;
  44.      cout<<endl<<"Ingresa la direccion(capturar sin espacios): ";
  45.      cin>>dir;
  46.      cout<<endl<<"Ingresa la edad: ";
  47.      cin>>eda;
  48. }
  49.  
  50. void muestra_lista()
  51. {
  52.      int cont=1;
  53.      pAux=pInicial;
  54.      system("CLS");
  55.      while(pAux != NULL)
  56.      {
  57.                 cout<<"Usuario no."<<cont<<endl<<endl;
  58.                 cout<<"Nombre: "<<pAux->nombre;
  59.                 cout<<endl<<"Apellido: "<<pAux->apellido;
  60.                 cout<<endl<<"Direccion: "<<pAux->direccion;
  61.                 cout<<endl<<"Edad: "<<pAux->edad<<endl<<endl;
  62.                 pAux = pAux->siguiente;
  63.                 cont++;
  64.      }
  65. }
  66.      
  67. int main()
  68. {
  69.     string nom,ape,dir,eda;
  70.     char respuesta;
  71.     preg:
  72.     system("CLS");
  73.     cout<<"Ingresa la opcion deseada"<<endl;
  74.     cout<<"Nuevo usuario -- s \nSalir         -- n "<<endl<<"Respuesta: ";
  75.     cin>>respuesta;
  76.     switch(respuesta)
  77.     {
  78.                      case 's':
  79.                           system("CLS");
  80.                           lectura();
  81.                           usuarionuevo(nom,ape,dir,eda);
  82.                           goto preg;
  83.                           break;
  84.                          
  85.                      default:
  86.                              if(pInicial==NULL)
  87.                              {
  88.                              system("CLS");
  89.                              cout<<"Lista vacia, no hay elementos..."<<endl;
  90.                              system("PAUSE");
  91.                              exit(0);
  92.                              }
  93.                              else
  94.                              {
  95.                                  muestra_lista();
  96.                                  system("pause>nul");
  97.                                  exit(0);
  98.                                  }
  99.     };
  100.                          
  101.  
  102.     system("pause>nul");
  103.     return 0;
  104. }