// Costituz.c
#include <stdio.h>
#define NOME_FILE "COSTITUZ.txt"


int main()
{
   FILE * file_in;
   char car;
   int nchar; // numero di caratteri
   int nr; // numero di r
   float freq; // frequenza di r

      
   file_in  = fopen(NOME_FILE, "r");

   if(file_in == NULL)
   {
      printf( "Non trovo il file.\n" );
      exit(-1);
   }
    
   nchar = 0;
   nr = 0;
   
   fscanf(file_in , "%c", &car);
   while (!feof(file_in))
   {
      // 1. conta quanti caratteri ci sono nel file COSTITUZ.TXT 
      nchar++;
      // 2. conta quante volte compare la lettera 'r' maiuscola o minuscola) ;
      if (car == 'r'||car == 'R')
      {
         printf("%c \n", car);
         nr++;
      }
      fscanf(file_in , "%c", &car); 
   }
   
   // 3. calcola come FLOAT la frequenza di occorrenza della lettera 'r' 
   //    (maiuscola o minuscola)
   freq = ((float) nr) / nchar; // attenzione: e'necessario il cast!
     
   printf(" Il numero di caratteri e': %d\n", nchar);
   printf(" Il numero di volte che compare la lettera 'r' o 'R' e': %d\n", nr);
   printf(" La frequenza della lettera 'r' o 'R' e': %.3g\n", freq);
    
    //4. (facoltativo) riscrivi il codice che trova quale e' la lettera 
    //   piu' ripetuta nel file costituz.txt: puoi fare una versione 
    //   elementare che conta tutte le lettere contenute nel file in oggetto, 
    //   oppure una versione piu' avanzata che considera che i caratteri, 
    //   nel linguaggio C, sono numeri crescenti.
    
    // SUGGERIMENTO: utilizzare un vettore lungo quanto tutte le lettere
    // dell'afabeto anglossassone (considerando sia le maiuscole che le minuscole)
    
    
   fflush(file_in);
   fclose(file_in);
    
   fflush(stdin);
   getchar();
   exit(0);    
}