@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