Problemas al hacer un programa con el uso de Struct
Publicado por Seyling (7 intervenciones) el 11/10/2020 19:20:22
Estoy complicándome con este programa, me pide hacer lo siguiente:

Y esto es lo que llevo:
Tengo muchos errores, y no tengo mucha experiencia con la función *struct*
Y esto es lo que llevo:
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
#include <iostream>
#include <string>
#include <vector>
using namespace std;
struct Hospital
{
int num_expediente;
string nombre;
string apellido;
string enfermedad;
string medico;
float fecha_ingreso;
};
void menu();
void ingreso_paciente(vector<Hospital> &v);
int buscar_paciente(vector<Hospital> v, int num);
void mostrar_asignado(vector<Hospital> v, int i);
void de_baja(vector<Hospital> &v, int num);
int main()
{
int num, id;
char opcion;
vector<Hospital> pacientes;
do {
menu();
cin >> opcion;
switch(opcion)
{
case '1':
ingreso_paciente(pacientes);
break;
case '2':
cout << "\nIngrese el numero de expediente del paciente a buscar: "; cin >> num;
id = buscar_paciente(pacientes, num);
if (id != -1)
mostrar(pacientes, id);
else
cout << "\n\nEl paciente NO ha sido encontrado" << endl;
break;
case '3':
cout << "\nIngrese el numero de expediente: "; cin >> num;
id = mostrar_asignado(pacientes, num);
if (id != -1)
mostrar_asignado(pacientes, id);
else
cout << "\n\nEl paciente NO ha sido encontrado" << endl;
break;
case '4':
printf("\nIngrese el numero de expediente del paciente a dar de baja: ");
scanf("%i",&num);
de_baja(pacientes, num);
if(id != -1)
printf("\nEl paciente ha sido dado de baja");
else
printf("\nIngrese un paciente: ");
break;
case '5':
cout << "\n\nFIN DEL PROGRAMA" << endl;
break;
default:
cout << "\n\nOPCION NO VALIDA" << endl;
break;
}
} while (opcion != '5');
return 0;
}
void menu()
{
cout << "\n M E N U"
<< "\n=========================="
<< "\n1.- Ingresar Paciente"
<< "\n2.- Realizar busqueda de un paciente"
<< "\n3.- Visualisar que pacientes tiene asiganado cada medico"
<< "\n4.- Dar de baja"
<< "\n5.- Salir"
<< "\n=========================="
<< "\n\nPor favor elija una opcion (1-5): ";
}
void ingreso_paciente(vector<Hospital> &v)
{
Paciente p;
cout << "\nN U E V O P A C I E N T E\n";
cin.ignore(80, '\n');
cout << "\nNumero de expediente: "; cin >> p.expediente;
cin.ignore(80, '\n');
cout << "\nNombre: "; getline(cin, p.nombre);
cout << "\nApellido: "; getline(cin, p.apellido);
cout << "\nEnfermedad: "; getline(cin, p.enfermedad);
cout << "\nMedico: "; getline(cin, p.medico);
cout << "\nFecha de ingreso: "; cin >> p.ingreso;
v.push_back(p);
}
void buscar_paciente(vector<Hospital> &v, int i)
{
int pos = 0;
while (pos < v.size() && v[pos].expediente != num)
pos++;
if (pos >= v.size())
pos = -1;
return pos;
}
Tengo muchos errores, y no tengo mucha experiencia con la función *struct*
Valora esta pregunta


0