Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C/C++ - problema durante l'esecuzione...trovare l'errore logico
Forum - C/C++ - problema durante l'esecuzione...trovare l'errore logico

Avatar
alex91ander (Normal User)
Newbie


Messaggi: 2
Iscritto: 28/01/2011

Segnala al moderatore
Postato alle 18:29
Venerdì, 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++

  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4.  
  5. typedef struct Dizionario
  6. {
  7.         char indice;
  8.         struct {
  9.                char parola [20];
  10.                struct {
  11.                       char sinonimi [20];
  12.                       } s[5];
  13.                       } p[4];
  14.                       }d;
  15.                       int i=0,f=0,c=0;
  16. int main(void)
  17. {
  18.     FILE *ofp;
  19.     d dizionario [2];
  20.     ofp=fopen ("dizionario.txt","r");
  21.     i=0;
  22.     while (i !=2) {
  23.           if (i == 0) {
  24.                 dizionario [i].indice='a';
  25.                 }
  26.                 if (i == 1) {
  27.                       dizionario [i].indice='b';
  28.                       }
  29.                       fprintf (ofp,"%c\n",dizionario [i].indice);
  30.                       c=0;
  31.                       while (c != 4) {
  32.                             printf ("i=%d,c=%d",i,c);
  33.                             printf ("\n inserisci la %d parola dell' indice %c: ",c,dizionario[i].indice);
  34.                             scanf ("%s",dizionario [i].p[c].parola);
  35.                             fprintf (ofp,"%s\n",dizionario [i].p[c].parola);
  36.                             f = 0;
  37.                             while (f != 5) {
  38.                                   printf ("\n inserisci il %d sinonimo della parola %s:",f,dizionario[i].p[c].parola);
  39.                                   scanf ("%s", dizionario[i].p[c].s[f].sinonimi);
  40.                                   fprintf (ofp, "%s\n", dizionario [i].p[c].s[f].sinonimi);
  41.                                   f++;
  42. }
  43. c++;
  44. }
  45. i++;
  46. }
  47. fclose (ofp);
  48.   system("PAUSE");     
  49.   return 0;
  50. }



il programma compila l'algoritmo ma non riesce ad eseguirlo
ragazzi secondo voi perchè? vi ringrazio anticipatamente per le risposte:)

PM Quote