Dev - C++ - Ayuda con posible reset de variables

   
Vista:

Ayuda con posible reset de variables

Publicado por Gared (1 intervención) el 17/04/2016 01:56:50
Hola, disculparan las molestias pero tengo una duda que probablemente para los expertos les parezca simple pero yo no dejo de darle vueltas... la cuestión es que en el código que les dejare por aquí que consiste en crear un usuario con sus respectivos datos para posteriormente esos datos poder consultarlos, modificarlos y eliminarlos me pareció sencillo en un comienzo jeje... pero me atoré en la función de "consulta" ya que no me permite ver la información que supuestamente ya esta almacenada en las variables del objeto "registro" lo extraño es que si pongo las funciones miembro para imprimir los datos dentro de la función "reg_pro" si me las imprime en pantalla pero si las funciones miembro las coloco dentro de la función de para consultar no funciona.

Los datos solo deben permanecer en el tiempo de la ejecución aun no veo bases de datos o ficheros... leí que las variables de una función se reinician al terminar la funcion pero no estoy seguro de si una clase o mas bien el objeto que contiene dicha clase cuente como una "función" intente usar variables static pero no logré nada jeje espero me puedan echar un cable con esto.

De antemano gracias.

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
#include <iostream>
#include <string>
using namespace std;
 
class propietario
{
  private:
            string nombre, domicilio, curp;
            int propiedades, telefono, edad;
 
  public:
 
void captura_nombre(string x){
    nombre=x;}
 
string imprimir_nombre(){
return nombre;}
 
void captura_edad(int x){
edad=x;}
 
int imprimir_edad(){
return(edad);}
 
void captura_telefono(int x){
telefono=x;}
 
int imprimir_telefono(){
return(telefono);}
 
void captura_propiedades(int x){
propiedades=x;}
 
int imprimir_propiedades(){
return(propiedades);}
 
void captura_domicilio(string x){
domicilio=x;}
 
string imprimir_domicilio(){
return(domicilio);}
 
void captura_curp(string x){
curp=x;}
 
string imprimir_curp(){
    return(curp);}
};
 
void reg_pro(propietario registro){
 
    string nom, domi, curp;
    int edad, propi, tel;
 
    cout<<"Ingrese el nombre: ";
    cin>> nom;
    cout<<"Ingrese edad: ";
    cin>> edad;
    cout<<"Ingrese domicilio: ";
    cin>> domi;
    cout<<"Ingrese telefono: ";
    cin>> tel;
    cout<<"Ingrese curp: ";
    cin>> curp;
    cout<<"Ingrese numero de propiedades: ";
    cin>>propi;
 
    registro.captura_nombre(nom);
    registro.captura_edad(edad);
    registro.captura_domicilio(domi);
    registro.captura_telefono(tel);
    registro.captura_curp(curp);
    registro.captura_propiedades(propi);
 
 
}
 
void con_pro(propietario registro){
int x;
cout<<"Seleccione el campo que desea consultar:" <<endl;
cout<<"1.-Nombre\n2.-Edad\n3.-Domicilio\n4.-Telefono\n5.-Curp\n6.-Propiedades\n";
cin>> x;
switch (x){
case 1:
    cout<<"Nombre: ";
    cout<<registro.imprimir_nombre();
    break;
case 2:
    cout<<"Edad: "<<registro.imprimir_edad();
    break;
case 3:
    cout<<"Domicilio: "<<registro.imprimir_domicilio();
    break;
case 4:
    cout<<"Telefono: "<<registro.imprimir_domicilio();
    break;
case 5:
    cout<<"Curp: "<<registro.imprimir_curp();
    break;
case 6:
    cout<<"Propiedades: "<<registro.imprimir_propiedades();
    break;
default:
    break;
}
 
}
 
int main()
    {
    propietario registro;
    int x;
 
        cout << "Usted desea acceder a:\n";
        cout << "1-Propietario\n2-Difunto\n3-Propiedades\n4-Salir\n";
        cin >> x;
    switch(x){
 
        case 1:
 
            reg_pro(registro);
            con_pro(registro);
 
 
 
        }
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

Ayuda con posible reset de variables

Publicado por Thanatos (72 intervenciones) el 18/04/2016 12:24:58
Podrías pasar por referencia los parámetros de las funciones:

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
#include <iostream>
#include <string>
 
using namespace std;
 
class Propietario {
    private:
        string nombre, domicilio, curp;
        int propiedades, telefono, edad;
    public:
        Propietario();
        Propietario(string, int, string, int, string, int);
 
        string getNombre() const;
        string getDomicilio() const;
        string getCurp() const;
        int getEdad() const;
        int getTelefono() const;
        int getPropiedades() const;
};
 
// constructores
Propietario::Propietario() : Propietario("", 0, "", 0, "", 0) { }
Propietario::Propietario(string n, int e, string d, int t, string c, int p) {
    nombre = n;
    edad = e;
    domicilio = d;
    telefono = t;
    curp = c;
    propiedades = p;
}
 
// getters
string Propietario::getNombre() const {
    return nombre;
}
string Propietario::getDomicilio() const {
    return domicilio;
}
string Propietario::getCurp() const {
    return curp;
}
int Propietario::getEdad() const {
    return edad;
}
int Propietario::getTelefono() const {
    return telefono;
}
int Propietario::getPropiedades() const {
    return propiedades;
}
 
// funciones
void reg_pro(Propietario &registro) {
    string nombre, domicilio, curp;
    int edad, propiedades, telefono;
 
    (void)cin.get();
    cout << "\nIngrese el nombre: ";
    (void)getline(cin, nombre);
    cout << "Ingrese edad: ";
    cin >> edad;
    (void)cin.get();
    cout << "Ingrese domicilio: ";
    (void)getline(cin, domicilio);
    cout << "Ingrese telefono: ";
    cin >> telefono;
    cout << "Ingrese curp: ";
    cin >> curp;
    cout << "Ingrese numero de propiedades: ";
    cin >> propiedades;
 
    registro = Propietario(nombre, edad, domicilio, telefono, curp, propiedades);
}
 
void con_pro(const Propietario &registro) {
    int x;
 
    cout << "\nSeleccione el campo que desea consultar:" << endl;
    cout << " 1. Nombre\n 2. Edad\n 3. Domicilio\n 4. Telefono\n"
         << " 5. Curp\n 6. Propiedades\nopcion = ";
    cin >> x;
    cout << endl;
 
    switch (x) {
        case 1:
            cout << "Nombre: " << registro.getNombre();
            break;
        case 2:
            cout << "Edad: " << registro.getEdad();
            break;
        case 3:
            cout << "Domicilio: " << registro.getDomicilio();
            break;
        case 4:
            cout << "Telefono: " << registro.getTelefono();
            break;
        case 5:
            cout << "Curp: " << registro.getCurp();
            break;
        case 6:
            cout << "Propiedades: " << registro.getPropiedades();
            break;
        default:
            break;
    }
    cout << endl;
}
 
int main() {
    Propietario registro;
    int x;
 
    cout << "Usted desea acceder a:\n";
    cout << " 1. Propietario\n 2. Difunto\n 3. Propiedades\n 4. Salir\nopcion = ";
    cin >> x;
    switch (x) {
        case 1:
            reg_pro(registro);
            con_pro(registro);
            break;
        default:
            break;
    }
    return 0;
}
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