Advertisement
Marco-Scofield

alterado

Jun 21st, 2018
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 5.09 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #define maxCad 5
  5.  
  6. struct cadastro
  7. {
  8.     int id;
  9.     int vazio;
  10.     char nome[200];
  11.     char telefone [11];
  12.     char endereco[200];
  13.     char rua[200];
  14.     char complemento[200];
  15.     char numero[10];
  16. };
  17.  
  18. struct cadastro Cliente[maxCad];
  19.  
  20. int opcao;
  21. void cadastroCliente();
  22. void listarClientes();
  23. void subMenu();
  24.  
  25. int main()
  26. {
  27.     do
  28.     {
  29.         printf("------------------------------------- \n");
  30.         printf("-- Sistema de Cadastro de Clientes -- \n");
  31.         printf("------------------------------------- \n");
  32.         printf("1 - Inserir um novo cadastro \n");
  33.         printf("2 - Mostrar todos os cadastros \n");
  34.         printf("0 - Encerrar \n");
  35.         printf("Comando : ");
  36.         scanf("%d", &opcao);
  37.        
  38.         if(opcao == 1)
  39.         {
  40.             system("cls");
  41.             cadastroCliente();    
  42.         }
  43.         else if(opcao == 2)
  44.         {
  45.             system("cls");
  46.             listarClientes();
  47.         }
  48.         else if(opcao == 0)
  49.         {
  50.             system("cls");
  51.             system("exit");
  52.         }
  53.         else
  54.         {
  55.             printf("Opçao invalida!");
  56.             system("cls");
  57.             main();        
  58.         }
  59.     }
  60.     while(opcao < 0 || opcao > 2);
  61.  
  62. }
  63.  
  64. int verifica_pos()
  65. {
  66.     int cont = 0;
  67.     while ( cont <= maxCad )
  68.     {
  69.         if(Cliente[cont].vazio == 0)
  70.             return(cont);
  71.         cont++;
  72.     }
  73.     return(0);
  74. }
  75.  
  76. int verifica_id()
  77. {
  78.     int cont = 0;
  79.     while ( cont <= maxCad )
  80.     {
  81.         if(Cliente[cont].id == 0)
  82.             return(cont+1);
  83.         cont++;
  84.     }
  85.     return(0);
  86. }
  87.  
  88. void cadastroCliente()
  89. {  
  90.     int op;
  91.     int i = 0, pos, id;
  92.     pos = verifica_pos();
  93.     id = verifica_id();
  94.    
  95.     printf("-------------------------- \n");
  96.     printf("-- Inserir novo Cliente -- \n");
  97.     printf("-------------------------- \n");
  98.    
  99.     if(id > maxCad || id <= 0)
  100.     {
  101.         printf("\nBanco de dados lotado! \n");
  102.         printf("-------------------------- \n");
  103.         subMenu();
  104.     }
  105.     else
  106.     {
  107.         do
  108.         {
  109.             printf("Codigo: %d \n", id);
  110.             printf("Nome: ");
  111.             scanf("%s", &Cliente[pos].nome);
  112.             printf("Telefone: ");
  113.             scanf("%s", &Cliente[pos].telefone);
  114.             printf("Endereco: ");
  115.             scanf("%s", &Cliente[pos].endereco);
  116.             printf("Rua: ");
  117.             scanf("%s", &Cliente[pos].rua);
  118.             printf("Complemento: ");
  119.             scanf("%s", &Cliente[pos].complemento);
  120.             printf("Numero: ");
  121.             scanf("%s", &Cliente[pos].numero);
  122.             Cliente[pos].vazio = 1;
  123.             Cliente[pos].id = id;
  124.             i = 1;
  125.         }
  126.         while(i == 0);
  127.             printf("------------------- \n");
  128.             printf("Cliente cadastrado! \n");          
  129.             printf("------------------- \n");          
  130.            // subMenu();
  131.            printf("Deseja cadastrar mais cliente [1] ou [2] para voltar: ");
  132.            scanf("%d",&op);
  133.            switch(op){
  134.             case 1:
  135.                 system("cls");
  136.                 cadastroCliente();
  137.                 break;
  138.                 case 2:                
  139.                 system("cls");
  140.                 subMenu();
  141.                 break;
  142.             default:              
  143.                 break;      }  
  144.            
  145.     }
  146. }
  147.  
  148. void listarClientes()
  149. {
  150.     int i, pos;
  151.     pos = verifica_pos();
  152.    
  153.     printf("--------------------- \n");
  154.     printf("-- Listar Clientes -- \n");
  155.     printf("--   %i cliente(s)  -- \n", pos);
  156.     printf("--------------------- \n");
  157.    
  158.     if(pos)
  159.     {
  160.         for(i=0;i<maxCad;i++){
  161.             if(Cliente[i].id!=NULL)
  162.             {
  163.                 printf("\nCodigo: %d", Cliente[i].id);
  164.                 printf("\nNome: %s", Cliente[i].nome);
  165.                 printf("\nTelefone: %s", Cliente[i].telefone);
  166.                 printf("\nEndereço: %s", Cliente[i].endereco);
  167.                 printf("\nRua: %s", Cliente[i].rua);
  168.                 printf("\nComplemento: %s", Cliente[i].complemento);
  169.                 printf("\nNumero: %s", Cliente[i].numero);
  170.                 printf("\n---------------------");
  171.             }
  172. }
  173.     }
  174.     else
  175.     {
  176.         printf("\nNenhum cliente cadastrado! \n");
  177.         printf("-------------------------- \n");
  178.     }
  179.     subMenu();
  180. }
  181.  
  182. void subMenu()
  183. {
  184.     printf("\n1- Menu inicial \n");
  185.     printf("2- Inserir um novo cadastro \n");
  186.     printf("3- Mostrar todos os cadastros \n");
  187.     printf("0- Sair \n");
  188.     printf("Comando : ");
  189.     scanf("%d", &opcao);
  190.                    
  191.     if(opcao == 1)
  192.     {  
  193.         system("cls");
  194.         main();
  195.     }
  196.     else if(opcao == 2)
  197.     {
  198.         system("cls");
  199.         cadastroCliente();
  200.     }
  201.     else if(opcao == 3)
  202.     {
  203.         system("cls");
  204.         listarClientes();
  205.     }
  206.     else if(opcao == 0)
  207.     {
  208.         system("cls");
  209.         system("exit");
  210.     }
  211.     else
  212.     {  
  213.         system("cls");
  214.         printf("Opção invalida!");
  215.         main();
  216.     }
  217. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement