Está en la página 1de 64

ING.

DESARROLLO DE SOFTWARE
Simulador de cajero automtico.

UnADM Universidad Abierta y a Distancia de Mxico


Omar Barragan Moreno Matricula: ES162006477
Algoritmo.
INICIO:
Cajero automtico Mxico xpress.
introducir usuario y contrasea.
SI usuario es = 198905 y contrasea es = 9674.
1. Mensaje de bienvenida.
2. mostrar men principal.
Sino
1. Mensaje de que los datos son incorrectos.
2. regresar y volver a introducir el usuario y la contrasea.
3. si siguen siendo incorrectos regresar de nuevo hasta que los datos estn correctos
dejar de repetir.
Mostrar el men principal para escoger una opcin.
Consulta de saldo.
Retiro.
Pago de servicios.
Compra de tiempo aire.
Salir.
El usuario escoger la opcin que desea realizar.
Si escoge opcin correcta.
1. Desplegar el submen y realizar la operacin que desea el usuario.
Sino.
1. Mostrar un mensaje de que la opcin es incorrecta.
2. Volver a regresar al men principal y el usuario de nuevo volver introducir la opcin
que desea.
3. Si vuelve a tomar una opcin incorrecta, mostrar el mismo mensaje y repetir el mismo
proceso hasta que escoja una opcin correcta.
Opcin consulta de saldo.
1. mostrar el saldo disponible.
2. Mostrar opcin de realizar otra operacin.
3. Mostrar opcin de salir del cajero.
4. Si desea realizar otra operacin este reiniciara el saldo inicial.
5. Si desea la opcin de salir. mostrar un mensaje de despedida y salir del programa.
Opcin retiro.
1. Mostrar el submen.
2. Mostrar la opcin del retiro de $500 pesos.
3. Mostrar la opcin del retiro de $1000 pesos.
4. Mostrar la opcin del retiro de $3000. pesos
5. Mostrar la opcin de ingresar otra cantidad.
6. Mostrar la opcin de regresar al men.
Opcin retiro 500 pesos.
1. Descontar los 500 pesos del saldo inicial.
2. Mostrar el nuevo saldo inicial ya con el descuento.
3. Mostrar opcin de realizar otra operacin.
4. Mostrar opcin de salir del cajero.
5. Si desea realizar otra operacin este reiniciara el saldo inicial.
6. Si desea salir mostrar mensaje de despedida y salir del programa.
Opcin retiro 1000 pesos.
1. Descontar los 1000 pesos del saldo inicial.
2. Mostrar el nuevo saldo inicial ya con el descuento.
3. Mostrar opcin de realizar otra operacin.
4. Mostrar opcin de salir del cajero.
5. Si desea realizar otra operacin este reiniciara el saldo inicial.
6. Si desea salir mostrar mensaje de despedida y salir del programa.
Opcin retiro 3000 pesos.
1. Descontar los 3000 pesos del saldo inicial.
2. Mostrar el nuevo saldo inicial ya con el descuento.
3. Mostrar opcin de realizar otra operacin.
4. Mostrar opcin de salir del cajero.
5. Si desea realizar otra operacin este reiniciara el saldo inicial.
6. Si desea salir mostrar mensaje de despedida y salir del programa.
Opcin ingresar otra cantidad.
Si el retiro es menor que el saldo inicial.
1. Saldo inicial retiro ingresado por el usuario.
2. Mostrar el nuevo saldo inicial ya con el descuento.
3. Mostrar opcin de realizar otra operacin.
4. Mostrar opcin de salir del cajero.
5. Si desea realizar otra operacin este reiniciara el saldo inicial.
6. Si desea salir mostrar mensaje de despedida y salir del programa.
Sino es menor.
1. Mostrar que el saldo es insuficiente.
2. Regresar al men principal.
Opcin regresar al men.
1. Regresar al men principal.
Opcin pago de servicios.
1. Mostrar Submen.
2. Mostrar opciones de elegir el tipo de servicio a pagar.
3. CFE.
4. TELMEX.
Opcin CFE.
1. Mostrar mensaje de introducir 10 dgitos del recibo de luz.
Si son los 10 dgitos.
1. Mostrar el monto a pagar.
2. Al continuar mostrar el descuento del pago de servicio menos el saldo inicial.
3. Mostrar opcin de realizar otra operacin.
4. Mostrar opcin de salir del cajero.
5. Si desea realizar otra operacin el saldo inicial se reiniciara.
6. Si desea salir, mostrar mensaje de despedida y salir del programa.
Sino son los 10 dgitos o menos.
1. Mostrar mensaje de que faltan dgitos por introducir.
2. Pedir de nuevo introducir los 10 dgitos.
3. Si son menos regresar a la misma opcin de volver a introducir, repetir este
proceso hasta que se introduzcan correctamente los 10 dgitos.
Opcin TELMEX.
2. Mostrar mensaje de introducir 10 dgitos del recibo de Telfono.
Si son los 10 dgitos.
1. Mostrar el monto a pagar.
2. Al continuar mostrar el descuento del pago de servicio menos el saldo inicial.
3. Mostrar mensaje de realizar otra operacin.
4. Mostrar opcin de salir del cajero.
5. Si desea realizar otra operacin el saldo inicial se reiniciara.
6. Si desea salir, mostrar mensaje de despedida y salir del programa.
Sino son los 10 dgitos o menos.
1. Mostrar mensaje de que faltan dgitos por introducir.
2. Pedir de nuevo introducir los 10 dgitos.
3. Si son menos regresar a la misma opcin de volver a introducir, repetir este
proceso hasta que se introduzcan correctamente los 10 dgitos.
Opcin Compra de tiempo aire.
1. Mostrar submen de lneas telefnicas.
2. Mostrar opcin TELCEL.
3. Mostrar opcin AT&T.
4. Mostrar opcin MOVISTAR.
Opcin TELCEL.
1. Mostrar submen de montos de recargas.
2. Mostrar recarga de $50 pesos.
3. Mostrar recarga de $100 pesos.
4. Mostrar recarga de $200 pesos.
Opcin 50 pesos.
1. Mostrar mensaje de que su recarga fue de 50 pesos.
2. Mostrar mensaje de su nuevo saldo inicial con el descuento de la recarga.
3. Mostrar mensaje de realizar otra operacin.
4. Mostrar mensaje de salir del cajero.
5. Si desea realizar otra operacin este reiniciara el saldo inicial.
6. Si desea salir, se mostrara mensaje de despedida y saldr del programa.
Opcin 100 pesos.
1. Mostrar mensaje de que su recarga fue de 100 pesos.
2. Mostrar mensaje de su nuevo saldo inicial con el descuento de la recarga.
3. Mostrar mensaje de realizar otra operacin.
4. Mostrar mensaje de salir del cajero.
5. Si desea realizar otra operacin este reiniciara el saldo inicial.
6. Si desea salir se mostrara mensaje de despedida y saldr del programa.
Opcin 200 pesos.
1. Mostrar mensaje de que su recarga fue de 200 pesos.
2. Mostrar mensaje de su nuevo saldo inicial con el descuento de la recarga.
3. Mostrar mensaje de realizar otra operacin.
4. Mostrar mensaje de salir del cajero.
5. Si desea realizar otra operacin este reiniciara el saldo inicial.
6. Si desea salir, se mostrara mensaje de despedida y saldr del programa.
Opcin AT&T.
1. Mostrar submen de montos de recargas.
2. Mostrar recarga de $50 pesos.
3. Mostrar recarga de $100 pesos.
4. Mostrar recarga de $200 pesos.
Opcin 50 pesos.
1. Mostrar mensaje de que su recarga fue de 50 pesos.
2. Mostrar mensaje de su nuevo saldo inicial con el descuento de la recarga.
3. Mostrar mensaje de realizar otra operacin.
4. Mostrar mensaje de salir del cajero.
5. Si desea realizar otra operacin este reiniciara el saldo inicial.
6. Si desea salir, se mostrara mensaje de despedida y saldr del programa.
Opcin 100 pesos.
1. Mostrar mensaje de que su recarga fue de 100 pesos.
2. Mostrar mensaje de su nuevo saldo inicial con el descuento de la recarga.
3. Mostrar mensaje de realizar otra operacin.
4. Mostrar mensaje de salir del cajero.
5. Si desea realizar otra operacin este reiniciara el saldo inicial.
6. Si desea salir se mostrara mensaje de despedida y saldr del programa.
Opcin 200 pesos.
1. Mostrar mensaje de que su recarga fue de 200 pesos.
2. Mostrar mensaje de su nuevo saldo inicial con el descuento de la recarga.
3. Mostrar mensaje de realizar otra operacin.
4. Mostrar mensaje de salir del cajero.
5. Si desea realizar otra operacin este reiniciara el saldo inicial.
6. Si desea salir, se mostrara mensaje de despedida y saldr del programa.
Opcin MOVISTAR.
1. Mostrar submen de montos de recargas.
2. Mostrar recarga de $50 pesos.
3. Mostrar recarga de $100 pesos.
4. Mostrar recarga de $200 pesos.
Opcin 50 pesos.
1. Mostrar mensaje de que su recarga fue de 50 pesos.
2. Mostrar mensaje de su nuevo saldo inicial con el descuento de la recarga.
3. Mostrar mensaje de realizar otra operacin.
4. Mostrar mensaje de salir del cajero.
5. Si desea realizar otra operacin este reiniciara el saldo inicial.
6. Si desea salir, se mostrara mensaje de despedida y saldr del programa.
Opcin 100 pesos.
1. Mostrar mensaje de que su recarga fue de 100 pesos.
2. Mostrar mensaje de su nuevo saldo inicial con el descuento de la recarga.
3. Mostrar mensaje de realizar otra operacin.
4. Mostrar mensaje de salir del cajero.
5. Si desea realizar otra operacin este reiniciara el saldo inicial.
6. Si desea salir se mostrara mensaje de despedida y saldr del programa.
Opcin 200 pesos.
1. Mostrar mensaje de que su recarga fue de 200 pesos.
2. Mostrar mensaje de su nuevo saldo inicial con el descuento de la recarga.
3. Mostrar mensaje de realizar otra operacin.
4. Mostrar mensaje de salir del cajero.
5. Si desea realizar otra operacin este reiniciara el saldo inicial.
6. Si desea salir, se mostrara mensaje de despedida y saldr del programa.
Opcin Salir.
1. Mostrar mensaje de despedida y salir del programa.
FIN.

Cdigo del programa.

#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>

int op1, op2, op3, op4, op5, op6, op7, op8, op9, op10, op11, op12, op13, op14, op15, op16, op17,
op18, op19, op20, op21, op22, op23;
int saldoi=5000, r1=500, r2=1000, r3=3000, luz=350, tel=400, c, t, retiro, saldo, cfe;
int telcel1=50, telcel2=100, telcel3=200, a1=50, a2=100, a3=200, movi1=50, movi2=100, movi3=200;
float usuario, contrasena;

main ()
{

system("color 64");

printf ("\n++++++++++++++ Cajero automatico Mexico xpress ++++++++++++++++++");


printf ("\n\n");
printf("Introducir usuario y contrasena.");
printf ("\n\n");
printf ("usuario: ");
scanf ("%f", &usuario);
printf ("contrasena: ");
scanf ("%f", &contrasena);
printf ("\n\n");

if (usuario==198905 && contrasena==9674){

system("cls");
printf ("Bienvenido Omar Barragan Moreno");
printf("\n\n");
system("pause");
system("cls");

}
else{

system("cls");
printf ("Usuario o Contrasena invalido por favor vuelva a intentar.\n");
printf("\n\n");
system ("pause");
system("cls");
main();
}

do{
printf("\n1. Consulta de saldo.");
printf("\n2. Retiro.");
printf("\n3. Pago de servicios.");
printf("\n4. Compra de tiempo aire.");
printf("\n5. Salir.\n");
printf ("\nEliga una opcion: ");
scanf ("%d", &op1);
switch(op1)
{

case 1:
system ("cls");
printf("Saldo disponible: $%d", saldoi);
printf ("\n\n");
printf("\n1. Realizar otra operacion.");
printf("\n2. Salir.\n");
printf("\nEliga la opcion: ");
scanf("%d", &op2);

switch(op2)
{
case 1:
system ("cls");
break;
case 2:
system("cls");
printf ("Gracias por su preferencia.");
printf("\n\n");
return 2;
break;
}
while(op2!=1);
break;

case 2:
system ("cls");
printf("Cantidad a retirar.\n ");
printf("\n1. $500.");
printf("\n2. $1,000.");
printf("\n3. $3,000.\n");
printf("\n4. Ingresar otra cantidad.");
printf("\n5. Regresar al menu.\n");
printf("\nElegir opcion: ");
scanf("%d", &op3);
{

switch (op3)
{
case 1:
system ("cls");
saldo= saldoi - r1;
printf("\nSu nuevo saldo disponible es de: $%d", saldo);
printf ("\n\n");
printf("\n1. Realizar otra operacion.");
printf("\n2. Salir.\n");
printf("\nEliga la opcion: ");
scanf("%d", &op4);
switch (op4)
{
case 1:
system ("cls");
break;
case 2: system("cls");
printf("\nGracias por su preferencia.");
printf("\n\n");
return 2;
break;
}
while(op4!=1);
break;

case 2:
system ("cls");
saldo= saldoi - r2;
printf("\nSu nuevo saldo disponible es de: $%d", saldo);
printf ("\n\n");
printf("\n1. Realizar otra operacion.");
printf("\n2. Salir.\n");
printf("\nEliga la opcion: ");
scanf("%d", &op5);
switch (op5)
{
case 1:
system ("cls");
break;
case 2: system("cls");
printf("\nGracias por su preferencia.");
printf("\n\n");
return 2;
break;
}
while(op5!=1);
break;

case 3:
system ("cls");
saldo= saldoi - r3;
printf("\nSu nuevo saldo disponible es de: $%d", saldo);
printf ("\n\n");
printf("\n1. Realizar otra operacion.");
printf("\n2. Salir.\n");
printf("\nEliga la opcion: ");
scanf("%d", &op6);
switch (op6)
{
case 1:
system ("cls");
break;
case 2: system("cls");
printf("\nGracias por su preferencia.");
printf("\n\n");
return 2;
break;
}
while(op6!=1);
break;

case 4:
system ("cls");
printf("\nIngresar la cantidad a retirar: ");
scanf("%d", &retiro);
saldo= saldoi - retiro;

if(retiro>5000){
printf("\nSaldo isuficiente, presione '0' y 'ENTER' para regresar al menu. ");
scanf("%d", &retiro);
}

else{
system ("cls");
printf("Su nuevo saldo disponible es de: $%d", saldo);
printf ("\n\n");
printf("\n1. Realizar otra operacion.");
printf("\n2. Salir\n");
printf("\nEliga la opcion: ");
scanf("%d", &op7);
printf ("\n\n");
switch (op7)
{
case 1:
system ("cls");
break;
case 2: system ("cls");
printf("\nGracias por su preferencia");
printf("\n\n");
return 2;
break;
}
}while(op7!=1)
break;

case 5:
system ("cls");
break;
}
}
break;

case 3: system("cls");
printf("Elegir el tipo de servicio a pagar: ");
printf ("\n\n");
printf("\n1. CFE.");
printf("\n2. TELMEX.\n");
printf("\nElegir opcion: ");
scanf("%d", &op8);
switch(op8)
{
case 1:
system ("cls");
printf("\nIntroducir los 10 digitos de su recibo de luz: ");
scanf ("%d", &c);

while (c<999999999){
system ("cls");
printf("\nFaltan digitos por introducir, favor de introducir de nuevo.\n");
printf("\n\n");
printf("introducir los 10 digitos de su recibo de luz: ");
scanf("%d", &c);

system ("cls");
printf("\nSu pago a realizar es de $%d", luz);
printf("\n\n");
system("pause");
printf("\n\n");
saldo= saldoi - luz;
system ("cls");
printf("Gracias por su pago, su nuevo saldo es de: $%d", saldo);
printf("\n\n");
printf("\n1. Realizar otra operacion.");
printf("\n2. Salir.\n");
printf("\nEliga la opcion: ");
scanf("%d", &op9);
printf ("\n\n");
switch (op9)
{
case 1:
system ("cls");
break;

case 2: system ("cls");


printf("\nGracias por su preferencia");
printf("\n\n");
return 2;
break;
}
while(op9!=1);
break;

case 2:
system ("cls");
printf("\nIntroducir los 10 digitos de su recibo de Telefono: ");
scanf ("%d", &t);

while (t<999999999){
system("cls");
printf("\nFaltan digitos por introducir, favor de introducir de nuevo.");
printf("\n\n");
printf("Introducir los digitos de su recibo de Telefono: ");
scanf("%d", &t);

}
system("cls");
printf("\nSu pago a realizar es de $%d", tel);
printf("\n\n");
system("pause");
printf("\n\n");
saldo= saldoi - tel;
system ("cls");
printf("Gracias por su pago, su nuevo saldo es de: $%d", saldo);
printf("\n\n");
printf("\n1. Realizar otra operacion.");
printf("\n2. Salir.\n");
printf("\nEliga la opcion: ");
scanf("%d", &op10);
printf ("\n\n");
switch (op10)
{
case 1:
system ("cls");
break;

case 2: system ("cls");


printf("\nGracias por su preferencia");
printf("\n\n");
return 2;
break;
}
while(op10!=1);
}
break;

case 4: system("cls");
printf("\nEliga la linea de su telefono.\n");
printf("\n1. TELCEL.");
printf("\n2. AT&T.");
printf("\n3. MOVISTAR.\n");
printf("\nEliga opcion: ");
scanf("%d", &op11);
switch(op11){
case 1:system("cls");
printf("\nEliga el monto a recargar:\n ");
printf("\n1. $50.00");
printf("\n2. $100.00");
printf("\n3. $200.00\n");
printf("\nEliga la opcion: ");
scanf("%d", &op12);
switch(op12){

case 1:
system ("cls");
saldo= saldoi - telcel1;
printf("\n\n");
printf("\nSu recarga fue de $50.00\n");
printf("\n\n");
system ("pause");
system("cls");
printf("\nSu nuevo saldo en su cuenta nomina es de: $%d", saldo);
printf("\n\n");
printf("\n1. Realizar otra operacion.");
printf("\n2. Salir\n");
printf("\nEliga la opcion: ");
scanf("%d", &op13);
printf ("\n\n");
switch(op13){
case 1: system("cls");
break;

case 2: system("cls");
printf("\nGracias por su preferencia");
printf("\n\n");
return 2;
break;
}
while(op13!=1);
break;

case 2: system("cls");
saldo= saldoi - telcel2;
printf("\n\n");
printf("\nSu recarga fue de $100.00\n");
printf("\n\n");
system ("pause");
system ("cls");
printf("\nSu nuevo saldo en su cuenta nomina es de: $%d", saldo);
printf("\n\n");
printf("\n1. Realizar otra operacion.");
printf("\n2. Salir\n");
printf("\nEliga la opcion: ");
scanf("%d", &op14);
printf ("\n\n");
switch(op14){
case 1: system("cls");
break;

case 2: system("cls");
printf("\nGracias por su preferencia");
printf("\n\n");
return 2;
break;
}
while(op14!=1);
break;

case 3: system("cls");
saldo= saldoi - telcel3;
printf("\n\n");
printf("\nSu recarga fue de $200.00\n");
printf("\n\n");
system ("pause");
system ("cls");
printf("\nSu nuevo saldo en su cuenta nomina es de: $%d", saldo);
printf("\n\n");
printf("\n1. Realizar otra operacion.");
printf("\n2. Salir\n");
printf("\nEliga la opcion: ");
scanf("%d", &op15);
printf ("\n\n");
switch(op15){
case 1:system("cls");
break;

case 2: system("cls");
printf("\nGracias por su preferencia");
printf("\n\n");
return 2;
break;
}
while(op15!=1);
}
break;

case 2: system("cls");
printf("\nEliga el monto a recargar\n: ");
printf("\n1. $50.00");
printf("\n2. $100.00");
printf("\n3. $200.00\n");
printf("\nEliga la opcion: ");
scanf("%d", &op16);
switch(op16){
case 1: system("cls");
saldo= saldoi - a1;
printf("\n\n");
printf("\nSu recarga fue de $50.00\n");
printf("\n\n");
system("pause");
system("cls");
printf("\nSu nuevo saldo en su cuenta nomina es de: $%d", saldo);
printf("\n\n");
printf("\n1. Realizar otra operacion.");
printf("\n2. Salir\n");
printf("\nEliga la opcion: ");
scanf("%d", &op17);
printf ("\n\n");
switch(op17){
case 1: system("cls");
break;

case 2: system("cls");
printf("\nGracias por su preferencia");
printf("\n\n");
return 2;
break;
}
while(op17!=1);
break;

case 2: system ("cls");


saldo= saldoi - a2;
printf("\n\n");
printf("\nSu recarga fue de $100.00\n");
printf("\n\n");
system("pause");
system("cls");
printf("\nSu nuevo saldo en su cuenta nomina es de: $%d", saldo);
printf("\n\n");
printf("\n1. Realizar otra operacion.");
printf("\n2. Salir\n");
printf("\nEliga la opcion: ");
scanf("%d", &op18);
switch(op18){
case 1: system("cls");
break;

case 2: system("cls");
printf("\nGracias por su preferencia");
printf("\n\n");
return 2;
break;
}
while(op18!=1);
break;

case 3: system("cls");
saldo= saldoi - a3;
printf("\nSu recarga fue de $200.00\n");
printf("\n\n");
system("pause");
system("cls");
printf("\nSu nuevo saldo en su cuenta nomina es de: $%d", saldo);
printf("\n\n");
printf("\n1. Realizar otra operacion.");
printf("\n2. Salir\n");
printf("\nEliga la opcion: ");
scanf("%d", &op19);
switch(op19){
case 1: system("cls");
break;

case 2: system("cls");
printf("\nGracias por su preferencia");
printf("\n\n");
return 2;
break;
}
while(op19!=1);
}
break;

case 3: system("cls");
printf("\nEliga el monto a recargar:\n ");
printf("\n1. $50.00");
printf("\n2. $100.00");
printf("\n3. $200.00\n");
printf("\nEliga la opcion: ");
scanf("%d", &op20);
switch(op20){
case 1: system("cls");
saldo= saldoi - movi1;
printf("\nSu recarga fue de $50.00\n");
printf("\n\n");
system("pause");
system("cls");
printf("\nSu nuevo saldo en su cuenta nomina es de: $%d", saldo);
printf("\n\n");
printf("\n1. Realizar otra operacion.");
printf("\n2. Salir\n");
printf("\nEliga la opcion: ");
scanf("%d", &op21);
printf ("\n\n");
switch(op21){
case 1: system("cls");
break;

case 2: system("cls");
printf("\nGracias por su preferencia");
printf("\n\n");
return 2;
break;
}
while(op21!=1);
break;
case 2: system("cls");
saldo= saldoi - movi2;
printf("\nSu recarga fue de $100.00");
printf("\n\n");
system("pause");
system("cls");
printf("\nSu nuevo saldo en su cuenta nomina es de: $%d", saldo);
printf("\n\n");
printf("\n1. Realizar otra operacion.");
printf("\n2. Salir\n");
printf("\nEliga la opcion: ");
scanf("%d", &op22);
switch(op22){
case 1: system("cls");
break;

case 2: system("cls");
printf("\nGracias por su preferencia");
printf("\n\n");
return 2;
break;
}
while(op22!=1);
break;

case 3: system("cls");
saldo= saldoi - movi3;
printf("\nSu recarga fue de $200.00");
printf("\n\n");
system("pause");
system("cls");
printf("\nSu nuevo saldo en su cuenta nomina es de: $%d", saldo);
printf("\n\n");
printf("\n1. Realizar otra operacion.");
printf("\n2. Salir\n");
printf("\nEliga la opcion: ");
scanf("%d", &op23);
switch(op23){
case 1: system("cls");
break;

case 2: system("cls");
printf("\nGracias por su preferencia.");
printf("\n\n");
return 2;
break;
}
while(op23!=1);
break;
}
}
break;

case 5: system("cls");
printf("gracias por su preferencia.");
break;
default: system("cls");
printf ("Opcion incorrecta. Por favor seleccione de nuevo una opcion:");
printf("\n\n");
}

}while(op1!=5);

getch ();
return 0;
}