n="justify"> * p = pt;
}
{= * p; (k! = NULL)
{(strcmp (k-> marka, pt-> marka) == 0)
{k-> kol + +; ind = 1; break;} = k-> sled;
} (ind == 0)
{> sled = * p;> kol = 1;
* p = pt;
}
}
} vivodakolmarok (struct kolmarok ** p)
{kolmarok * i; (" nMarka kolichestvo n"); (i = * p; i! = NULL; i = i-> sled)
{("% s", i-> marka); ("% d n", i-> kol);
}
}
/* functia vivoda kolichestvo marok */kolmarok (FILE * f)
{izfaila stroka;/* budet vviditsya stroka iz faila v tip struct farall */kolmarok * p; = NULL; ((fgets ((char *) & stroka, sizeof (struct izfaila), f))! = NULL)/* schitivaet kajduu slduchuu stroku i proveryaet ee na nalichie */
{. marki [9] = ' 0'; (& p, stroka.marki);
} (p == NULL) {puts ("Net mashin");} else (& p);
} ()
{* f; k; (1) {= 0; ((f = fopen ("avto.txt", "r")) == NULL)
{("not file"); 1;
} (" n n n nVvedite chislo v zavisimosti ot togo chto hotite sdelat n n1-uznat familiu avtovladelca s zadannim nomerom n2-familii vladelcev i nomera avtomobilei dannoi marki n3-kolichestvo avtomobilei kajdoi marki n4-vixod n "); ("% d ", & k); (); (k)
{1: fioponomer (f); fclose (f); break; 2: fioinomerpomarki (f); fclose (f); break; 3: kolmarok (f ); fclose (f); break; 4: return 1;: printf ("vi veli ne korrektnoe chislo poprobuite eche"); fclose (f);
}
}
}
Додаток 2. Приклад вхідного файлу AVTO.txt
Antonov I.I. BMW AA001AR.R. HONDA DF005LH.H. HONDA ER067JG.H. MERSEDES KL666PE.T. BMW RT567UK.Q. HAMMER GH567LF.P. FERRARI FP987PO.V. LADA AS568BB.B. BMW RR489KN.L. HONDA LK794GG.J. BMW AA001A
Додаток 3. Результати тестування програми
Тест 1. Вхідного файлу немає в поточному каталозі. p align="justify"> Результат:
Not file
У наступних тестах використовується файл з додатка 2.
Тест 2.
========================================== ============ chislo v zavisimosti ot togo chto hotite sdelat
-uznat familiu avtovladelca s zadannim nomerom
-familii vladelcev i nomera avtomobilei dannoi marki
-kolichestvo avtomobilei kajdoi marki
-vixod
v...