Dev - C++ - Cajero automático

 
Vista:
sin imagen de perfil
Val: 158
Ha disminuido su posición en 4 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Cajero automático

Publicado por pepe (68 intervenciones) el 05/10/2020 20:02:10
Hola amigos estoy en blanco me podrian dar ideas de como realizar este programa en Dev C "Diseñar un programa que simule el control de una cuenta bancaria mediante un cajero automático utilizando funciones y estructuras. Mínimo 4 funciones. Una estructura con al menos 5 campos"
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
sin imagen de perfil
Val: 158
Ha disminuido su posición en 4 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Cajero automático

Publicado por pepe (68 intervenciones) el 05/10/2020 23:07:41
Pues en si lo basico de estructuras y funciones
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
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 automático

Publicado por Rodrigo (539 intervenciones) el 06/10/2020 00:25:22
Sugiero comenzar con lo que sabes, construir un menu de opciones, y darte cuenta mediante esto, de que es lo que requieres agregar a tus estructuras.
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
sin imagen de perfil
Val: 158
Ha disminuido su posición en 4 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Cajero automático

Publicado por pepe (68 intervenciones) el 06/10/2020 01:45:42
Ya lo estoy elaborando amigo pero tengo una pregunta, como puedo hacer para que en el menu no se me cierre al digitar una opcion por ejemplo llevo esto del menu
1
2
3
4
5
6
7
8
9
10
11
printf("1. Consultar saldo");
printf("\n2. Depositar");
printf("\n3. Retirar");
printf("\n**** REGISTRAR NUEVO CLIENTE ****");
printf("\n4. Registrarse");
printf("\n5. Datos del nuevo cliente");
printf("\n6. Salir");
 
// ALMACENAMOS SU OPCION
printf("\nDigite su opcion: ");
scanf("%i" , &opc);

Pero lo que quiero es que por ejemplo el deposito 50 pesos por ejemplo pero en vez de que se salga se repita hasta que digite salir sera con un do-while mi amigo? para poder realizar esa opcion
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
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 automático

Publicado por Rodrigo (539 intervenciones) el 06/10/2020 01:55:35
Si, hazlo con do-while.
Pero recuerda que esto es un cajero automatico.
No se si has usado uno?
No hay registro ahi.
El registro se hizo antes, en otro lado (en el banco).
En el momento del cajero solo tienes que autenticarte, y solo despues de autenticarte el menu te da opciones para sacar o poner dinero, verdad?
Eso es lo que deberias modelar.
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
sin imagen de perfil
Val: 158
Ha disminuido su posición en 4 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Cajero automático

Publicado por pepe (68 intervenciones) el 06/10/2020 02:00:27
no si lo se pero lo que pasa es que no se que poner de estructura porque tenia que poner minimo una estructura con 4 campos y pues fue lo que se me ocurrio, ahora me aparece un error solo este en todo el programa no se si me pudieras apoyar este es mi codigo ya completo
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
127
128
129
130
131
132
133
134
135
136
137
138
// PROTOTIPOS
struct usuario{
	char nombre [40];
	int edad;
	char telefono [10];
	char direccion [25];
};
void menu();
void depositar(int cantidad);
void retirar(int cantidad);
struct usuario leer_datos (void);
void mostrar_datos (struct usuario A);
 
 
// VARIABLE GLOBAL
int saldo_actual = 100;
int cantidad;
#include <stdio.h>
#include <stdlib.h>
 
int main()
{
	struct usuario w;
 	w = leer_datos ();
 	mostrar_datos(w);
	menu();
	system ("pause");
}
 
void menu()
{
	// VARIABLE PARA ALMACENAR LA OPCION
	int opc;
	do{
 
 
	printf("1. Consultar saldo");
	printf("\n2. Depositar");
	printf("\n3. Retirar");
	printf("\n**** REGISTRAR NUEVO CLIENTE ****");
	printf("\n4. Registrarse");
	printf("\n5. Datos del nuevo cliente");
	printf("\n6. Salir");
 
	// ALMACENAMOS SU OPCION
	printf("\nDigite su opcion: ");
	scanf("%i" , &opc);
 
	// CREAMOS UN SWITCH PARA REDIRECCIONAR A LAS FUNCIONES
	switch(opc)
	{
		printf("\n*** Ha seleccionado la opcion Consultar saldo... ***\n");
		case 1: printf("\nTu saldo actual es de %i " , saldo_actual);
		break;
 
		case 2:
		printf("\n*** Ha seleccionado la opcion Depositar... ***\n");
		printf("\nCuanto dinero desea depositar: ");
		scanf("%i" , &cantidad);
		depositar(cantidad); // LE ENVIAMOS EL PARAMETRO A LA FUNCION
		break;
 
		case 3:
		printf("\n*** Ha seleccionado la opcion retirar... ***\n");
		printf("\nCuanto dinero desea retirar: ");
		scanf("%i" , &cantidad);
		retirar(cantidad); // LE ENVIAMOS EL PARAMETRO A LA FUNCION
		break;
 
		case 4:
		printf("\n*** Ha seleccionado la opcion Registrarse... Bienvenido ***\n");
		leer_datos ();
		break;
 
		case 5:
		printf("\n*** Ha seleccionado la opcion Datos del nuevo cliente... ***\n");
		void mostrar_datos (struct usuario A);
		case 6:
			printf("\n*** Ha seleccionado la opcion salir... gracias por su visita gracias por su visita***\n");
			break; // CERRAMOS EL PROGRAMA
 
		default:
			printf("\nOpcion no valida");
 
	}
  }while (opc!=6);
}
 
// CREAR LAS FUNCIONES DEPOSITAR
void depositar(int cantidad)
{
 
	saldo_actual += cantidad; // ACTUALIZAMOS EL SALDO ACTUAL
	printf("\nHas depositado exitosamente %i USD, tu saldo actual es de %i USD\n" , cantidad , saldo_actual );
 
}
 
// FUNCION PARA RETIRAR
void retirar(int cantidad)
{
	// CONDICIONAL DE CHECKEO
	if (cantidad <= saldo_actual) // SI SE CUMPLE, ENTRAMOS AL CONDICIONAL
	{
 
	saldo_actual -= cantidad;
 
	printf("\nHas retirado exitosamente %i USD, tu saldo actual es de %i USD\n" , cantidad , saldo_actual );
 
	}
	else
	{
		printf("\nNo tienes suficiente dinero, tu saldo actual es de %i\n", saldo_actual);
	}
}
struct usuario leer_datos (void){
struct usuario cliente;
printf ("\n A continuacion comenzaremos su registro... \n");
    puts("Ingrese nombre: "); //Operador punto
    gets(cliente.nombre);
    puts("Ingrese su edad: ");
    fflush(stdin);
	scanf("%d",&cliente.edad);
	fflush(stdin);
    puts("\nIngrese su direccion: ");
    gets(cliente.direccion);
    puts("\nIngrese su numero telefonico: ");
    gets(cliente.telefono);
    printf ("\n REGISTRO EXITOSO \n ahora puede revisar sus datos en la opcion 5 del menu, Bienvenido...");
    return(cliente);
}
 
void mostrar_valor(struct usuario A){ //Paso por valor
    printf("\n***** Datos de el nuevo usuario ******\n");
    printf("\n nombre: %s \n", A.nombre);
    printf("\edad: %d\n", A.edad);
    printf("\nDireccion: %s\n", A.direccion);
    printf("\ntelefono: %s\n", A.telefono);
}



Y los errores son estos:
cajero automatico.cpp:(.text+0xe2): undefined reference to `mostrar_datos(usuario)'
[Error] ld returned 1 exit status
estos 2 el primero no dice que sea error pero no se porque aparezca
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
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 automático

Publicado por Rodrigo (539 intervenciones) el 06/10/2020 02:06:00
Tienes un error de sintaxis pues cuando llamas a la funcion no tienes que poner el tipo de retorno (el void de la linea 77 no tiene que ir ahi), ni tampoco el tipo de los parametros, sino que tienes que definir la variable que usaras en otro lado y usarla al invocar la funcion.
La variable que definiste en el main tienes que pasarsela a las funciones que la usaran.
(Por referencia si la variables sera modificada, o por valor, si no).

Yo no habria definido una struct para la persona, sino hubiera definido un struct para la cuenta. Es la cuenta la que intentas acceder a traves de un cajero. Es la cuenta la que tiene el dinero. Es la cuenta la que tiene password. No tiene tanta importancia el usuario.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 158
Ha disminuido su posición en 4 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Cajero automático

Publicado por pepe (68 intervenciones) el 06/10/2020 02:14:56
ohhhh perdona esque aun me falla este tema pero essque no sabia donde ponerla ya que esa estructura o lo que aparecera sera en caso de que el usuario ponga 5 o 6 dependiendo entonces donde la pondria?? porque si la pongo abajo de menu (); pues apareceria el menu y todo lo de mas no?? y lo que quiero es que aparezca pero cuando el usuario digita esa opcion como le harias tu y como la llamarias disculpa la ignoracia.
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
sin imagen de perfil
Val: 158
Ha disminuido su posición en 4 puestos en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

Cajero automático

Publicado por pepe (68 intervenciones) el 06/10/2020 02:52:43
ayuda lo tengo que entregar ahorita a las 10 :(
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
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 automático

Publicado por Rodrigo (539 intervenciones) el 06/10/2020 16:30:13
El menu que presentas no es, para mi, un menu de cajero automatico. Mi recomendacion es definir una struct para la cuenta, no para una persona. Las funciones que defines, entonces, actuaran sobre una cuenta, no sobre una persona.
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