Dev - C++ - Problemas al hacer un programa con el uso de Struct

 
Vista:
Imágen de perfil de Seyling
Val: 20
Ha disminuido su posición en 7 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

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:


HOSPITAL


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
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 al hacer un programa con el uso de Struct

Publicado por Rodrigo (539 intervenciones) el 11/10/2020 22:27:07
Al menos te falta la funcion mostrar (invocada en la linea 45) y la funcion mostrar_asignado usada 2 veces en el case 3:

Resuelve esto primero.
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