| 
	
		|  Autor | Tema: [RESUELTO]¿Porque no se muestran los datos? (clases)  (Leído 3,951 veces) |  
	| 
			| 
					
						| trioper 
								
								 Desconectado 
								Mensajes: 7
								
								 
								who
								
								
								
								
								
								   | 
 
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.. #include <iostream>#include <stdlib.h>//by trioperusing namespace std; string usr;int menu;int input; void titulo(); class datos {  private:    int saldo;  public:    datos() {      cout<<" Usuario:";      getline(cin,usr);      cout<<"\n Usuario creado..."<<endl;    }    void meter(int a) {      saldo = a;    }    int mostrar() {      return saldo;    }}; int main(){  titulo();  datos objeto;  titulo();  cout<<" Saldo: ";  objeto.mostrar();  cout<<"\n\n 1) Meter"<<endl;  cout<<" 2) Salir"<<endl;  cout<<" Opcion: ";  cin>>menu;  titulo();  if(menu == 1)  {    cout<<endl<<" Cantidad a meter: ";    cin>>input;    objeto.meter(input);    main();  }  else if(menu == 2)  {    system("clear");    exit(0);  }  else  {    main();  }} void titulo(){  system("clear");  cout<<" -Saldo usuario-"<<endl<<endl;} 
 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 | 
 
linea 35 objeto.mostrar();
 int mostrar() {      return saldo;}
 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 
								Mensajes: 7
								
								 
								who
								
								
								
								
								
								   | 
 
           gracias david tennant XD, al final quedo asiint main(){  titulo();  datos objeto;  objeto.mostrar(); //pongo el objeto en main  titulo();  cout<<" Saldo: "<<objeto.mostrar()<<endl; //y lo muestro con cout
 |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| engel lex | 
 
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 
								Mensajes: 477
								
								   | 
 
Buenas una pregunta, en el último código que has pasado (trioper) la línea 4 que dice: 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 | 
 
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.
 |  |  |  |  |  
 
	
 
 
				
					
						| Mensajes similares |  
						|  | Asunto | Iniciado por | Respuestas | Vistas | Último mensaje |  
						|   |   | [RESUELTO ]Problema invisible en Clases :( PHP
 | mokoMonster | 0 | 2,286 |  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,626 |  8 Enero 2014, 04:42 am por llFabianfll
 |  
						|   |   | ¿COBOL está muerto? Los datos muestran lo contrario Noticias
 | wolfbcn | 2 | 3,245 |  26 Marzo 2013, 21:16 pm por arts
 |  
						|   |   | [Resuelto] Ayuda con separar clases relacionadas PHP
 | Alex_bro | 2 | 2,141 |  4 Abril 2015, 00:45 am por Alex_bro
 |  
						|   |   | Nuevos datos muestran por qué Airbnb recurrirá las multas impuestas por Ada ... Noticias
 | wolfbcn | 0 | 2,090 |  21 Septiembre 2016, 21:28 pm por wolfbcn
 |    |