Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    11

    riconoscere numeri o lettere in c++

    Domanda stupida ma è talmente tanto tempo che non programmo in c++....

    Guardate questo segmento di codice:

    do{
    clrscr();
    cout<<"1.Voce 1 \n";
    cout<<"1.Voce 1 \n";
    cout<<"1.Voce 1 \n";
    cout<<"1.Voce 1 \n";

    cin>>rispMenu;

    }while((rispMenu<1)||(rispMenu>4));

    se al prompt inserisco una lettera il programma entra in un ciclo infinito e quindi si blocca, come posso fare a gestire che ciò non accada?

    Non devo mica controllare il codice ASCII del tasto premuto, vero?

  2. #2
    Salve,
    non so che tipo di variabile e' rispMenu, comunque se e' dichiarata come char, devi inserire '1' e '4'. Se e' dichiarata come int va bene cosi come hai scritto.

    Per quanto riguarda la situazione di loop infinito, un modo per evitarlo e' questo:
    dichiara rispMenu come char, poi alla lettura della variabile, modificala in
    cin >> setw(1) >> rispMenu (devi includere l'header <iomanip>).
    Cosi' in input ti considera al piu' un carattere (che e' proprio quello che vuoi visto che e' di tipo char).

    Ciao
    <| http://cikkox.altervista.org |>
    <| GNU/Linux Registered User #365929 |>
    <| GnuPG/OpenPGP key available |>

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    11
    Funziona benissimo grazie 1000!!!

    Ignoravo l'esistenza della libreria iomanip.h !!!

    Grazie ancora

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 © 2024 vBulletin Solutions, Inc. All rights reserved.