Untitled
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