Problem with case calling a function

i'm having an error with a switch

error: jump to case label
error: crosses initialization of 'medico datos'

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
#include <iostream>

using namespace std;

class medico
{
    public: string nombre, apellido, domicilio;
            char codigo [20], cedulaProfesional[20];
            int telefono;

        void capturar();
        void mostrar ();
};
void medico::capturar()
{
    cout <<"\nIntroduzca el nombre del medico: " <<endl;
    getline(cin, nombre);
    cout <<"\nIntroduzca el apellido: " <<endl;
    getline(cin, apellido);
    cout <<"\nIntroduzca su domicilio: " <<endl;
    getline(cin, domicilio);
    cout <<"\nIntroduzca codigo de medico: " <<endl;
    cin >>codigo;
    cout <<"\nIntroduzca numero de cedula profesional: " <<endl;
    cin >>cedulaProfesional;
    cout <<"\nIntroduzca telefono: " <<endl;
    cin >>telefono;
};
void medico::mostrar()
{
    cout <<"Nombre: " <<nombre<<endl;
    cout <<"\nApellido: " <<apellido<<endl;
    cout <<"\nCodigo: " <<codigo<<endl;
    cout <<"\nCedula Profesional: " <<cedulaProfesional<<endl;
    cout <<"\nDomicilio: " <<domicilio<<endl;
    cout <<"\nTelefono: " <<telefono<<endl;
};
int a=0;
int opc;

int main()
{
    do{
    cout <<"                                           Menu Principal\n\n" <<endl;
    cout <<"Introduzca la accion a realizar\n" <<endl;
    cout <<"1.- Capturar" <<endl;
    cout <<"2.- Mostrar" <<endl;
    cout <<"3.- Buscar" <<endl;
    cout <<"4.- Salir" <<endl;
    cin >>a;


    switch(a)
    {
    case 1: medico datos; // i can't call this function.
            datos.capturar();
            cout <<"Desea volver al menu?" <<endl;
            cout <<"1.- SI" <<endl;
            cout <<"2.- NO" <<endl;
            cin >>opc;
    break;

    case 2:
            cout <<"Aun no hay datos en el registro presione que accion desea realizar" <<endl;
            cout <<"1.- regresar al menu" <<endl;
            cout <<"2.- Salir" <<endl;
            cin >>opc;
    break;

    case 3: cout <<"Buscando...." <<endl;
    break;

    case 4: cout <<"Saliendo...." <<endl;
    break;

    default: cout <<"Opcion invalida, presione que accion desea realizar" <<endl;
            cout <<"1.- regresar al menu" <<endl;
            cout <<"2.- Salir" <<endl;
            cin >>opc;
    }
    }while(opc==1);
    if(opc==2)
    cout <<"Saliendo...." <<endl;

    cin.get();
    return 0;
}
Last edited on
try braces
1
2
3
4
5
6
7
8
9
10
    case 1:
    {
            medico datos; // i can't call this function.
            datos.capturar();
            cout <<"Desea volver al menu?" <<endl;
            cout <<"1.- SI" <<endl;
            cout <<"2.- NO" <<endl;
            cin >>opc;
    }
    break;
Topic archived. No new replies allowed.