Estratto del documento

Programma in C

#include <stdio.h>

int consonante(char c) /* facoltativa */

{

c = tolower(c); /* converte il carattere in minuscolo */

51

if ( (c > a) && (c <= z) && (c != e) &&

(c != i) && (c != o) && (c != u) )

return 1;

else return 0;

}

void correggi(char *file1, char *file2)

{

FILE *f1, *f2;

char a;

signed char b; /* serve per il confronto con EOF */

f1 = fopen(file1, "r");

f2 = fopen(file2, "w");

if ( (b = fgetc(f1)) != EOF ) /* legge primo carattere */

fputc(b, f2); /* se non EOF lo copia nel file2 */

while ( fscanf(f1, "%c", &a) != EOF ) /* a: ultimo carattere copiato */

{

fprintf(f2, "%c", a); /* b: penultimo caratt. copiato */

while ( a == b && consonante(a) ) /* due consonanti uguali copiate */

{

if ( fscanf(f1,"%c",&a) == EOF ) /* si legge senza copiare */

break;

if (a != b)

fprintf(f2, "%c", a);

}

b = a; /* si aggiorna b */

}

fclose(f1);

fclose(f2);

}

main () /* programma principale */

{

correggi("errato.txt", "ok.txt");

}

Anteprima
Vedrai una selezione di 1 pagina su 1
Programma C - Correttore Pag. 1
1 su 1
Sintesi

Correttore

Il programma è in grado di rimuovere gli errori di battitura che abbiano generato parole con tre o più consonanti uguali adiacenti, eliminando tutte le occorrenze della consonante tranne 2 (ad esempio, gatttto diventa gatto). Il programma lavora su due file, dove prende il primo file in cui deve correggere e lo salva nel secondo file nel modo corretto.

D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi