Si grazie YuYevon finalemente cosi il programma viene eseguito.. ora però secondo quanto dice la traccia:
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.
Non so come proseguire..
codice:
#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", "w");
if (ofp == NULL) {
fprintf(stderr, "Problema nell'apertura del file.\n");
return -1;
}
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;
}