Dev - C++ - Problemas con un arreglo de estruccturas y switch

 
Vista:
sin imagen de perfil

Problemas con un arreglo de estruccturas y switch

Publicado por JU (2 intervenciones) el 07/02/2020 05:19:21
Hola, soy nuevo en programacion, por lo que es muy probable que lo que van a ver a continuacion no este bien redactado, confunda muchos terminos y el codigo tenga terribles errores.
Estoy tratando de hacer un menu de opciones, en la primera opcion se suppone que debo comenzar a registrar a las personas haciendo uso de RegistroDeDatos, pero cuando compilo solamente llego hasta la edad, luego de eso deja de leer las linas de codigo y se cierra el programa. Cuando compilo sin el switch y simplemente en el int main llamo a RegistroDeDatos si funciona y lo guarda todo. La verdad es que no tengo nocion alguna de por donde va el problema, si pudieran ayudarme se los agradeceria bastante.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#include<stdio.h>
#include<stdlib.h>
#include<conio.h>
 
struct datos_paciente{   //estructura general
	char nombres[30];
	char apellidos[30];
	char cedula[10];
	int edad;
	char sintomas[100];
	char enfermedad [50];
};
 
void Menu_Presentacion()  //muestra las opciones del menu
{
	printf("Bienbenido al sistema del Centro de salud\n\n\n");
	printf("Menu principal\n\n");
	printf("1. Registrar un nuevo paciente\n");
	printf("2. Acceder a la base de datos de pacientes\n");
	printf("3. Acceder a un paciente especifico\n");
	printf("4. cerrar\n\n");
	printf("sleccione la opcion: ");
}
 
void RegistroDeDatos()
{
	struct datos_paciente Pacientes[3], *p_pacientes;
	p_pacientes=Pacientes;
	int i;
	for(i=0;i<3;i++)
	{
		printf("Nombre: ");
		scanf("%s",&p_pacientes->nombres);
		fflush(stdin);
		printf("Apellido: ");
		scanf("%s",&p_pacientes->apellidos);
		printf("cedula: ");
		fflush(stdin);
		scanf("%s",&p_pacientes->cedula);
		printf("Edad: ");
		fflush(stdin);
		scanf("%d",p_pacientes->edad);
		fflush(stdin);
		printf("Describa los sintomas: \n");
		scanf("%s",&p_pacientes->sintomas);
		fflush(stdin);
		printf("Enfermedad: ");
		scanf("%s",&p_pacientes->enfermedad);
		fflush(stdin);
 
		p_pacientes++;
		printf("\n\n");
	}
}
 
int main()
{
	int Menu_principal;
 
	//menu principal
	while(1)
	{
		Menu_Presentacion();
		scanf("%d",&Menu_principal);
		system("cls");
 
		switch(Menu_principal)
		{
			case 1: RegistroDeDatos();
					break;
 
			case 2: printf("base de dat");
					break;
 
			case 3: printf("Usuario especifico");
					break;
 
			case 4: exit(0);
		}
 
		printf("\n\npara volver al menu principal presione una tecla");
		getch();
		system("cls");
	}
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Rodrigo
Val: 1.755
Plata
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Problemas con un arreglo de estruccturas y switch

Publicado por Rodrigo (539 intervenciones) el 07/02/2020 06:46:21
Te falta un & al leer la edad. Hazlo asi:

1
scanf("%d",&p_pacientes->edad);

no asi

1
scanf("%d",p_pacientes->edad);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Problemas con un arreglo de estruccturas y switch

Publicado por JU (2 intervenciones) el 08/02/2020 00:24:40
Oh vaya, no puedo creer que haya sido eso jajaja, supongo que debo tener mas paciencia y leer mas detenidamente el codigo. muchisimas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar