Advertisement
Guest User

Work

a guest
Nov 21st, 2019
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 6.06 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<string.h>
  4. #include<locale.h>
  5. #include<windows.h>
  6. int productCode[5]={-1, -1, -1, -1, -1}, quant[5], quantS[5]={0, 0, 0, 0, 0}, invalidCode=0;
  7. float price[5];
  8. char productName[5][9];
  9.  
  10. //MENU FUCTION
  11. int Menu(){
  12.     setlocale(LC_ALL, "Portuguese");
  13.     int option;
  14.     system("cls");
  15.     Sleep(200);
  16.     printf("0 - Sair\n");      
  17.     printf("1 - Cadastrar\n");
  18.     printf("2 - Vendas\n");
  19.     printf("3 - Relatório\n");
  20.     printf("Escolha uma opção: ");
  21.     scanf("%d", &option);
  22.     if(option<0 || option>3){
  23.         while(option<0 || option>3){
  24.             system("cls");
  25.             Sleep(200);
  26.             printf("0 - Sair\n");      
  27.             printf("1 - Cadastrar\n");
  28.             printf("2 - Vendas\n");
  29.             printf("3 - Relatório\n");
  30.             printf("Opção Inválida. Digite '0', '1', '2' ou '3'.\n");   
  31.             printf("Escolha uma opção: ");
  32.             scanf("%d", &option);      
  33.         }
  34.     }
  35.     return(option);
  36. }
  37.  
  38. //REGISTER FUCTION
  39. int Register(){
  40.     int option;
  41.     for(int x=0; x<5; x++){
  42.         system("cls");
  43.         Sleep(200);
  44.         printf("+----------------------+\n");
  45.         printf("| CADASTRO DE PRODUTOS |\n");
  46.         printf("+----------------------+\n\n");
  47.         printf("Digite o nome do %dº produto: ", x+1);
  48.         fflush(stdin);
  49.         gets(productName[x]);
  50.         printf("Digite o preço do %dº  produto: ", x+1);
  51.         scanf("%f", &price[x]);
  52.         printf("Digite a quantidade em estoque: ");
  53.         scanf("%d", &quant[x]);
  54.         printf("Digite o código do %dº  produto: ", x+1);
  55.         scanf("%d", &productCode[x]);
  56.         for(int y=x-1; y>=0; y--){
  57.             if(productCode[x]==productCode[y]){
  58.                 invalidCode=1;
  59.             }
  60.         }
  61.         if(invalidCode==1){
  62.             do{
  63.                 invalidCode=0;
  64.                 printf("O código %d já está em uso.\n", productCode[x]);
  65.                 printf("Digite outro código para o %dº  produto: ", x+1);
  66.                 scanf("%d", &productCode[x]);
  67.                 for(int y=x-1; y>=0; y--){
  68.                     if(productCode[x]==productCode[y]){
  69.                         invalidCode=1;
  70.                     }
  71.                 }
  72.             }while(invalidCode==1);
  73.         }
  74.     }
  75.     system("cls");
  76.     Sleep(200);
  77.     printf("Deseja fazer alguma outra operação? [0] NÃO - [1] SIM ");
  78.     scanf("%d", &option);
  79.     if(option<0 || option>1){
  80.         while(option<0 || option>1){
  81.             system("cls");
  82.             Sleep(200);
  83.             printf("Opção Inválida. Digite somente '0' ou '1'.\n");
  84.             printf("Deseja fazer alguma outra operação? [0] NÃO - [1] SIM ");
  85.             scanf("%d", &option);
  86.         }
  87.     }
  88.     return(option);
  89. }
  90.  
  91. //SALES FUNCTION
  92. int Sales(){
  93.     int code, aux=0, pos, quantP, answer;  
  94.     do{
  95.         aux=0;
  96.         system("cls");
  97.         Sleep(200);
  98.         printf("+-----+--------+-----+-------+\n");
  99.         printf("| COD |  NOME  | QTD | PREÇO |\n");
  100.         printf("+-----+--------+-----+-------+\n");
  101.         for(int x=0; x<5; x++){
  102.             if(productCode[x]!=-1){
  103.                 printf(" %d\t%-9s%d    %.2f\n", productCode[x], productName[x], quant[x], price[x]);
  104.             }
  105.         }
  106.         printf("+-----+--------+-----+-------+\n\n");
  107.         printf("Digite o código do produto que irá vender: ");
  108.         scanf("%d", &code);
  109.         for(int x=0; x<5; x++){
  110.             if(code==productCode[x]){
  111.                 aux=1;
  112.                 pos=x;
  113.             }  
  114.         }
  115.         if(aux==0){
  116.             while(aux==0){
  117.                 system("cls");
  118.                 Sleep(200);
  119.                 printf("+-----+--------+-----+-------+\n");
  120.                 printf("| COD |  NOME  | QTD | PREÇO |\n");
  121.                 printf("+-----+--------+-----+-------+\n");
  122.                 for(int x=0; x<5; x++){
  123.                     if(productCode[x]!=-1){
  124.                         printf(" %d\t%-9s%d    %.2f\n", productCode[x], productName[x], quant[x], price[x]);
  125.                     }
  126.                 }
  127.                 printf("+-----+--------+-----+-------+\n\n");
  128.                 printf("Código inválido.\nDigite outro código: ");
  129.                 scanf("%d", &code);
  130.                 for(int x=0; x<5; x++){
  131.                     if(code==productCode[x]){
  132.                         aux=1;
  133.                         pos=x;
  134.                     }  
  135.                 }  
  136.             }
  137.         }
  138.         if(aux==1){
  139.             system("cls");
  140.             Sleep(200);
  141.             printf("+-----+--------+-----+-------+\n");
  142.             printf("| COD |  NOME  | QTD | PREÇO |\n");
  143.             printf("+-----+--------+-----+-------+\n");
  144.             printf(" %d\t%-9s%d   %.2f\n", productCode[pos], productName[pos], quant[pos], price[pos]);
  145.             printf("+-----+--------+-----+-------+\n\n");
  146.             printf("Digite a quantidade que deseja vender: ");
  147.             scanf("%d", &quantP);
  148.             if(quantP>quant[pos] || quantP<0){
  149.                 while(quantP>quant[pos] || quantP<0){
  150.                     system("cls");
  151.                     Sleep(200);
  152.                     printf("+-----+--------+-----+-------+\n");
  153.                     printf("| COD |  NOME  | QTD | PREÇO |\n");
  154.                     printf("+-----+--------+-----+-------+\n");
  155.                     printf(" %d\t%-9s%d   %.2f\n", productCode[pos], productName[pos], quant[pos], price[pos]);
  156.                     printf("+-----+--------+-----+-------+\n\n");
  157.                     printf("Quantidade inválida.\nDigite uma quantidade válida: ");
  158.                     scanf("%d", &quantP);
  159.                 }
  160.             }
  161.             if(quantP<=quant[pos]){
  162.                 quantS[pos]+=quantP;
  163.                 quant[pos]-=quantP;
  164.                 printf("Valor total: R$%.2f\n", price[pos]*quantP);
  165.                 printf("Deseja vender mais algum produto? [0] NÃO - [1] SIM ");
  166.                 scanf("%d", &answer);
  167.                 if(answer<0 || answer>1){
  168.                     while(answer<0 || answer>1){
  169.                         system("cls");
  170.                         Sleep(200);
  171.                         printf("Opção Inválida. Digite somente '0' ou '1'.\n");
  172.                         printf("Deseja vender mais algum produto? [0] NÃO - [1] SIM ");
  173.                         scanf("%d", &answer);
  174.                     }
  175.                 }
  176.             }
  177.         }
  178.        
  179.     }while(answer!=0);
  180.     return(2);
  181. }
  182.  
  183. //REPORT FUNCTION
  184. int Report(){
  185.     int option;
  186.     system("cls");
  187.     Sleep(200);
  188.     printf("+-----+--------+-----+-------+---------+-------+\n");
  189.     printf("| COD |  NOME  | QTD | PREÇO | VENDIDO | VALOR |\n");
  190.     printf("+-----+--------+-----+-------+---------+-------+\n");
  191.     for(int x=0; x<5; x++){
  192.         if(productCode[x]!=-1){
  193.             printf(" %d\t%-9s%d    %.2f    %d    %.2f\n", productCode[x], productName[x], quant[x], price[x], quantS[x], quantS[x]*price[x]);
  194.         }
  195.     }
  196.     printf("\nDeseja fazer alguma outra operação? [0] NÃO - [1] SIM ");
  197.     scanf("%d", &option);
  198.     if(option<0 || option>1){
  199.         while(option<0 || option>1){
  200.             system("cls");
  201.             Sleep(200);
  202.             printf("Opção Inválida. Digite somente '0' ou '1'.\n");
  203.             printf("Deseja fazer alguma outra operação? [0] NÃO - [1] SIM ");
  204.             scanf("%d", &option);
  205.         }
  206.     }  
  207.     return(option);
  208. }
  209.  
  210. //MAIN FUNCTION
  211. main(){
  212.     int op;
  213.     do{
  214.         op=Menu();
  215.         if(op==1){
  216.             op=Register();
  217.         }
  218.         else if(op==2){
  219.             op=Sales();
  220.         }
  221.         else if(op==3){
  222.             op=Report();
  223.         }
  224.     }while(op!=0);
  225. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement