08/02/12 11:00
cripto_419
Salve a tutti! ho fatto un codice che verifica se un testo contiene parole italiane. Il programma prende in input un file e si avvale di un altro file di testo (dizionario.txt) dove ho messo le parole italiane più frequenti. Con una strcmp verifico quante parole italiane sono presenti e ne traggo le conclusioni. Ora il mio problema è che nonostante metto in input un testo italiano non riconosce la presenza di parole italiane! Riuscite a trovare cosa c'è che non va?
#include<stdio.h> #include<stdlib.h> #include<string.h> int italiano(char *n_file); int main(void) { char *nome_file1; nome_file1=malloc(50*sizeof(char)); printf("Inserisci il nome del file\n"); scanf("%s", nome_file1); if(italiano(nome_file1)) printf("il testo e' italiano!"); else printf("il testo non e' italiano!"); return 0; } int italiano(char *n_file) { FILE *g, *f; f=fopen(n_file, "r"); g=fopen("C:\dizionario.txt", "r"); char *parola=malloc(25*sizeof(char)); char *str=malloc(25*sizeof(char)); int ita=0; while((fscanf(f, "%s", str))!=EOF) { while((fscanf(g, "%s", parola))!=EOF) if(strcmp(str, parola)==0) ita++; } fclose(g); fclose(f); printf("%d\n", ita); if(ita>5) return 1; else return 0; }
aaa