Visualizzazione dei risultati da 1 a 4 su 4

Discussione: [C] problema switch

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    112

    problema switch

    ciao ragazzi problemino con switch
    questo è una prova per rendersi conto di cosa voglio dire
    codice:
    #include <stdio.h>
    #include <stdlib.h>
    int main()
    {
    int val,quit=0;
    while(!quit)
    {
    printf("sleziona:");
    scanf("%d",&val);
    switch(val)
    	{
    		case 1:
    			printf("\npremuto1\n");
    		break;
    		case 2:
    			printf("\npremuto2\n");
    		break;
    		case 3:
    			quit=1;
    		break;
    		default:
    			printf("\nerrore\n");
    	};
    };
    return(0);
    }
    
    return(0);
    }
    ora finche premo 1 2 3 tutto ok ma il caso default funziona solo con i numeri da 0 a 9 ma se
    una persona preme ad esempio "a" il programma impazzisce e non mi ripropone il mess seleziona ma cicla all'infinito

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    112
    ottimo ma vorrei sapere
    dato che non includo conio.h ho usato getchar() e sembra funzionarmi ugualmente te cosa ne
    pensi?
    ora mi potresti spiegare in due righe come lo pulisce il buffer il while grazie....

  4. #4
    Originariamente inviato da roberto81
    ottimo ma vorrei sapere
    dato che non includo conio.h ho usato getchar() e sembra funzionarmi ugualmente te cosa ne
    pensi?
    getchar() è dichiarata in stdio.h. conio.h è un header non standard, e come tale andrebbe evitato.
    ora mi potresti spiegare in due righe come lo pulisce il buffer il while grazie....
    Semplicemente leggendo caratteri fino a che non incontra il ritorno a capo, segno che la riga di testo errata è terminata. Nulla di trascendentale.
    Amaro C++, il gusto pieno dell'undefined behavior.

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.