codice:
void fusione(FILE *alfa, FILE *beta, FILE *gamma, int *contAlfa, int *contBeta, int *contGamma)
{
char nome[10],nome2[10],simbolo[10],simbolo2[10];
float natom,natom2;
int num,num2;
fscanf(alfa, "%s%s%f%d", nome, simbolo, &natom, &num);
fscanf(beta, "%s%s%f%d", nome2, simbolo2, &natom2, &num2);
while(!feof(alfa) && !feof(beta))
{
if(strcmp(nome, nome2) < 0)
{fprintf(beta, "%s \t%s \t%f \t%d\n", nome, simbolo, natom, num);
fscanf(alfa, "%s%s%f%d", nome, simbolo, &natom, &num);}
else
{
if(strcmp(nome, nome2) > 0)
{fprintf(gamma, "%s \t%s \t%f \t%d\n", nome2, simbolo2, natom2, num2);
fscanf(beta, "%s%s%f%d", nome2, simbolo2, &natom2, &num2);}
else
{num = num + num2;
fprintf(gamma, "%s \t%s \t%f \t%d\n", nome, simbolo, natom, num);
fscanf(alfa, "%s%s%f%d", nome, simbolo, &natom, &num);
fscanf(beta, "%s%s%f%d", nome2, simbolo2, &natom2, &num2);}
}
}
if(feof(beta))
{
while(!feof(alfa))
{fprintf(gamma, "%s \t%s \t%f \t%d\n", nome, simbolo, natom, num);
fscanf(alfa, "%s%s%f%d", nome,&simbolo, &natom, &num);}
fprintf(gamma, "%s \t%s \t%f \t%d\n", nome, simbolo, natom, num);
}
else
{
if(feof(alfa))
{
while(!feof(beta))
{fprintf(gamma, "%s \t%s \t%f \t%d\n", nome2, simbolo2, natom2, num2);
fscanf(beta, "%s%s%f%d",&nome2, simbolo2, &natom2, &num2);}
fprintf(gamma, "%s \t%s \t%f \t%d\n", nome2, simbolo2, natom2, num2);
}
}
}
Salve a tutti, vi descrivo il mio problemino: