// 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);
}