Dev - C++ - Cajero

 
Vista:
Imágen de perfil de Dennis
Val: 141
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Cajero

Publicado por Dennis (63 intervenciones) el 12/01/2021 21:29:59
Hola a todos y saludos.
Hice un pequeño programa, me gustaria que me lo corrigieran si tengo algun problema, en especial si utilize correctamente el struct.
Cualquier critica constructiva se los agradezco de antemano.
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
#include <iostream>
#include <stdlib.h>
 
using namespace std;
 
    void inicio();
    void espacio();
    void pausar();
 
	struct Cajero{
		 float depositar;
		 float extraer	;
		 float cuenta	;
		 int   x		;
	}usu;
 
	int main(){
		usu.depositar = 0;
		usu.extraer	  = 0;
		usu.cuenta	  = 0;
		usu.x		  = 0;
 
		do{
		system("cls");
		inicio();
		cout<<"\n\t\t\t\t\t\t> "; cin>>usu.x;
 
		if(usu.x == 1){
			system("cls");
			inicio();
			cout<<"\n\t\t\t\t\t\t INGRESAR: ";
			cin >>usu.depositar;
			if(usu.depositar > 0){
                usu.cuenta += usu.depositar;
            }
        }else
		if(usu.x == 2){
			system("cls");
			inicio();
			cout<<"\t\t\t\t\t\tEXTRAER: ";
			cin >>usu.extraer;
			if(usu.extraer > usu.cuenta){
				cout<<"\n\t\t\t\t\tERROR, NO TIENE SUFICIENTE SALDO"<<endl;
				system("pause");
			}else{
			usu.cuenta -= usu.extraer;
			}
		}else
		if(usu.x == 3){
            system("cls");
			inicio();
			cout<<"\t\t\t\t\t\tSALDO: " << usu.cuenta << "$" <<endl;
			pausar();
		}else
		if( usu.x == 4){
			return 0;
		}
      }while(true);
	}
 
 
	void inicio(){
		cout<<"\n\n\n\t\t\t\t\t\t*********************"<<endl;
		cout<<"\t\t\t\t\t\t* 1-DEPOSITAR. 	    *"<<endl;
		cout<<"\t\t\t\t\t\t*              	    *"<<endl;
		cout<<"\t\t\t\t\t\t* 2-EXTRAER.        *"<<endl;
		cout<<"\t\t\t\t\t\t*	            *"<<endl;
		cout<<"\t\t\t\t\t\t* 3-SALDO.          *"<<endl;
		cout<<"\t\t\t\t\t\t*	            *"<<endl;
		cout<<"\t\t\t\t\t\t* 4-SALIR.	    *"<<endl;
		cout<<"\t\t\t\t\t\t*********************"<<endl;
	}
 
	void espacio(){
		cout<<"\n\t\t\t\t\t\t"<<endl;
	}
 
	void pausar(){
		system("pause");
	}
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
Imágen de perfil de Rodrigo
Val: 1.755
Plata
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Cajero

Publicado por Rodrigo (539 intervenciones) el 13/01/2021 09:27:51
El campo x no parece tener sentido al interior de esa struct.
Usar constantes en vez de numeros hace tu programa mas facil de entender.
Usa un switch en vez de una secuencia de if() con la misma variable comparada con varios valores.

Renombra "usu" por un nombre que represente lo que esa variable tiene. La clase Cajero tambien parece no tener un buen nombre.

Usa funciones (o metodos al interior de la struct) para manejar el dinero, en vez de tenerlo en el main.
Con eso puedes eliminar 2 de los campos (depositar y extraer). Solo tiene sentido el saldo final al interior de la struct.
Puedes hacer un metodo que reciba el dinero y lo sume al saldo y cuando se trata de extraer le pasas el valor a extraer multiplicado por -1.
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