Ver Mensaje Individual
  #3 (permalink)  
Antiguo 29/07/2007, 11:00
athena_rivas
 
Fecha de Ingreso: abril-2007
Mensajes: 16
Antigüedad: 17 años, 1 mes
Puntos: 1
Re: Listas, Nesesito Ayuda Con Este Codigo

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:

#include<conio.h> 
#include<stdio.h> 
#include<iostream.h> 
#include<string.h> 

struct hospital 

{ 

char nombre_medico[30]; 
char especialidad[30]; 
int clave_sala; 
int fecha; 
int hora; 
hospital *sig; 
char nombre_paciente[30]; 

}; 

hospital *list=NULL; 
hospital *ptrant; 
hospital *ptrnuevo; 

void agregar_datos(char *ptrvalor, char *ptrval, int *ptrsala, int *ptrfecha, int *ptrhora,  char *ptrnombre_paciente) 

{ 

hospital *ptrnuevo=new hospital; 

strcpy(ptrnuevo->nombre_medico,ptrvalor); 
strcpy(ptrnuevo->especialidad,ptrval); 
ptrnuevo->clave_sala=*ptrsala; 
ptrnuevo->fecha=*ptrfecha; 
ptrnuevo->hora=*ptrhora; 
strcpy(ptrnuevo->nombre_paciente,ptrnombre_paciente); 

ptrnuevo->sig=NULL; 

if(list==NULL) 
list=ptrnuevo; 

else 

if(strcmp (ptrvalor,list->nombre_medico)<=0) 

{ 

ptrnuevo->sig=list; 
list=ptrnuevo; 

} 

else 

{ 

hospital *ptraux=list; 

while(strcmp (ptraux->nombre_medico,ptrvalor)<0) 

{ 

ptrant=ptraux; 
ptraux=ptraux->sig; 

if(ptraux==NULL) 

break; 

} 

ptrant->sig=ptrnuevo; 
ptrnuevo->sig=ptraux; 

} 
} 


void mostrar_datos() 

{ 

hospital *ptraux=ptrnuevo; 

if(ptraux==NULL) 
cout<<"\nNo hay elementos\n"; 

else 

while(ptraux!=NULL) 

{ 

cout<<ptraux->nombre_medico; 
cout<<ptraux->especialidad; 
cout<<ptraux->clave_sala; 
cout<<ptraux->fecha; 
cout<<ptraux->hora; 
cout<<ptraux->nombre_paciente; 
ptraux=ptraux->sig; 

} 

} 

void main () 

{ 

clrscr(); 

char nombre_medico[30],especialidad[30],nombre_paciente[30]; 
int opcion,clave_sala,fecha,hora; 

do 

{ 
cout<<"\nMENU\n"; 
cout<<"1.-AGREGAR DATOS DE LA CIRUGIA\n"; 
cout<<"2.-MOSTRAR DATOS DE LA CIRUGIA\n"; 
cout<<"3.-SALIR DEL PROGRAMA\n"; 
cout<<"4.-QUE OPCIÒN DESEAS??\n"; 
cin>>opcion; 

switch (opcion) 

{ 

case 1: 

cout<<"\nIntroduce el nombre del medico:"; 
scanf("%s",&nombre_medico); 
cout<<endl; 
cout<<"\nIntroduce la especialidad:"; 
cscanf("%s",&especialidad); 
cout<<endl; 
cout<<"\nIntroduce la clave de la sala:"; 
cin>>clave_sala; 
cout<<endl; 
cout<<"\nIntroduce la fecha:"; 
cin>>fecha; 
cout<<endl; 
cout<<"\nIntroduce la hora:"; 
cin>>hora; 
cout<<"\nIntroduce el nombre del paciente:"; 
scanf("%s",&nombre_paciente); 

agregar_datos(&nombre_medico[30],&especialidad[30],&clave_sala, &fecha,&hora,&nombre_paciente[30]); 

break; 

case 2: 

mostrar_datos(); 

break; 

case 3: 

cout<<"Salir del programa!\n"; 
cout<<"Presione una tecla para salir!\n"; 

break; 

}}while(opcion!=3); 

}