#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 nrighe=0, nctot=0, max, min, ncriga,i,ris;
char riga[MAX+1];
char rigamassima[MAX+1];
float media;
if(argc!=2)
{
printf(“ERRORE, numero di comandi errato, uso del programma: nome del file\n”);
exit(1);
}
f=fopen(argv[1],”r”);
if(f==NULL)
{
printf(“impossibile aprire il file\n”);
exit(1);
}
while(fgets(riga ,MAX ,f)!=NULL)
{
ncriga=0;
nrighe++;
for(i=0; riga[i]!=0; i++)
{
if(isgraph(riga[i]))
ncriga++;
}
if(nrighe==1)
{
max=ncriga;
strcpy(rigamassima, riga);
min=ncriga;
}
else if(nrighe!=1 && ncriga>max)
{
max=ncriga;
strcpy(rigamassima, riga);
}
else if(nrighe!=1 && ncriga<min)
{
min=ncriga;
}
nctot=nctot+ncriga;
}
ris=fclose(f);
if(ris!=0)
printf(“impossibile chiudere il file\n”);
media = (max+min)/2;
printf(“numero di righe: %d\n”, nrighe);
printf(“numero di caratteri: %d\n”, nctot);
printf(“numero di caratteri per riga:\n- medio %.1f\n- massimo %d\n”, media ,max);
printf(“riga piu’ lunga: %s\n”, rigamassima);
exit(0);
}
