Sto cercando di creare un programma che legga delle stringhe da un file di testo ( chiamato parole.txt ) e dopo averne scelta una tra le tante la stampi a schermo.

Questa programma è solo un CASE dentro un switch:

#include <stdlib.h>
#include <stdio.h>

#define NEW_GAME 1
#define SHOW 2

int show_menu(){

    printf("benvenuto all impiccato");

    printf("premi 1 per una nuova partita");
    printf("premi 2 per svelare una lettera");

int main(){

    int user_choice = -1;
    FILE *ptr;
    char word[50];

    show_menu();

    while (user_choice != MENU_EXIT){

    scanf("%d", &user_choice);

    switch(user_choice){

           case NEW_GAME:
                printf("nuova partita");

      if((ptr = fopen("parole.txt","r")) == NULL){
             printf("impossibile aprire il file");
    } else {
         while(!feof(ptr)){
                fscanf(ptr,"%s", word);
                printf("%s", word);
                }
         }
    break;
    }
    }
    return 0;
}

il problema è che il programma mi stampa due volte ultima stringa. per farvi capire, se parole.txt contiene 5 parole, il programma mi stampa 6 parole di cui 2 volte l ultima parola.

help meeeeeee

chiesto 07 Feb '16, 23:27

danieleXubu's gravatar image

danieleXubu
14578

modificato 07 Feb '16, 23:49

dadexix86's gravatar image

dadexix86 ♦♦
17.0k916161

Scrivi tu la prima risposta!
abilita/disabilita anteprima

Segui questa domanda

Via email:

Una volta eseguito l'accesso potrai iscriverti a tutti gli aggiornamenti qui

Via RSS:

Risposte

Risposte e commenti

Basi di markdown

  • *corsivo* o __corsivo__
  • **grassetto** o __grassetto__
  • collegamento:[testo](http://url.com/ "titolo")
  • immagine?![alt testo](/path/img.jpg "titolo")
  • elenco numerato: 1. Foo 2. Bar
  • per aggiungere un'interruzione di riga, aggiungi due spazi a fine riga e premi «Invio»
  • è supportato anche semplice HTML

Tag:

×109
×23

domanda posta: 07 Feb '16, 23:27

domanda visualizzata: 2,992 volte

ultimo aggiornamento: 07 Feb '16, 23:49

Chiedi è un servizio di supporto gestito da Ubuntu-it. Contattaci!

powered by OSQAPostgreSQL database
Ubuntu e Canonical sono marchi registrati da Canonical Ltd.