Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - Gared

Páginas: [1]
1
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.

Código: [Seleccionar]
#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);



        }

2
Hola a todos, aqui con una pequeña duda de principiante... espero puedan echarme una mano.

Mi problema es que utilizo la funcion "IF" 2 veces en este pequeño ejercicio y solo se ejecuta correctamente la primera (la primera que aparece escrita en el codigo) y la segunda en este caso la del "area del triangulo" me pone en pantalla texto que no deberia aparecer, me antepone las instrucciones que se deberian realizar con el "IF" del "area del cuadrado" antes de ejecutarse correctamente.

Les agradeceria mucho si me pudieran ayudar con esto y mas que decirme de lleno que le debo poner o quitar agradeceria mucho si me podrian decir el porque pasa eso, para poder entender mejor. Mi compilador es GNU GCC y trabajo en codeblocks. Gracias

 
Citar
#include <iostream>

using namespace std;

int main ()
{
    int base = 0;
    int altura = 0;
    int tipo = 0;
    int area = 0;


    cout <<"Calculo de area de figuras geometricas\n" <<endl;
    cout <<"Triangulo-1\nCuadrado-2\n" <<endl;
    cout <<"Escribe el numero del tipo de figura de la que quierres saber su area: \n" <<endl;
    cin >>tipo;


    if (tipo == 2)


        cout <<"La formula para el area del cuadrado es base*altura" <<endl;
        cout <<"LLena los parametros;" <<endl;
        cout <<"base: " <<endl;
        cin >>base;
        cout <<"Altura: " <<endl;
        cin >>altura;
        area = base*altura;
        cout <<"El area del cuadrado es: \n";
        cout <<area;


    if (tipo == 1)
        cout <<"La formula para el area del triangulo es base*altura/2"<<endl;
        cout <<"LLena los parametros;" <<endl;
        cout <<"base: " <<endl;
        cin >>base;
        cout <<"Altura: " <<endl;
        cin >>altura;
        area = base*altura/2;
        cout <<"El area del triangulo es: ";
        cout <<area;
}

Páginas: [1]

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".