Untitled

 avatar
unknown
c_cpp
4 months ago
1.9 kB
3
Indexable
/*
Scrivere un programma che chiede all’utente il nome di una serie di file di testo (ciascuno di al più 30 caratteri) presenti nel file system e per ciascuno
di essi conta il numero di caratteri in essi presenti. Il programma termina quando l’utente fornisce il nome di un file non accessibile e visualizza il
numero totale di caratteri di tutti i file cui si è fatto accesso ed il nome del file con più caratteri.


/Anna/'esempio.txt' --> 14 ('ciao come stai')
/Anna/'esempio2.txt' --> 15
/Anna/'esempio3.txt' --> 25
/Anna/'esempio4.txt' --> 38

'esempio44.txt'

scanf("")

file = fopen(filename, "r");

*/
#include <stdio.h>
#include <string.h>

#define MAX_FILENAME 31 // 30 caratteri + terminatore


int main() {
    
    char filename[MAX_FILENAME];
    char max_filename[MAX_FILENAME] = "";
    FILE *file;
    int continua = 1;
    int caratteri_file=0;
    char ch;
    int caratteri_totali=0;
    int max_caratteri=0;
    
    printf("Inserisci il nome del file (max 30 caratteri");
    
    while(scanf("%30s", filename) == 1 && continua == 1)
    {
        file = fopen(filename, "r"); //'esempio39.txt' 
        
        if(file == NULL)
        {
           continua = 0;
        }else{
            caratteri_file=0;
            
            while((ch = fgetc(file)) != EOF){
                caratteri_file++; //11
            }
            
            caratteri_totali += caratteri_file; //45
            
            if(caratteri_file > max_caratteri)
            {
                max_caratteri = caratteri_file; // 25
                strcpy(max_filename, filename); // 'esempio3.txt'
            }
            
            fclose(file);
            
        }
        
    }
    
    printf("Numero totale di caratteri: %d\n", caratteri_totali);
    
    if(max_caratteri > 0){
        printf("File con piu caratteri: %s (%d caratteri)\n", max_filename, max_caratteri);
    }
    
    
    
    

    return 0;
}

Editor is loading...
Leave a Comment