Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [C++] - Controllo input senza echo su schermo

    Buondì a tutti! Ho un problema: voglio controllare che il carattere inserito dalla tastiera sia un numero e non una lettera. Fino a qui nessun problema, Ho trovato un pezzo di codice online:
    codice:
        int a;
        while(!(cin >> a))
        {        
            if(!cin)
            {
                cin.clear();
                cin.ignore();
            }
        }
    Questo codice funziona: finchè non premo un numero continua a chiedermi di reinserire un carattere. Il problema è che se dovessi sbagliare 10 volte mi compaiono sullo schermo 10 caratteri errati. C'è un metodo per togliere l'echo dallo schermo, ossia non mostrare su schermo il carattere errato ma solo quello corretto? Grazie
    C++ for( ; ; )


    [C++ forever]

  2. #2
    Utente di HTML.it L'avatar di torn24
    Registrato dal
    Aug 2008
    Messaggi
    551

    Ciao

    Se lavori con MS visual c++ , dovrebbe essere disponibile la funzione _getch() o getch()
    che leggono un carattere , ma non lo stampano a video , sono funzioni non standar quindi
    non disponibili in tutti i compilatori , e in tutti gli ambienti
    la trovi nel header conio.h



    codice:
       int a=0;
    
       while(true)
       {
            a=_getch();
    
            if(a>='0'&& a<='9')
    
    		   putchar(a);
    	else{
    		   puts("non è un numero");
                       break;
                  }
       }
    Tecnologia

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.