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

    [c/c++]se l'utente inserisce lettere invece che numeri

    Codice PHP:
    int Menu()
    //VISUALIZZA IL MENU PRINCIPALE
      
    int a;
      do
      {
        
    cout <<"WELCOME TO DAYLOG"<<'\n';
        
    cout << "MENU PRINCIPALE, SCEGLI UN'OPZIONE" << '\n';
        
    cout << "1 - Aggiugi dati"<<'\n';
        
    cout << "2 - Guarda dati"<<'\n';
        
    cout << "3 - Ricerca dati"<<'\n';
        
    cout << "0 - esci"<<'\n';
        
    cin>>a;
      }
      while ( 
    || );
      return 
    a;

    questa è la funzione che gestisce un menu, funziona tutto bene se inserisco numeri, ma se metto una lettera mi va in loop l'applicazione perchè la variabile a è int. sapete come posso ovviare a questo problemone?
    my workgroup :sexpulp:
    http://www.promisestudios.net

  2. #2
    codice:
     
    #include <ctype.h>
    /// prog
    
    int Menu()
    
    { //VISUALIZZA IL MENU PRINCIPALE
    
     char a;
    
      do
    
      {
    
        cout <<"WELCOME TO DAYLOG"<<'\n';
    
        cout << "MENU PRINCIPALE, SCEGLI UN'OPZIONE" << '\n';
    
        cout << "1 - Aggiugi dati"<<'\n';
    
        cout << "2 - Guarda dati"<<'\n';
    
        cout << "3 - Ricerca dati"<<'\n';
    
        cout << "0 - esci"<<'\n';
    
        cin>>a;
        if( !isalnum(a) )
          exit(1);
    
      }
    
      while ( a < 0 || a > 3 );
    
      return a;
    
    }
    La stupidità umana e l'universo sono infinite.
    Della seconda non sono certo(Einstein)

    Gnu/Linux User

  3. #3
    ti ringrazio per la soluzione, ma ho notato che hai cambiato la variabile "a" da int a char, non esiste un altro modo che mi permetta di mantenere la variabile "a" int? invertendo il controllo che fai dopo l'inserimento?

    thx ancora
    ciao
    my workgroup :sexpulp:
    http://www.promisestudios.net

  4. #4
    ma di serve proprio int???
    Un char occupa un byte .............un int 4 byte........... memoria in + disponibile x altro
    La stupidità umana e l'universo sono infinite.
    Della seconda non sono certo(Einstein)

    Gnu/Linux User

  5. #5
    uhmm vero, mi hai dato un buon motico per usare il char al posto dell'int, ora mi sbatto a riconvertire il resto del programmino^^

    thx ancora
    my workgroup :sexpulp:
    http://www.promisestudios.net

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.