Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    269

    [C] Problemi ricezione caratteri in input

    Eccomi ancora qua, il problema è il seguente:

    [i]#include <stdio.h>
    #define MAX_LENGHT 255
    #define N 3

    typedef struct
    {
    char titolo[MAX_LENGHT];
    int voto;
    }film;

    void main (void)
    {
    film cineteca[N];
    int i, c;

    for (i=0; i<N; i++)
    {
    printf ("Titolo film: ");
    while (!getchar());
    fgets (cineteca[i].titolo, MAX_LENGHT, stdin);


    do
    {
    printf ("Che voto dai al film \"%s\": ", cineteca[i].titolo);
    scanf ("%d", &cineteca[i].voto);
    }
    while (cineteca[i].voto>10 || cineteca.voto<1);
    }
    }


    Perchè se insirsco il titolo del primo film (in posizione "0", i=0) ad esempio "Gladiatore"
    non prende la G? praticamente quando chiedo di inserire il voto printf ("Che voto dai al film \"%s\": ", cineteca[i].titolo); in uscita ho "ladiatore" e non piu "Gladiatore".

    Però questo problema c'è solo quando inserisco il titolo del primo film (i=0) con tutti gli altri no. :master:

    Spero che mi abbiate capita.

    :berto:

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480

    Re: [C] Problemi ricezione caratteri in input

    codice:
    [i]#include <stdio.h>
    #define MAX_LENGHT 255
    #define N 3
    
    typedef struct
    {
    	char titolo[MAX_LENGHT];
    	int voto;
    }film;
    
    void main (void)
    {
    	film cineteca[N];
    	int i, c;
    
    	for (i=0; i<N; i++)
    	{
    		printf ("Titolo film: ");
    		// while (!getchar()); ELIMINA
    		fgets (cineteca[i].titolo, MAX_LENGHT, stdin);
    
    		do
    		{
    			printf ("Che voto dai al film \"%s\": ", cineteca[i].titolo);
    			scanf ("%d", &cineteca[i].voto);
                                          while (!getchar()); // INSERISCI
    		}
    		while (cineteca[i].voto>10 || cineteca.voto<1);
    	}
    }
    
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    269
    Oregon mi spigheresti quando bisogna utilizzare while (!getchar()); e dove?
    I
    :berto:

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Per eliminare i problemi che puoi avere con la scanf ... se utilizzi la fgets, allora non serve ... anzi ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.