Ir ao conteúdo
  • Cadastre-se

Caue Santana

Membro Júnior
  • Posts

    4
  • Cadastrado em

  • Última visita

Reputação

0
  1. @Gustavo.Loggin Bom, eu tentei comparar 2 vetores, mas de qualquer forma esses vetores têm o mesmo valor, então se for mais fácil comparar elementos de um único vetor sinta-se a vontade para mudar o que for preciso #include<stdio.h> #include<time.h> #include<stdlib.h> #include <string.h> #include <locale.h> struct Final { int ano, mes, dia, codigo; float qtde, total; }; struct Comp { int ano, mes, dia, codigo; float qtde, preco; }; struct TVendasT { int ano, mes, dia, codigo; float qtde, preco; }; int main() { FILE *Arq, *Arq1; int QtdeVenda = 0; int QtdeVend = 0; int QtdeVendasDia = 0; int i, cont, g, h, j, x, y, z, teste; int *A1, *A2, *M1, *M2, *D1, *D2, *Cod1, *Cod2, *d, *a, *m; float *Q1, *Q2, *P1, *P2; int *Ano[z], *Mes[y], *Dia[x]; float Total[x], *Media[x]; char S[100]; char Q[100]; char K[100]; float var1, var2; TVendasT *VT; Comp *C; Final *F; Arq = fopen("vendas.txt", "r"); while (fgets(Q, sizeof(Q), Arq) != NULL) QtdeVenda++; fclose(Arq); D1 = (int *)malloc(sizeof(int) * QtdeVenda); M1 = (int *)malloc(sizeof(int) * QtdeVenda); A1 = (int *)malloc(sizeof(int) * QtdeVenda); Cod1 = (int *)malloc(sizeof(int) * QtdeVenda); Q1 = (float *)malloc(sizeof(float) * QtdeVenda); P1 = (float *)malloc(sizeof(float) * QtdeVenda); D2 = (int *)malloc(sizeof(int) * QtdeVenda); M2 = (int *)malloc(sizeof(int) * QtdeVenda); A2 = (int *)malloc(sizeof(int) * QtdeVenda); Cod2 = (int *)malloc(sizeof(int) * QtdeVenda); Q2 = (float *)malloc(sizeof(float) * QtdeVenda); P2 = (float *)malloc(sizeof(float) * QtdeVenda); Arq = fopen("vendas.txt", "r"); while (fgets(S, sizeof(S), Arq) != NULL) QtdeVend++; VT = (TVendasT *)malloc(sizeof(TVendasT) * QtdeVend); fclose(Arq); Arq = fopen("vendas.txt", "r"); i = 0; while (fscanf(Arq, "%d;%d;%d;%d;%f;%f;\n", &A1[i], &M1[i], &D1[i], &Cod1[i], &Q1[i], &P1[i]) != EOF) { teste++; i++; } fclose (Arq); printf("%d\n", i); //Eu coloquei esses printf para saber se estava tudo ocorrendo bem, antes eu iria usar a variável "teste" mas não deu muito certo. teste--; printf("%d\n\n", teste); //Aqui, ele pega todos os valores que leu do Arq "vendas.txt" e salva a partir da 2ª linha /* Eu fiz isso pois eu decidi fazer a comparação entre dois vetores, mas se for mais fácil comparar os elementos de um vetor pode ser dessa forma também, apenas tem que fazer a comparação. */ Arq = fopen("totvendas.txt", "w"); for(i = 1; i < QtdeVend; i++) { fprintf(Arq, " %d;%d;%d;%6.2f;%5.2f; \n", D1[i], M1[i], A1[i], Q1[i], P1[i]); } fclose(Arq); //Esse foi um teste para saber se até aqui está OK. printf("PI\n\n"); system("pause"); //Arquivo "totvendas.txt" que recebeu os valores do "vendas.txt" a partir da segunda linha Arq = fopen("totvendas.txt", "r"); i = 0; while (i <= QtdeVenda-1) { fscanf(Arq, "%d;%d;%d;%f;%f;\n", &D2[i], &M2[i], &A2[i], &Q2[i], &P2[i]); i++; } fclose (Arq); printf("foi\n"); printf("%d", i); // for(i = 0; i < QtdeVend; i++) //{ // if(D2 == 0 || M2 == 0 || A2 == 0 || D2 == 0) // printf(" %d;%d;%d;%6.2f;%5.2f; \n", D2[i], M2[i], A2[i], Q2[i], P2[i]); // } //fclose(Arq); printf("\nPA\n"); Arq = fopen("totvendas.txt","r"); i=0; x=1; // *Total[0] = P1[0]; // *Dia[0] = D1[0]; //Esse foi o último teste que tentei fazer cont=0; while (D1 == D2) { Total[i] = P1[cont]; cont++; } printf("Piu\n"); //Abaixo estão vários teste que eu tentei fazer para rodar, mas n obtive êxito // printf("%d \t %d\n", Total[0], P1[0]); // printf("%d \t %d\n", Dia[0], D1[0]); /* for(cont=1; cont<QtdeVenda;cont++) { if (D2 == 0) { Total[x] += g; break; } if (D1[cont] == D2[cont]) { g = P1[cont]; Total[x] += g; g = NULL; } else { h = D1[cont]; Dia[x] = h; h = NULL; x++; } } */ // for(cont =0; cont<x;cont++) // { // printf("%d \t %d", Dia[cont], Total[cont]); // } // { // if (D1 == D2) // } /* //else { if(D1 != D2) { Dia[i] = D1[i]; x++; } } i++; } */ // fclose(Arq); // system("pause"); // printf("%d \t %d", i, j); /* for(cont=0;cont<QtdeVend;cont++) { A2[cont] = A1[cont]; M2[cont] = M1[cont]; D2[cont] = D1[cont]; } */ // system("pause"); printf("PI"); } Estou anexando também o arquivo -> vendas.txt
  2. Olá, estou com uma dúvida num programa que estou fazendo. É assim: Tenho que fazer uma comparação no vetor para que as datas de um arquivo não se repitam. Tentei usar o strcmp mas n entendi muito bem como funciona. E tem um outro ponto, para cada comparação entre os elementos tenho que fazer uma soma de valores onde a parte das datas se repetem e caso não repita, eu coloco as datas em outro vetor, mas pelo que eu vi, só dá para comparar o vetor inteiro ao invés de parte por parte, mas posso estar enganado, como disse n entendi muito bem como funciona. Então como fazer a comparação tal que a cada comparação eu posso fazer uma determinada função?

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...