Buenasss
El programa es bastante fácil, lo único necesario es hacer un buen planteo. Primero necesitas absorver una linea del archivo, luego absorver los datos de cada una de ellas, y luego fijarte si en esos datos esta la 'X' que necesitas e incrementar la variable, algo como lo que planteaste. Te dejo un codigo de ayuda.
Código HTML:
int main (void)
{
int cant = 0, x;
FILE * file;
file = fopen(...);
printf("Ingrese la 'X': ");
scanf ("%d", &x);
obtenerDatos (file, &cant, x);
printf("Cantidad de unidades x vendidas: %d\n", cant);
return 0;
}
void obtenerDatos (FILE * file, int * cant, int x)
{
char line[100];
int dia, mes, anio, prod, unidades;
while (fgets (line, 100, file) != NULL) // Mientras haya lineas en el archivo
{
if (sscanf (line, "%d/%d/%d;%d;%d\n", &dia, &mes, &anio, &prod, &unidades) == 5)
if (prod == x)
*cant += unidades;
}
}
Faltarian algunos retoques pero la idea es esa, espero que te haya ayudado.
La fecha no es necesario leerla, pero la consideré por posibles errores de sintaxis en el archivo, igualmente para poder comtemplar todos los posibles errores de parser harían falta más ajustes pero complicaría mucho el código y el análisis sintáctico no es a lo que apuntás, asi que así estaría mas o menos bien.
Suerte.