Advertisement
LightProgrammer000

Banco

Nov 30th, 2018
310
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 8.18 KB | None | 0 0
  1. /// Bibliotecas
  2. #include <conio.h>
  3. #include <stdio.h>
  4. #include <locale.h>
  5. #include <stdlib.h>
  6. #include <iostream>
  7. #include <strings.h>
  8. using namespace std;
  9.  
  10. /// Variáveis Globais
  11. float saldo = 0;
  12. char log[10];
  13. char sen[10];
  14. char pri_nom[100];
  15. char ult_nom[100];
  16. char contr_log[10];
  17. char contr_sen[10];
  18.  
  19. /// Funções
  20. void Menu();
  21. void Saldo();
  22. void Saque();
  23. void Acesso();
  24. bool Cadastro();
  25. void Deposito();
  26. char Menu_Retorno(char cod);
  27.  
  28. /// Programa
  29. int main ( int argc, char *argv[] )
  30. {
  31.     // Variáveis Estratégicas
  32.     char cod = 'A';
  33.  
  34.     // Estrutura de Decisão
  35.     while( cod != 'n' &&  cod != 'N' )
  36.     {
  37.         // Sistemas
  38.         setlocale(LC_ALL, "");
  39.         system("cls & color A");
  40.  
  41.         // Apresentação 1
  42.         cout << " ========================== " << endl;
  43.         system("echo  - Usuario: %username%");
  44.         system("echo  - Computador: %computername%");
  45.         system("echo  - Hora: %time:~0,-3%");
  46.         system("echo  - Data: %date:/=-%");
  47.         cout << " ========================== \n" << endl;
  48.  
  49.         // Apresentação 2
  50.         cout << "\n ----------------------- " << endl;
  51.         cout << "          BANCO          " << endl;
  52.         cout << " ----------------------- \n" << endl;
  53.  
  54.         // Estrutura de Decisão: Cadastro
  55.         if ( Cadastro() )
  56.         {
  57.             // Chamada de Procedimento
  58.             Acesso();
  59.         }
  60.  
  61.         // Chamada de Função: Menu de Retorno Principal
  62.         cod = Menu_Retorno(cod);
  63.     }
  64.  
  65.     return(0);
  66. }
  67.  
  68. ///////////////////// FUNÇÕES /////////////////////
  69.  
  70. // Menu de Retorno
  71. char Menu_Retorno(char cod)
  72. {
  73.     // Entrada de Dados
  74.     cout << "\n\n - Deseja Retornar ao Menu Principal ?" << endl;
  75.     cout << " - [s] Sim " << endl;
  76.     cout << " - [n] Não " << endl;
  77.     cout << " - Opc.: ";
  78.     cod = getche();
  79.  
  80.     // Retorno
  81.     return(cod);
  82. }
  83.  
  84. // Cadastro
  85. bool Cadastro()
  86. {
  87.     // Variáveis
  88.     char resp;
  89.  
  90.     // Apresentação + Entrada de Dados
  91.     cout << " - O Senhor(a) já Realizou o seu Cadastro ? " << endl;
  92.     cout << " - [s] Sim " << endl;;
  93.     cout << " - [n] Não " << endl;
  94.     cout << " - Opc.: ";
  95.     cin >> resp;
  96.  
  97.     // Estrutura de Decisão: Proteção
  98.     while (resp != 's' && resp != 'n')
  99.     {
  100.         system("cls & color C");
  101.         cout << "\n\n - O Senhor(a) já Realizou o seu Cadastro ? " << endl;
  102.         cout << " - [s] Sim " << endl;;
  103.         cout << " - [n] Não " << endl;
  104.         cout << " - Opc.: ";
  105.         cin >> resp;
  106.     }
  107.  
  108.     // Estrutura de Decisão: Proteção
  109.     if( resp == 's' || resp == 'S')
  110.     {
  111.         // Retornando Verdadeiro
  112.         return true;
  113.     }
  114.  
  115.     // Caso Contrário
  116.     else
  117.     {
  118.         // Estrutura de Repetição: Proteção Contra Comprimento de Strings
  119.         do
  120.         {
  121.             // Apresentação 1 + Entrada de Dados
  122.             system("cls & color F");
  123.             cout << " ================= " << endl;
  124.             cout << "     Cadastro      " << endl;
  125.             cout << " ================= " << endl;
  126.  
  127.             cout << "\n - Digite seu 1º Nome [Sem Espaços]: ";
  128.             cin >> pri_nom;
  129.  
  130.             cout << "\n - Digite seu Último Nome [Sem Espaços]: ";
  131.             cin >> ult_nom;
  132.  
  133.             // Apresentação 2 + Entrada de Dados
  134.             system("cls & color E");
  135.             cout << " ================= " << endl;
  136.             cout << "     Cadastro      " << endl;
  137.             cout << " ================= " << endl;
  138.  
  139.             cout << "\n - Digite um Login sem 'Espaços' [10 Caracteres]: ";
  140.             cin >> log;
  141.  
  142.             cout << "\n - Digite uma senha sem [10 Caracteres - Sem Espaços]: ";
  143.             cin >> sen;
  144.  
  145.             // Cópia de Strings
  146.             strcpy(contr_log,log);
  147.             strcpy(contr_sen,sen);
  148.  
  149.             // Concatenação
  150.             strcat(pri_nom," ");
  151.             strcat(pri_nom, ult_nom);
  152.  
  153.             // Apresentação 3
  154.             system("cls & color D");
  155.             cout << "\n\t *** Parabéns "<< pri_nom << " !!! *** \n" << endl;
  156.             cout << "\n\t *** Cadastro Realizado com Sucesso !!! *** \n\n" << endl;
  157.             system("timeout /nobreak /t 3");
  158.  
  159.         } while( (strlen(log) < 0 && strlen(log) > 10) && (strlen(sen) < 0 && strlen(sen) > 10) );
  160.  
  161.         // Retorno: Verdadeiro
  162.         return(true);
  163.     }
  164. }
  165.  
  166. // Acesso: Login e Senha
  167. void Acesso()
  168. {
  169.     // Variável
  170.     int erro = 4;
  171.  
  172.     // Estrutura de Repetição: Proteção Contra Erros de Tentativas
  173.     while ( erro >= 0 )
  174.     {
  175.         // Apresentação + Entrada de Dados
  176.         system("cls & color B");
  177.         cout << "\n ============== " << endl;
  178.         cout << "     Acesso     " << endl;
  179.         cout << " ============== " << endl;
  180.  
  181.         cout << "\n - Login: ";
  182.         cin >> log;
  183.  
  184.         cout << " - Senha: ";
  185.         cin >> sen;
  186.  
  187.         // Estrutura de Decisão: Comparação de Strings Sem Erros !!!
  188.         if ( ( strcmp(log,contr_log) && strcmp(sen,contr_sen) ) == 0 )
  189.         {
  190.             Menu();
  191.             break;
  192.         }
  193.  
  194.         // Caso Contrário: Número de Tentativas
  195.         else
  196.         {
  197.             erro--;
  198.  
  199.             if (erro == 0)
  200.             {
  201.                 system("cls & color C");
  202.                 cout << "\n\n\t - Acabaram as Tentativas \n\n" << endl;
  203.                 system("timeout /nobreak /t 3");
  204.                 exit(0);
  205.             }
  206.  
  207.             else
  208.             {
  209.                 system("cls & color C");
  210.                 cout << "\n\n\t - Somente " << (erro) << " Tentativa(s) \n\n" << endl;
  211.                 system("timeout /nobreak /t 3");
  212.             }
  213.         }
  214.     }
  215. }
  216.  
  217. // Menu
  218. void Menu()
  219. {
  220.     // Variáveis
  221.     int opc;
  222.     int loop = 1;
  223.  
  224.     // Estrutura de Repetição
  225.     while(loop)
  226.     {
  227.         // Apresentação + Entrada de Dados
  228.         system("cls & color E");
  229.         cout << "\n\n ----------------------------------- " << endl;
  230.         cout << "           CAIXA ELETRÔNICO          " << endl;
  231.         cout << " ----------------------------------- \n" << endl;
  232.         cout << " - [1] SALDO " << endl;
  233.         cout << " - [2] DEPÓSITO " << endl;
  234.         cout << " - [3] SAQUE " << endl;
  235.         cout << " - [4] Voltar " << endl;
  236.         cout << " - Opc:> ";
  237.         cin >> opc;
  238.  
  239.         // Estrutura de Escolha: Métodos
  240.         switch(opc)
  241.         {
  242.             case 1:
  243.                 Saldo();
  244.                 break;
  245.  
  246.             case 2:
  247.                 Deposito();
  248.                 break;
  249.  
  250.             case 3:
  251.                 Saque();
  252.                 break;
  253.  
  254.             case 4:
  255.                 loop = 0;
  256.                 break;
  257.  
  258.             default:
  259.                 cout << " - Inválido" << endl;
  260.                 break;
  261.         }
  262.     }
  263. }
  264.  
  265. // Saldo
  266. void Saldo()
  267. {
  268.     // Apresentação + Entrada de Dados
  269.     system("cls & color E");
  270.     cout << "\n\n -------------- " << endl;
  271.     cout << "      SALDO     " << endl;
  272.     cout << " -------------- \n" << endl;
  273.  
  274.     cout << " - Nome: " << pri_nom << endl;
  275.     cout << " - Saldo R$: " << saldo << endl;
  276.  
  277.     system("echo. & pause");
  278. }
  279.  
  280. // Deposito
  281. void Deposito()
  282. {
  283.     // Variável
  284.     float valor;
  285.  
  286.     // Apresentação + Entrada de Dados
  287.     system("cls & color E");
  288.     cout << "\n\n ------------------ " << endl;
  289.     cout << "      DEPOSITO      " << endl;
  290.     cout << " ------------------ \n" << endl;
  291.     cout << " - Valor: R$ ";
  292.     cin >> valor;
  293.  
  294.     // Cálculo: Depósito
  295.     saldo += valor;
  296.  
  297.     system("echo. & pause");
  298. }
  299.  
  300. // Saque
  301. void Saque()
  302. {
  303.     // Variável
  304.     float valor;
  305.  
  306.     // Apresentação + Entrada de Dados
  307.     system("cls & color E");
  308.     cout << "\n\n -------------- " << endl;
  309.     cout << "      SAQUE     " << endl;
  310.     cout << " -------------- \n" << endl;
  311.     cout << " - Valor: R$ ";
  312.     cin >> valor;
  313.  
  314.     // Estrutura de Decisão
  315.     if ( valor > saldo )
  316.     {
  317.         cout << "\n - Valor Indisponível \n";
  318.     }
  319.  
  320.     else
  321.     {
  322.         // Cálculo: Saque
  323.         saldo -= valor;
  324.  
  325.         // Apresentação
  326.         cout << "\n - Valor: R$ " << valor;
  327.         cout << "\n - Saldo: R$ " << saldo;
  328.     }
  329.  
  330.     cout << "" << endl;
  331.     system("echo. & pause");
  332. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement