Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/05/2009, 05:14
PabloBone
 
Fecha de Ingreso: mayo-2009
Mensajes: 2
Antigüedad: 15 años, 7 meses
Puntos: 0
Necesito una leve ayuda!!!!!!!

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;
}
}