alex91ander (Normal User)
Newbie
Messaggi: 2
Iscritto: 28/01/2011
|
Si vuole simulare la gestione di un dizionario dei sinonimi. Il dizionario è indicizzato tramite le lettere dell’alfabeto ed ogni parola contiene i suoi sinonimi (massimo 5).
L’utente deve inserire una frase dove ogni parola è separata da uno spazio
Il programma riconosce ogni singola parola e chiede all’utente se vuole cercare nel dizionario il suo sinonimo. Se la risposta è affermative il programma sostituisce la parola con il suo sinonimo.
Provvedere all’implementazione dell’algoritmo che data una frase ritorna una nuova frase con i sinonimi al posto delle parole decise dall’utente. Effettuare almeno 3 test.
Codice sorgente - presumibilmente C++ |
#include <stdio.h> #include <stdlib.h> #include <string.h> typedef struct Dizionario { char indice; struct { char parola [20]; struct { char sinonimi [20]; } s[5]; } p[4]; }d; int i=0,f=0,c=0; int main(void) { FILE *ofp; d dizionario [2]; ofp=fopen ("dizionario.txt","r"); i=0; while (i !=2) { if (i == 0) { dizionario [i].indice='a'; } if (i == 1) { dizionario [i].indice='b'; } fprintf (ofp,"%c\n",dizionario [i].indice); c=0; while (c != 4) { printf ("i=%d,c=%d",i,c); printf ("\n inserisci la %d parola dell' indice %c: ",c,dizionario[i].indice); scanf ("%s",dizionario [i].p[c].parola); fprintf (ofp,"%s\n",dizionario [i].p[c].parola); f = 0; while (f != 5) { printf ("\n inserisci il %d sinonimo della parola %s:",f,dizionario[i].p[c].parola); scanf ("%s", dizionario[i].p[c].s[f].sinonimi); fprintf (ofp, "%s\n", dizionario [i].p[c].s[f].sinonimi); f++; } c++; } i++; } fclose (ofp); system("PAUSE"); return 0; }
|
il programma compila l'algoritmo ma non riesce ad eseguirlo
ragazzi secondo voi perchè? vi ringrazio anticipatamente per le risposte
|