Advertisement
LUKANDSP

Caixa eletrônico em C

May 8th, 2018
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.69 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <math.h>
  4. #include <locale.h>
  5.  
  6. // Declaracao de variaveis
  7. int conta[3], senha[3], saldo[3];
  8. int saque = 0, i = 0, uativo = 4, operacao = 0, successo = 0, saqueval = 0;
  9. int cem = 20, cinq = 40, vinte = 100, rcem = 0, rcinq = 0, rvinte = 0;
  10. int contaLogin, contaSenha;
  11.  
  12. main(){
  13.     setlocale(LC_ALL, "Portuguese");
  14.    
  15.     void loginConta(){
  16.         printf("Número da conta \n --> ");
  17.         scanf("%d", &contaLogin);
  18.     }
  19.    
  20.     void senhaConta(){
  21.         printf("\nSenha da conta \n --> ");
  22.         scanf("%d", &contaSenha);
  23.     }
  24.    
  25.     void realizaOperacao(){
  26.         printf("\n1 - CONSULTAR SALDO");
  27.         printf("\n2 - REALIZAR SAQUE");
  28.         printf("\n3 - SAIR \n--> ");       
  29.         scanf("%d", &operacao);
  30.     }
  31.    
  32.     void realizaSaque(){
  33.         printf("\nDigite o valor do saque que deseja realizar \n --> ");
  34.         scanf("%d", &saque);
  35.         saqueval = saque;
  36.        
  37.         if( saque > saldo[uativo] ){
  38.             printf("Saldo insuficiente para saque");
  39.         }else{
  40.             successo = 0;
  41.             while(successo == 0){
  42.                 if(saque >= 100 && cem > 0 && rcem < 20){
  43.                     saque = saque - 100;
  44.                     rcem++;
  45.                 }else{
  46.                     /* Se não pode reduzir, partimos para outra */
  47.                     successo = 1;
  48.                 }
  49.             }
  50.            
  51.             successo = 0;
  52.             while(successo == 0){
  53.                 if(saque >= 50 && cinq > 0 && rcinq < 40){
  54.                     saque -= 50;
  55.                     rcinq++;                   
  56.                 }else{
  57.                     successo = 1;
  58.                 }
  59.             }
  60.            
  61.             successo = 0;
  62.             while(successo == 0){
  63.                 if(saque >= 20 && vinte > 0 && rvinte < 100){
  64.                     saque -= 20;
  65.                     rvinte++;
  66.                 }else{
  67.                     successo = 1;
  68.                 }
  69.             }
  70.            
  71.             /* Se saque ainda for maior que zero, é porque o saque não pode ser realizado com sucesso */
  72.             if(saque > 0){
  73.                 printf("Não é possivel realizar este saque, as notas não cobrem o valor");
  74.                 rcem = 0; rcinq = 0; rvinte = 0;
  75.             }else{
  76.                 printf("Saque realizado com sucesso! \n");
  77.                
  78.                 saldo[uativo] -= saqueval;
  79.                 printf("Saldo restante na conta: %d \n", saldo[uativo]);
  80.                
  81.                 printf("Notas de 100 sacadas : %d \n", rcem);
  82.                 cem -= rcem;
  83.                
  84.                 printf("Notas de 50 sacadas : %d \n", rcinq);
  85.                 cinq -= rcinq;
  86.                
  87.                 printf("Notas de 20 sacadas : %d \n", rvinte);
  88.                 vinte -= rvinte;
  89.             }
  90.         }
  91.     }
  92.    
  93.     // Huguinho
  94.     conta[0] = 1001; senha[0] = 1357; saldo[0] = 1000;
  95.     // Maria
  96.     conta[1] = 1002; senha[1] = 2468; saldo[1] = 5000;
  97.     // Zezinho
  98.     conta[2] = 1003; senha[2] = 4321; saldo[2] = 2000;
  99.    
  100.     /* Login da conta do usuário */
  101.     printf("CAIXA ELETRONICO \n");
  102.     loginConta();
  103.    
  104.     while(i <= 3){
  105.         /* Como o vetor vai até o indice 2, se chegou no 3 é porque o login está errado, e reinicia o processo */
  106.         if(i == 3){
  107.             printf("Usuário não encontrado, tente novamente \n");
  108.             loginConta();
  109.             i = 0;
  110.         }      
  111.         if(conta[i] == contaLogin){
  112.             uativo = i;
  113.             break;
  114.         }      
  115.         i++;
  116.     }
  117.    
  118.     senhaConta();
  119.     i = 0;
  120.     while(i <= 2){
  121.         if(contaSenha != senha[uativo]){
  122.             printf("Senha incorreta, tente novamente \n");
  123.             senhaConta();
  124.             i = 0;
  125.         } else {
  126.             /* Se chegou aqui é porque está certo */
  127.             if(uativo == 0){
  128.                 printf("\nBem vindo Huguinho");
  129.             }else if(uativo == 1){
  130.                 printf("\nBem vindo Maria");
  131.             }else{
  132.                 printf("\nBem vindo Zezinho");
  133.             }
  134.             i = 2;
  135.         }
  136.         i++;
  137.     }
  138.    
  139.     i = 0;
  140.     while(i <= 3){
  141.         realizaOperacao();
  142.         if(1 == operacao){
  143.             printf("SALDO: R$ %d", saldo[uativo]);
  144.             i == 0;
  145.         }else if(2 == operacao){
  146.            
  147.             printf("Notas disponiveis \n");
  148.             printf("100 reais: %d \n", cem);
  149.             printf("50 reais: %d \n", cinq);
  150.             printf("20 reais: %d \n", vinte);
  151.            
  152.             realizaSaque();
  153.             i = 0;
  154.         }else if(3 == operacao){
  155.             printf("Sessão encerrada com sucesso \n");
  156.             i = 4;
  157.             break;
  158.         }else{
  159.             printf("Operação inválida, tente novamente");
  160.             realizaOperacao();
  161.         }
  162.         i++;
  163.     }
  164.    
  165.    
  166. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement