• Viernes 8 de Noviembre de 2024, 04:45

Autor Tema:  Listas Ya Lo Corregi, Pero Tengo ? En Mostrar Dato  (Leído 887 veces)

athena_rivas

  • Nuevo Miembro
  • *
  • Mensajes: 12
    • Ver Perfil
Listas Ya Lo Corregi, Pero Tengo ? En Mostrar Dato
« en: Domingo 29 de Julio de 2007, 18:44 »
0
hola, muchas gracias, ya lo corregi!

pero ahora tengo otra duda, cuando selecciono en el menu la opcion 2(mostrar datos), me sale no hay elementos, siendo que anteriormente puse opcion 1 y agregue elementos no se a que se deba, alguien sabe??

aki dejo el codigo:

Código: Text
  1.  
  2.  
  3.  
  4. #include<conio.h>
  5. #include<stdio.h>
  6. #include<iostream.h>
  7. #include<string.h>
  8.  
  9. struct hospital
  10.  
  11. {
  12.  
  13. char nombre_medico[30];
  14. char especialidad[30];
  15. int clave_sala;
  16. int fecha;
  17. int hora;
  18. hospital *sig;
  19. char nombre_paciente[30];
  20.  
  21. };
  22.  
  23. hospital *list=NULL;
  24. hospital *ptrant;
  25. hospital *ptrnuevo;
  26.  
  27. void agregar_datos(char *ptrvalor, char *ptrval, int *ptrsala, int *ptrfecha, int *ptrhora,  char *ptrnombre_paciente)
  28.  
  29. {
  30.  
  31. hospital *ptrnuevo=new hospital;
  32.  
  33. strcpy(ptrnuevo->nombre_medico,ptrvalor);
  34. strcpy(ptrnuevo->especialidad,ptrval);
  35. ptrnuevo->clave_sala=*ptrsala;
  36. ptrnuevo->fecha=*ptrfecha;
  37. ptrnuevo->hora=*ptrhora;
  38. strcpy(ptrnuevo->nombre_paciente,ptrnombre_paciente);
  39.  
  40. ptrnuevo->sig=NULL;
  41.  
  42. if(list==NULL)
  43. list=ptrnuevo;
  44.  
  45. else
  46.  
  47. if(strcmp (ptrvalor,list->nombre_medico)<=0)
  48.  
  49. {
  50.  
  51. ptrnuevo->sig=list;
  52. list=ptrnuevo;
  53.  
  54. }
  55.  
  56. else
  57.  
  58. {
  59.  
  60. hospital *ptraux=list;
  61.  
  62. while(strcmp (ptraux->nombre_medico,ptrvalor)<0)
  63.  
  64. {
  65.  
  66. ptrant=ptraux;
  67. ptraux=ptraux->sig;
  68.  
  69. if(ptraux==NULL)
  70.  
  71. break;
  72.  
  73. }
  74.  
  75. ptrant->sig=ptrnuevo;
  76. ptrnuevo->sig=ptraux;
  77.  
  78. }
  79. }
  80.  
  81.  
  82. void mostrar_datos()
  83.  
  84. {
  85.  
  86. hospital *ptraux=ptrnuevo;
  87.  
  88. if(ptraux==NULL)
  89. cout<<"\nNo hay elementos\n";
  90.  
  91. else
  92.  
  93. while(ptraux!=NULL)
  94.  
  95. {
  96.  
  97. cout<<ptraux->nombre_medico;
  98. cout<<ptraux->especialidad;
  99. cout<<ptraux->clave_sala;
  100. cout<<ptraux->fecha;
  101. cout<<ptraux->hora;
  102. cout<<ptraux->nombre_paciente;
  103. ptraux=ptraux->sig;
  104.  
  105. }
  106.  
  107. }
  108.  
  109. void main ()
  110.  
  111. {
  112.  
  113. clrscr();
  114.  
  115. char nombre_medico[30],especialidad[30],nombre_paciente[30];
  116. int opcion,clave_sala,fecha,hora;
  117.  
  118. do
  119.  
  120. {
  121. cout<<"\nMENU\n";
  122. cout<<"1.-AGREGAR DATOS DE LA CIRUGIA\n";
  123. cout<<"2.-MOSTRAR DATOS DE LA CIRUGIA\n";
  124. cout<<"3.-SALIR DEL PROGRAMA\n";
  125. cout<<"4.-QUE OPCIÒN DESEAS??\n";
  126. cin>>opcion;
  127.  
  128. switch (opcion)
  129.  
  130. {
  131.  
  132. case 1:
  133.  
  134. cout<<"\nIntroduce el nombre del medico:";
  135. scanf("%s",&nombre_medico);
  136. cout<<endl;
  137. cout<<"\nIntroduce la especialidad:";
  138. cscanf("%s",&especialidad);
  139. cout<<endl;
  140. cout<<"\nIntroduce la clave de la sala:";
  141. cin>>clave_sala;
  142. cout<<endl;
  143. cout<<"\nIntroduce la fecha:";
  144. cin>>fecha;
  145. cout<<endl;
  146. cout<<"\nIntroduce la hora:";
  147. cin>>hora;
  148. cout<<"\nIntroduce el nombre del paciente:";
  149. scanf("%s",&nombre_paciente);
  150.  
  151. agregar_datos(&nombre_medico[30],&especialidad[30],&clave_sala, &fecha,&hora,&nombre_paciente[30]);
  152.  
  153. break;
  154.  
  155. case 2:
  156.  
  157. mostrar_datos();
  158.  
  159. break;
  160.  
  161. case 3:
  162.  
  163. cout<<"Salir del programa!\n";
  164. cout<<"Presione una tecla para salir!\n";
  165.  
  166. break;
  167.  
  168. }}while(opcion!=3);
  169.  
  170. }
  171.  
  172.  
  173.