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:
ho questo modulo che tratta due file esterni in input (alfa e beta) e ne produce uno esterno (gamma), nei due file in input troviamo i dati relativi ad alcuni elementi chimici e deve scrivere nel file esterno tutti gli elementi una sola volta sommando eventualmente le quantità (ultima voce di ogni riga che rappresenta un elemento chimico) degli elementi che si trovano sia in alfa che in beta.

Il programma gira tranquillamente e mi produce correttamente il file gamma, l'unico mio problema è che devo inserire un contatore di righe di alfa, beta e gamma usando i 3 contatori contAlfa, contBeta e contGamma.
Sto avendo seri problemi nel capire dove introdurre l'incremento dei contatori (*contAlfa = *contAlfa + 1).

Ringrazio in anticipo chi vorrà aiutarmi ^^