#include<stdlib.h>
#include<stdio.h>
#include<string.h>
#include<ctype.h>
int main(int argc, char*argv[])
{
const int MAX = 100;
FILE*f;
int ns, data, maxs, mins, datamax, datamin, studtot=0, totlez=0;
char corso[11];
char riga[MAX+1];
int trovato=0;
float media;
char com;
if(argc!=3)
{
printf(“numero di parametri errato\n”);
exit(1);
}
if(strcmp(argv[2],”I”)==0)
{
printf(“Data: “);
scanf(“%d”, &data);
printf(“Studenti: “);
scanf(“%d”, &ns);
f=fopen(“studenti.txt”, “a”);
if(f==NULL)
{
printf(“impossibile aprire il file\n”);
exit(1);
}
fprintf(f, “%s %d %d\n”, argv[1], data, ns);
fclose(f);
}
else if(strcmp(argv[2],”S”)==0)
{
f=fopen(“studenti.txt”, “r”);
if(f==NULL)
{
printf(“impossibile aprire il file\n”);
exit(1);
}
trovato=0;
while(fgets(riga, MAX, f)!=NULL)
{
sscanf(riga,”%s %d %d”, corso, &data, &ns);
if(strcmp(corso,argv[1])==0 && trovato==0)
{
mins=ns;
maxs=ns;
datamax=data;
datamin=data;
totlez++;
trovato=1;
}
else if(strcmp(corso,argv[1])==0 && trovato==1)
{
if(ns>maxs)
{
datamax=data;
}
else if(ns<mins)
{
datamin=data;
}
totlez++;
}
if(strcmp(corso,argv[1])==0)
studtot=studtot+ns;
}
media=studtot/totlez;
printf(“il minimo numero di studenti si e’ raggiunto in data %d\n”, datamin);
printf(“il massimo numero di studenti si e’ raggiunto in data %d\n”, datamax);
printf(“il numero medio di studenti vale %.1f\n”, media);
}
else
{
printf(“Parametri ammessi\n-S –> statistiche\n-I –> modalia’ aggiunta\n”);
}
exit(0);
}
