muy wenas!! mi programa debe dar de alta a los medicos y debe mostrar la lista completa de estos por pantalla. Creo que la parte de dar de alta al nuevo medico y que me guarde los datos en memoria y se convierta en el primer elemento de la lista esta hecha, pero nose porque no me muestra los datos. Por favor que alguien le exe un vistazo y me diga donde esta el fallo. Muchas Gracias. este es mi codigo:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int variable;
int variable2;
int variable3;//alta baja pacente
int variable4;//alta baja medico
typedef struct{
char NumHistoria[10];
char nombre[50];
char diagnostico[200];
}TPaciente;
typedef struct{
char codcolegiado[10];
char nombre[50];
}TMedico;
typedef struct nodoPaciente{
TPaciente infoPaci;
struct nodoPaciente *sigPaciente;
}TNodoPaciente;
typedef struct nodoMedico{
TMedico infoMedico;
TNodoPaciente *listaPaci;
struct nodoMedico *sigMedico;
}TNodoMedico;
void actualizar_datos(){
printf ("Actualizar datos\n");
system("pause");
}
TMedico medico;
TNodoMedico *nuevomedico, *indice;
TNodoMedico *primerdato;
void alta_baja(){
TPaciente paciente;
printf("1. Para Alta/baja Paciente\n");
printf("2. Para Alta/baja Medico\n");
scanf("%d",&variable2);
if(variable2==1){
getchar();
printf("Pulsa 1 para Alta Paciente\n");
printf("Pulsa 0 para Baja Paciente\n");
scanf("%d",&variable3);
}
if (variable3==1){
printf("Numero de historia\n");
scanf("%d",&paciente.NumHistoria);
printf("Nombre\n");
scanf ("%s",paciente.nombre);
printf("Diagnostico\n");
scanf("%s",paciente.diagnostico);
printf("Numero de colegiado");
scanf("%d",&medico.codcolegiado);
}
if (variable2==2){
printf("Pulsa 1 para Alta Medico\n");
printf("Pulsa 0 para Baja Medico\n");
}
scanf("%d",&variable4);
if (variable4==1){
printf("Numero de colegiado\n");
scanf("%d",&medico.codcolegiado);
printf("Nombre\n");
scanf("%s",&medico.nombre);
nuevomedico=(TNodoMedico*)malloc(sizeof(TNodoMedic o)*1);
nuevomedico->sigMedico=primerdato;
nuevomedico=primerdato;
}
}
void mostrar_datos(){
indice=nuevomedico;
if (indice!=NULL){
printf("Los Medicos son: %d\n",indice);
indice=indice->sigMedico;
} else {
printf("Sin Medicos en Lista\n");
}
}
int main(){
printf("Pulsa 1 para actualizar datos\n");
printf("Pulsa 2 para Altas/Bajas\n");
printf("Pulsa 3 para mostrar datos\n");
scanf("%d",&variable);
gets;
switch (variable){
case 1:
actualizar_datos();
break;
case 2:
alta_baja();
break;
case 3:
mostrar_datos();
break;
}
}