Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <cajeroUPCT.h>
- int main(void) {
- int maxerr=0, aux=0;
- unsigned long dni,contra,contra1, saldo;
- char opc1,opc2,letra, nombre_us[20], pos_letras[]= "trwagmyfpdxbnjzsqvhlcke";
- inicializar_cajero();
- do {
- printf("\t===== Cajero UPCT =====\n\n");
- printf("'b' -> Operar en el banco.\n");
- printf("'s' -> Salir.\n");
- printf("Seleccione opcion: ");
- scanf(" %c", &opc1);
- system("cls");
- switch(opc1) {
- case 'b':
- do {
- printf("\nPor favor, introduzca solo el numero de su DNI: ");
- scanf("%lu", &dni);
- system("cls");
- if (existe_usuario(dni)=='n') {
- printf("\nUsuario no existente\n");
- } else {
- printf("\nAhora introduzca la letra(minusculas): ");
- scanf(" %c", &letra);
- system("cls");
- if(pos_letras[dni%23]!=letra) {
- printf("\nError-> La letra no coincide con el DNI, por favor, vuelva a intentarlo\n");
- }
- }
- } while(pos_letras[dni%23]!=letra || existe_usuario(dni)=='n');
- seleccionar_usuario (dni);
- switch (recuperar_tipo_usuario ()) {
- case 1:
- printf("\n Bienvenido Cliente");
- for(maxerr=0; maxerr<3; maxerr++) {
- printf("Por favor, introduzca su contrasena:\n");
- scanf("%lu", &contra);
- system("cls");
- if (comprobar_password(contra)!='s') {
- printf("Error->Contrasena erronea, escribala de nuevo.\n");
- printf("Numero de intentos restantes: %i\n", (2-maxerr));
- if (maxerr==3) {
- printf("\n Numero de intentos fallidos:3");
- printf("A fallado demasiados intentos\n");
- break;
- }
- } else {
- do {
- printf("\t===== Buenos dias =====\n",recuperar_nombre());
- printf("'c' -> Consultar el saldo.\n");
- printf("'i' -> Ingresar dinero en la cuenta.\n");
- printf("'r' -> Reembolsar dinero de la cuenta.\n");
- printf("'p' -> Cambio de PIN.\n");
- printf("'s' -> Salir.\n");
- printf("Escoja una opcion:\n");
- scanf("%c", &opc2);
- system("cls");
- switch (opc2) {
- case 'c':
- printf("Su saldo actual es: %ld euros\n\n",recuperar_saldo());
- break;
- case 'i':
- printf("\nCuanto dinero quiere ingresar? ");
- scanf("%ld", &saldo);
- if (saldo<0) {
- printf("La cantidad deseada debe ser positiva\n\n");
- break;
- }
- if(saldo>10000) {
- printf("El banco solo permite transferencias que no sobrepasen 10000 euros\n\n");
- } else {
- if(saldo+recuperar_saldo()>=1000000) {
- printf("El banco no permite cuentas con mas de 1000000 euros\n\n");
- } else {
- if (actualizar_saldo(saldo)=='s') {
- printf("Ingreso realizado.\n");
- printf("Saldo actualizado.\n\n");
- } else {
- printf("Error->No se ha podido ingresar su dinero en la cuenta.\n\n");
- }
- }
- }
- break;
- case 'r':
- printf("\n\tCuanto dinero quiere retirar? \n");
- scanf("%ld", &saldo);
- if (saldo<0) {
- printf("La cantidad deseada debe ser positiva\n\n");
- break;
- }
- if(saldo>10000) {
- printf("El banco solo permite transferencias que no sobrepasen 10000 euros\n\n");
- } else {
- if(saldo>recuperar_saldo()) {
- printf("No puede sacar mas dinero del que tiene en la cuenta\n\n");
- } else {
- saldo=(-1)*saldo;
- if (actualizar_saldo(saldo)=='s') {
- printf("Acaba de retirar %ld euros.\n\n",saldo*(-1));
- } else {
- printf("Error->No se ha podido retirar su dinero de la cuenta.\n\n");
- }
- }
- }
- break;
- case 'p':
- printf("Introduce el PIN actual: ");
- scanf("%lu", &contra);
- system("cls");
- if (comprobar_password(contra)=='s') {
- printf ("\nAhora introduzca su nuevo PIN: ");
- scanf("%lu", &contra);
- printf("Vuelva a introducir el nuevo numero pin\n");
- scanf("%lu", &contra1);
- if(sizeof(contra)/sizeof(int)>4 || sizeof(contra1)/sizeof(int)>4) {
- printf("El numero PIN debe tener como mucho cuatro digitos");
- } else {
- if(contra!=contra1) {
- printf("El numero PIN introducido no coincide\n");
- } else {
- if(actualizar_password (contra)=='s') {
- printf("\nSu PIN ha sido actualizado con exito\n\n");
- } else {
- printf("\nError->No se ha podido actualizar su numero PIN\n\n");
- }
- }
- }
- } else {
- printf ("\nError->Numero PIN incorrecto\n\n");
- }
- break;
- case 's':
- break;
- }
- } while (opc2!='s') ;
- }
- break;
- case 2:
- for(maxerr=0; maxerr<3; maxerr++) {
- printf("Por favor, introduzca su contraseña:\n");
- scanf("%lu", &contra);
- system("cls");
- if (comprobar_password(contra)!='s') {
- printf("Error->Contrasena erronea, escribala de nuevo.\n");
- printf("Numero de intentos restantes: %i\n", (2-maxerr));
- if (maxerr==3) {
- printf("\n Numero de intentos fallidos:3");
- printf("A fallado demasiados intentos\n");
- break;
- }
- } else {
- do {
- printf("\t Bienvenido banquero \n");
- printf("'n' -> Dar de alta a nuevo cliente\n");
- printf("'l' -> Listar clientes del banco.\n");
- printf("'s' -> Salir.\n");
- printf("Escoja una opcion: ");
- scanf("%c", &opc2);
- system("cls");
- switch (opc2) {
- case 'n':
- do {
- printf("\n\t =====Creacion de nuevo usuario=====");
- printf("\nPor favor, introduzca solo el numero de su DNI: ");
- scanf("%lu", &dni);
- printf("\nAhora introduzca la letra(minusculas): ");
- scanf(" %c", &letra);
- system("cls");
- if(sizeof(dni)/sizeof(int)!=8 || dni<0) {
- printf("El numero de DNI no es validoºn");
- } else if(pos_letras[dni%23]!=letra) {
- printf("\nError-> La letra no coincide con el DNI, por favor, vuelva a intentarlo\n\n");
- } else if(existe_usuario(dni)=='s') {
- printf("El usuario ya tiene una cuenta en el banco\n");
- } else aux=1;
- } while(aux=0);
- printf("\nPor favor, introduzca la nueva contraseña: ");
- scanf(" %lu", &contra);
- if(sizeof(contra)/sizeof(int)>4 || contra<0) {
- printf("La contraseña debe ser positiva y tener un maximo de cuatro digitos\n");
- } else {
- printf("\n Ahora introduzca el nombre: ");
- scanf(" %s", &nombre_us);
- crear_usuario (dni, contra, nombre_us);
- }
- break;
- case 'l':
- listar_usuarios();
- break;
- case 's':
- break;
- };
- } while (opc2!='s');
- }
- break;
- }
- break;
- case 's':
- printf("Saliendo del cajero\n");
- printf("Programa realizado por Javier Manjon Prado y Sergio Saez Sanchez\n");
- break;
- }
- }
- }
- while (opc1!='s');
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement