Advertisement
Leonardo703

trabalho 2.0

Jul 22nd, 2017
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 9.42 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <time.h>
  3. #include <string.h>
  4.  
  5. #define range 1000+1
  6. typedef struct
  7. {
  8.   int dia;
  9.   int mes;
  10.   char nome[200]; // nome com espaços
  11.   char nome2[200];// nome sem espaços
  12.   float valor;
  13.   int codigo_de_venda;
  14. } Entrada_dados;
  15.             /*prototipo das funcoes*/
  16. void opcao1(Entrada_dados dados[],int k);
  17. void opcao2(Entrada_dados dados[],int k);
  18. void opcao3(Entrada_dados dados[],int k);
  19. void opcao4(Entrada_dados dados[],int k);
  20. void opcao5(Entrada_dados dados[],int k);
  21. void opcao6();
  22. void limpa();
  23.             /*prototipo das funcoes*/
  24.  
  25. FILE *arquivo;
  26. void limpa()
  27. {
  28.   for (int i=0;i<100;i++)
  29.     printf("\n");
  30. }
  31. void opcao1(Entrada_dados dados[],int k)
  32. {
  33.   if (k==0)
  34.     arquivo = fopen("vendas.txt","w");
  35.   else
  36.     arquivo = fopen("vendas.txt","a");
  37.   int p=0;
  38.   while(p<200) //inicializa o vetor vazio
  39.   {
  40.     dados[k].nome2[p] ='\0';
  41.     p++;
  42.   }
  43.   printf("\n\t\tVoce selecionou a opcao (1)\n\n");
  44.   printf("Insira o valor do produto:R$:");
  45.   scanf("%f",&dados[k].valor);
  46.   printf("Insira o dia: ");
  47.   scanf("%d",&dados[k].dia);
  48.   printf("Insira o mes: ");
  49.   scanf("%d",&dados[k].mes);
  50.   printf("Insira o nome do vendedor:");
  51.   scanf(" %[^\n]s",&dados[k].nome);
  52.   int tam = strlen(dados[k].nome);
  53.   int j=0;
  54.   for(p=0; p<tam;p++)
  55.   {
  56.     if (dados[k].nome[p]!=' ')
  57.     {
  58.      dados[k].nome2[j] = dados[k].nome[p];
  59.      j++;
  60.     }
  61.   }
  62.   dados[k].codigo_de_venda = rand() % range;
  63.   int i=0;
  64.   while (i<k)
  65.   {
  66.     if(dados[k].codigo_de_venda==dados[i].codigo_de_venda)
  67.     {
  68.       dados[k].codigo_de_venda = rand() % range;
  69.       i=0;
  70.     }
  71.     else
  72.       i++;
  73.   }
  74.   fprintf(arquivo,"%d ",dados[k].codigo_de_venda);
  75.   fprintf(arquivo,"%s ",dados[k].nome2);
  76.   fprintf(arquivo,"%.2f ",dados[k].valor);
  77.   fprintf(arquivo,"%d ",dados[k].dia);
  78.   fprintf(arquivo,"%d \n",dados[k].mes);
  79.   fclose(arquivo);
  80.   limpa();
  81. }
  82. void opcao2(Entrada_dados dados[],int k)
  83. {
  84.   if (k==0)
  85.   {
  86.     printf("\nPrimeiro insira os dados.\n");
  87.   }
  88.   else
  89.   {
  90.   arquivo = fopen("vendas.txt","w");
  91.     int x=0;
  92.     k--;
  93.     int j=0,p=0;
  94.     printf("\n\t\tVoce selecionou a opcao (2)\n\n");
  95.     int codigo;
  96.     printf("Insira o codigo da venda: ");
  97.     scanf("%d",&codigo);
  98.     for(p=0;j<=k;p++)
  99.     {
  100.       if(dados[p].codigo_de_venda==codigo)
  101.       {
  102.         for(j=0;j<p;j++)
  103.         {
  104.             fprintf(arquivo,"%d ",dados[j].codigo_de_venda);
  105.             fprintf(arquivo,"%s ",dados[j].nome2);
  106.             fprintf(arquivo,"%.2f ",dados[j].valor);
  107.             fprintf(arquivo,"%d ",dados[j].dia);
  108.             fprintf(arquivo,"%d \n",dados[j].mes);
  109.         }
  110.         for(j=p;j<k;j++)
  111.         {
  112.             fprintf(arquivo,"%d ",dados[j+1].codigo_de_venda);
  113.             fprintf(arquivo,"%s ",dados[j+1].nome2);
  114.             fprintf(arquivo,"%.2f ",dados[j+1].valor);
  115.             fprintf(arquivo,"%d ",dados[j+1].dia);
  116.             fprintf(arquivo,"%d \n",dados[j+1].mes);
  117.          }
  118.          dados[p].codigo_de_venda=0;
  119.          dados[p].valor=0;
  120.          while(x<200) //inicializa o vetor vazio
  121.          {
  122.            dados[p].nome2[x] ='\0';
  123.            x++;
  124.          }
  125.          dados[p].dia=0;
  126.          dados[p].mes=0;
  127.        k--;
  128.      }
  129.     }
  130.   }
  131.   fclose(arquivo);
  132. }
  133. void opcao3(Entrada_dados dados[],int k)
  134. {
  135.   arquivo=fopen("vendas.txt","r");
  136.   int p=0;
  137.   p=0;
  138.   char nomeBusca[200];
  139.   char nomeBuscaFormatado[200];
  140.   while(p<200) //inicializa o vetor vazio
  141.   {
  142.     nomeBuscaFormatado[p] ='\0';
  143.     p++;
  144.   }
  145.   if (arquivo==NULL)
  146.     {
  147.       printf("Primeiro insira os dados.\n");
  148.     }
  149.     else
  150.     {
  151.       printf("\n\t\tVoce selecionou a opcao (3)\n\n");
  152.       printf("Insira o nome do vendedor:");
  153.       scanf(" %[^\n]s",&nomeBusca);
  154.       int tam = strlen(nomeBusca);
  155.       int j=0;
  156.       p=0;
  157.       int resultado;
  158.       for(p=0; p<tam;p++)
  159.       {
  160.         if (nomeBusca[p]!=' ')
  161.         {
  162.          nomeBuscaFormatado[j]=nomeBusca[p];
  163.          j++;
  164.         }
  165.       }
  166.       j=0;
  167.       while (j<=k)
  168.       {
  169.       resultado = strcmp(nomeBuscaFormatado,dados[j].nome2);
  170.       if(resultado==0)
  171.       {
  172.         printf("Codigo da venda:%d \n",dados[j].codigo_de_venda);
  173.         printf("Valor da venda R$:%.2f \n",dados[j].valor);
  174.         printf("Data da venda: %d/%d \n",dados[j].dia,dados[j].mes);
  175.       }
  176.       j++;
  177.       }
  178.       }
  179.     fclose(arquivo);
  180. }
  181. void opcao4(Entrada_dados dados[],int k)
  182. {
  183.   arquivo=fopen("vendas.txt","r");
  184.   if (arquivo==NULL)
  185.   {
  186.     printf("Primeiro insira os dados.\n");
  187.   }
  188.   else
  189.   {
  190.     int p=0;
  191.     p=0;
  192.     char nomeBusca[200];
  193.     char nomeBuscaFormatado[200];
  194.     while(p<200) //inicializa o vetor vazio
  195.     {
  196.       nomeBuscaFormatado[p] ='\0';
  197.       p++;
  198.     }
  199.  
  200.         printf("\n\t\tVoce selecionou a opcao (4)\n\n");
  201.         printf("Insira o nome do vendedor:");
  202.         scanf(" %[^\n]s",&nomeBusca);
  203.         int tam = strlen(nomeBusca);
  204.         int j=0;
  205.         p=0;
  206.         int resultado;
  207.         for(p=0; p<tam;p++)
  208.         {
  209.           if (nomeBusca[p]!=' ')
  210.           {
  211.            nomeBuscaFormatado[j]=nomeBusca[p];
  212.            j++;
  213.           }
  214.         }
  215.         int dia=0, mes=0,o;
  216.         printf("Deseja listar as vendas do dia ou do mes?\n");
  217.         printf("Dia: (1)\nMes: (2)");
  218.         scanf("%d",&o);
  219.         if(o==1)
  220.         {
  221.           printf("Insira o dia e o mes (D/M):");
  222.           scanf("%d %d",&dia,&mes);
  223.         }
  224.         if(o==2)
  225.         {
  226.           printf("Insira o mes:");
  227.           scanf("%d",&mes);
  228.         }
  229.         j=0;
  230.         while (j<=k)
  231.         {
  232.           resultado = strcmp(nomeBuscaFormatado,dados[j].nome2);
  233.           if(resultado==0)
  234.           {
  235.             if(o==1)
  236.             {
  237.               if ((dia==dados[j].dia)&&(mes==dados[j].mes))
  238.               {
  239.                 printf("Codigo da venda:%d \n",dados[j].codigo_de_venda);
  240.                 printf("Valor da venda R$:%.2f \n",dados[j].valor);
  241.                 printf("Data da venda: %d/%d \n",dados[j].dia,dados[j].mes);
  242.               }
  243.             }
  244.             if((o==2) && (mes==dados[j].mes))
  245.             {
  246.               printf("Codigo da venda:%d \n",dados[j].codigo_de_venda);
  247.               printf("Valor da venda R$:%.2f \n",dados[j].valor);
  248.               printf("Data da venda: %d/%d \n",dados[j].dia,dados[j].mes);
  249.             }
  250.           }
  251.         j++;
  252.         }
  253.     }
  254.     fclose(arquivo);
  255. }
  256. void opcao5(Entrada_dados dados[],int k)
  257. {
  258.   arquivo=fopen("vendas.txt","r");
  259.   if (arquivo==NULL)
  260.   {
  261.     printf("Primeiro insira os dados.\n");
  262.   }
  263.   else
  264.   {
  265.     float soma=0;
  266.     int p=0;
  267.     p=0;
  268.     char nomeBusca[200];
  269.     char nomeBuscaFormatado[200];
  270.     while(p<200) //inicializa o vetor vazio
  271.     {
  272.       nomeBuscaFormatado[p] ='\0';
  273.       p++;
  274.     }
  275.  
  276.         printf("\n\t\tVoce selecionou a opcao (5)\n\n");
  277.         printf("Insira o nome do vendedor:");
  278.         scanf(" %[^\n]s",&nomeBusca);
  279.         int tam = strlen(nomeBusca);
  280.         int j=0;
  281.         p=0;
  282.         int resultado;
  283.         for(p=0; p<tam;p++)
  284.         {
  285.           if (nomeBusca[p]!=' ')
  286.           {
  287.            nomeBuscaFormatado[j]=nomeBusca[p];
  288.            j++;
  289.           }
  290.         }
  291.         int dia, mes,o;
  292.         printf("Deseja listar as vendas do dia ou do mes?\n");
  293.         printf("Dia: (1)\nMes: (2)");
  294.         scanf("%d",&o);
  295.         if(o==1)
  296.         {
  297.           printf("Insira o dia e o mes (D M):");
  298.           scanf("%d %d",&dia,&mes);
  299.         }
  300.         if(o==2)
  301.         {
  302.           printf("Insira o mes:");
  303.           scanf("%d",&mes);
  304.         }
  305.         j=0;
  306.         while (j<=k)
  307.         {
  308.           resultado = strcmp(nomeBuscaFormatado,dados[j].nome2);
  309.           if(resultado==0)
  310.           {
  311.             if((o==1) && (dia==dados[j].dia) && (mes==dados[j].mes))
  312.               soma = soma + dados[j].valor;
  313.             if((o==2) && (mes==dados[j].mes))
  314.               soma = soma + dados[j].valor;
  315.           }
  316.         j++;
  317.         }
  318.       printf("Vendas nesse diaR$:%.2f",soma);
  319.       printf("Vendas nesse mesR$:%.2f",soma);
  320.     }
  321.     fclose(arquivo);
  322. }
  323. void opcao6()
  324. {
  325.   printf("Voce parou a o programa");
  326. }
  327. int menu()
  328. {
  329.   int opcao;
  330.   printf("\n\n\n\n\n\n\n");
  331.   printf("\t########################################################\n");
  332.   printf("\t#                                                      #\n");
  333.   printf("\t#          Programa de Gerenciamento de vendas         #\n");
  334.   printf("\t#                                                      #\n");
  335.   printf("\t########################################################\n\n\n");
  336.   printf("\t\tEscolha uma opcao.....\n");
  337.   printf("(1):Insira uma nova venda\n");
  338.   printf("(2):Remover venda\n");
  339.   printf("(3):Mostrar todas as vendas de um vendedor\n");
  340.   printf("(4):Mostrar todas as vendas de um vendedor em uma data \n");
  341.   printf("(5):Mostrar o valor total de vendas de um vendedor em uma determinada data\n");
  342.   printf("(6):Fechar o programa\t\t");
  343.   scanf("%d",&opcao);
  344.   return opcao;
  345. }
  346.  
  347.  
  348.  
  349. int main()
  350. {
  351.   Entrada_dados dados[999];
  352.   int contador=0, resultado,k=0;
  353.   srand(time(NULL));
  354.   while (contador==0)
  355.   {
  356.     resultado = menu();
  357.     if (resultado==1)
  358.     {
  359.       opcao1(dados,k);
  360.       k++;
  361.       //n++;
  362.     }
  363.     if (resultado==2)
  364.     opcao2(dados,k);
  365.     if (resultado==3)
  366.       opcao3(dados,k);
  367.     if (resultado==4)
  368.       opcao4(dados,k);
  369.     if (resultado==5)
  370.       opcao5(dados,k);
  371.     if (resultado==6)
  372.     {
  373.       opcao6();
  374.       contador=1;
  375.     }
  376.   }
  377.     return 0;
  378.  
  379. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement