Advertisement
Marco-Scofield

teste

Jul 10th, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 5.20 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.             fgets(Cliente[pos].nome,sizeof(Cliente[pos].nome),stdin);
  113.             setbuf(stdin,NULL);
  114.             printf("Telefone: ");
  115.             //scanf("%s", &Cliente[pos].telefone);
  116.             printf("Endereco: ");
  117.             //scanf("%s", &Cliente[pos].endereco);
  118.             printf("Rua: ");
  119.             //scanf("%s", &Cliente[pos].rua);
  120.             printf("Complemento: ");
  121.             //scanf("%s", &Cliente[pos].complemento);
  122.             printf("Numero: ");
  123.             //scanf("%s", &Cliente[pos].numero);
  124.             Cliente[pos].vazio = 1;
  125.             Cliente[pos].id = id;
  126.             i = 1;
  127.         }
  128.         while(i == 0);
  129.             printf("------------------- \n");
  130.             printf("Cliente cadastrado! \n");          
  131.             printf("------------------- \n");          
  132.            // subMenu();
  133.            printf("Deseja cadastrar mais cliente [1] ou [2] para voltar: ");
  134.            scanf("%d",&op);
  135.            switch(op){
  136.             case 1:
  137.                 system("cls");
  138.                 cadastroCliente();
  139.                 break;
  140.                 case 2:                
  141.                 system("cls");
  142.                 subMenu();
  143.                 break;
  144.             default:              
  145.                 break;      }  
  146.            
  147.     }
  148. }
  149.  
  150. void listarClientes()
  151. {
  152.     int i, pos;
  153.     pos = verifica_pos();
  154.    
  155.     printf("--------------------- \n");
  156.     printf("-- Listar Clientes -- \n");
  157.     printf("--   %i cliente(s)  -- \n", pos);
  158.     printf("--------------------- \n");
  159.    
  160.     if(pos)
  161.     {
  162.         for(i=0;i<maxCad;i++){
  163.             if(Cliente[i].id!=NULL)
  164.             {
  165.                 printf("\nCodigo: %d", Cliente[i].id);
  166.                 printf("\nNome: %s", Cliente[i].nome);
  167.                 printf("\nTelefone: %s", Cliente[i].telefone);
  168.                 printf("\nEndereço: %s", Cliente[i].endereco);
  169.                 printf("\nRua: %s", Cliente[i].rua);
  170.                 printf("\nComplemento: %s", Cliente[i].complemento);
  171.                 printf("\nNumero: %s", Cliente[i].numero);
  172.                 printf("\n---------------------");
  173.             }
  174. }
  175.     }
  176.     else
  177.     {
  178.         printf("\nNenhum cliente cadastrado! \n");
  179.         printf("-------------------------- \n");
  180.     }
  181.     subMenu();
  182. }
  183.  
  184. void subMenu()
  185. {
  186.     printf("\n1- Menu inicial \n");
  187.     printf("2- Inserir um novo cadastro \n");
  188.     printf("3- Mostrar todos os cadastros \n");
  189.     printf("0- Sair \n");
  190.     printf("Comando : ");
  191.     scanf("%d", &opcao);
  192.                    
  193.     if(opcao == 1)
  194.     {  
  195.         system("cls");
  196.         main();
  197.     }
  198.     else if(opcao == 2)
  199.     {
  200.         system("cls");
  201.         cadastroCliente();
  202.     }
  203.     else if(opcao == 3)
  204.     {
  205.         system("cls");
  206.         listarClientes();
  207.     }
  208.     else if(opcao == 0)
  209.     {
  210.         system("cls");
  211.         system("exit");
  212.     }
  213.     else
  214.     {  
  215.         system("cls");
  216.         printf("Opção invalida!");
  217.         main();
  218.     }
  219. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement