Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Necesito una leve ayuda!!!!!!!

Estas en el tema de Necesito una leve ayuda!!!!!!! en el foro de C/C++ en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 24/05/2009, 05:14
 
Fecha de Ingreso: mayo-2009
Mensajes: 2
Antigüedad: 15 años
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;
}
}
  #2 (permalink)  
Antiguo 24/05/2009, 15:30
Avatar de hades87  
Fecha de Ingreso: diciembre-2007
Ubicación: Barcelona - España
Mensajes: 3.194
Antigüedad: 16 años, 4 meses
Puntos: 68
Respuesta: Necesito una leve ayuda!!!!!!!

Al compilarlo me saltan 3 errores:

c:\documents and settings\hades\escritorio\fdw\fdw.c(81) : error C2065: 'TNodoMedic' : undeclared identifier
c:\documents and settings\hades\escritorio\fdw\fdw.c(81) : error C2146: syntax error : missing ')' before identifier 'o'
c:\documents and settings\hades\escritorio\fdw\fdw.c(110) : warning C4550: expression evaluates to a function which is missing an argument list

Así que algo en los TAD no esta bien definido y al gets le falta el (), creo
__________________
No diseñes usando tablas.
  #3 (permalink)  
Antiguo 25/05/2009, 05:25
 
Fecha de Ingreso: mayo-2009
Mensajes: 2
Antigüedad: 15 años
Puntos: 0
Respuesta: Necesito una leve ayuda!!!!!!!

Cita:
Iniciado por hades87 Ver Mensaje
Al compilarlo me saltan 3 errores:

c:\documents and settings\hades\escritorio\fdw\fdw.c(81) : error C2065: 'TNodoMedic' : undeclared identifier
c:\documents and settings\hades\escritorio\fdw\fdw.c(81) : error C2146: syntax error : missing ')' before identifier 'o'
c:\documents and settings\hades\escritorio\fdw\fdw.c(110) : warning C4550: expression evaluates to a function which is missing an argument list

Así que algo en los TAD no esta bien definido y al gets le falta el (), creo

Uff, esos errores no me salen a mi, nose si podra ser por el programa que uses, este codigo esta hecho en Dev c++. A mi me compila y al ejecutarlo funciona bien pero lo que pasa es que no consigo mostrar los datos de mi lista de medicos. gracias de todos modos hades.
  #4 (permalink)  
Antiguo 25/05/2009, 05:42
Avatar de hades87  
Fecha de Ingreso: diciembre-2007
Ubicación: Barcelona - España
Mensajes: 3.194
Antigüedad: 16 años, 4 meses
Puntos: 68
Respuesta: Necesito una leve ayuda!!!!!!!

han mirado de coger los datos correctamente? que trozo de código se encarga de mostrar los datos? todas las estructuras de datos están bien definidas? usas el mismo tipo de cada variable para mostrarlo en pantalla? te has fijado que los datos se guarden bien?
__________________
No diseñes usando tablas.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:49.