elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  [RESUELTO]¿Porque no se muestran los datos? (clases)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [RESUELTO]¿Porque no se muestran los datos? (clases)  (Leído 3,272 veces)
trioper

Desconectado Desconectado

Mensajes: 7


who


Ver Perfil
[RESUELTO]¿Porque no se muestran los datos? (clases)
« en: 6 Mayo 2017, 20:12 pm »

Hola a todos, mi problema es que no se muestran los datos en este programa (es el saldo, linea 14 y linea 35) y no se como resolverlo, ya había echo uno antes sin constructor y si que me lo mostraba. Estoy aprendiendo c++. voy por los constructores de las clases y para reforzar lo que aprendo suelo ponerlo en practica pero en este caso nose..
Código
  1. #include <iostream>
  2. #include <stdlib.h>
  3. //by trioper
  4. using namespace std;
  5.  
  6. string usr;
  7. int menu;
  8. int input;
  9.  
  10. void titulo();
  11.  
  12. class datos {
  13.  private:
  14.    int saldo;
  15.  public:
  16.    datos() {
  17.      cout<<" Usuario:";
  18.      getline(cin,usr);
  19.      cout<<"\n Usuario creado..."<<endl;
  20.    }
  21.    void meter(int a) {
  22.      saldo = a;
  23.    }
  24.    int mostrar() {
  25.      return saldo;
  26.    }
  27. };
  28.  
  29. int main()
  30. {
  31.  titulo();
  32.  datos objeto;
  33.  titulo();
  34.  cout<<" Saldo: ";
  35.  objeto.mostrar();
  36.  cout<<"\n\n 1) Meter"<<endl;
  37.  cout<<" 2) Salir"<<endl;
  38.  cout<<" Opcion: ";
  39.  cin>>menu;
  40.  titulo();
  41.  if(menu == 1)
  42.  {
  43.    cout<<endl<<" Cantidad a meter: ";
  44.    cin>>input;
  45.    objeto.meter(input);
  46.    main();
  47.  }
  48.  else if(menu == 2)
  49.  {
  50.    system("clear");
  51.    exit(0);
  52.  }
  53.  else
  54.  {
  55.    main();
  56.  }
  57. }
  58.  
  59. void titulo()
  60. {
  61.  system("clear");
  62.  cout<<" -Saldo usuario-"<<endl<<endl;
  63. }
  64.  

Si quereis compilar en windows, cambiad los "clear" por "cls"


« Última modificación: 6 Mayo 2017, 20:30 pm por trioper » En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: ¿Porque no se muestran los datos? (clases)
« Respuesta #1 en: 6 Mayo 2017, 20:19 pm »

linea 35
Código
  1. objeto.mostrar();

Código
  1. int mostrar() {
  2.      return saldo;
  3. }

retornaste el saldo, ok... pero no haces nada con el... tendrías que guardarlo en una variable, haerle cout, hacer una cuenta matemática, algo...


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
trioper

Desconectado Desconectado

Mensajes: 7


who


Ver Perfil
Re: ¿Porque no se muestran los datos? (clases)
« Respuesta #2 en: 6 Mayo 2017, 20:48 pm »


           gracias david tennant XD, al final quedo asi
Código
  1. int main()
  2. {
  3.  titulo();
  4.  datos objeto;
  5.  objeto.mostrar(); //pongo el objeto en main
  6.  titulo();
  7.  cout<<" Saldo: "<<objeto.mostrar()<<endl; //y lo muestro con cout
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: [RESUELTO]¿Porque no se muestran los datos? (clases)
« Respuesta #3 en: 6 Mayo 2017, 21:22 pm »

ningún david! XD 10th doctor! XD

en el ultimo codigo, la linea 5 no es necesaria, no hace nada, realmente el objeto se crea en la 4 y se invoca mostrar en la 6
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
RevolucionVegana


Desconectado Desconectado

Mensajes: 477



Ver Perfil
Re: [RESUELTO]¿Porque no se muestran los datos? (clases)
« Respuesta #4 en: 7 Mayo 2017, 00:35 am »

Buenas una pregunta, en el último código que has pasado (trioper) la línea 4 que dice:
Código
  1. datos objeto;
que hace exactamente? Está creando una instancia llamada "objeto" de la clase datos? Gracias un saludo!
En línea

HAS DICHO ALGO NENAAAAAA?!
engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: [RESUELTO]¿Porque no se muestran los datos? (clases)
« Respuesta #5 en: 7 Mayo 2017, 00:46 am »

si, está creando un objeto de tipo datos

por cierto, viendo el codigo en detalle...

main al ser int debe retornar, usualmente 0

haces el loop llamando a main, eso te puede hacer que el codigo falle al no saber cuantas recursiones caiga...

en 51 haces exit(0), sin embargo con return 0 basta y sería más apropiado

declaras variables globales innecesarias

usas stdlib.h que es una librería de C, la propiada sería cstdlib
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[RESUELTO ]Problema invisible en Clases :(
PHP
mokoMonster 0 1,912 Último mensaje 20 Enero 2012, 15:14 pm
por mokoMonster
[Resuelto] Obtener datos de hardware usando clases WMI
.NET (C#, VB.NET, ASP)
Crazy.sx 7 9,111 Último mensaje 8 Enero 2014, 04:42 am
por llFabianfll
¿COBOL está muerto? Los datos muestran lo contrario
Noticias
wolfbcn 2 2,590 Último mensaje 26 Marzo 2013, 21:16 pm
por arts
[Resuelto] Ayuda con separar clases relacionadas
PHP
Alex_bro 2 1,909 Último mensaje 4 Abril 2015, 00:45 am
por Alex_bro
Nuevos datos muestran por qué Airbnb recurrirá las multas impuestas por Ada ...
Noticias
wolfbcn 0 1,643 Último mensaje 21 Septiembre 2016, 21:28 pm
por wolfbcn
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines