Visualizzazione dei risultati da 1 a 9 su 9

Discussione: [C++] Errore su switch

  1. #1

    [c++] errore su switch

    vorrei tanto sapere come mai e sopratutto
    PERCHE' il seguente codice di programma va in crisi se nell'operazione di scelta metto un valore diverso da quelli prestabiliti, quindi entro in default.
    La compilazione non mi da errori ma quando nel testare il programma metto un valore di default questo continua a
    1- pulire lo schermo
    2- a presentare il messaggio di default
    e tutto questo all'infinito
    (nei case ci sono chiamate a funzioni)
    questo è il codice:


    int main()
    {
    do
    {
    system("cls");
    int scelta;
    cout<<" Menu' "<<endl;
    cout<<" 1- Inserisci un nome"<<endl;
    cout<<" 2- Modifica un nome "<<endl;
    cout<<" 3- Elimina un nome "<<endl;
    cout<<" 4- Cerca un nome "<<endl;
    cin>>scelta;
    switch(scelta)
    {
    case 1:
    inserimento_nome();
    break;
    case 2:
    modifica_nome();
    break;
    case 3:
    elimina_nome();
    break;
    case 4:
    cerca_nome;
    break;
    default:
    cout<<"Hai inserito un valore non coretto, scegli di
    nuovo."<<endl;
    break;
    }
    }while(scelta!=1&&scelta!2&&scelta!=3&&scelta!=4);
    getch();
    return 0;
    }

  2. #2
    a quanto pare l'errore sta proprio nel default, da quel che ho capito non è possibile inserire funzioni che poi permettano di tornare al menu' principale...... cosa che al contrario si puo' fare con i "case"

  3. #3
    up

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    12
    codice:
    int main()
    {
        int scelta;
        do
        {
            system("cls");
            cout<<" Menu' "<<endl;
            cout<<" 1- Inserisci un nome"<<endl;
            cout<<" 2- Modifica un nome "<<endl;
            cout<<" 3- Elimina un nome "<<endl;
            cout<<" 4- Cerca un nome "<<endl;
            cin>>scelta;
            switch(scelta)
            {
                case 1:
                    inserimento_nome();
                break;
                case 2:
                    modifica_nome();
                break;
                case 3:
                    elimina_nome();
                break;
                case 4:
                    cerca_nome();
                break;
                default:
                    cout<<"Hai inserito un valore non coretto, scegli di nuovo."<<endl;
                break;
            }
        }while(scelta!=1 && scelta!=2 && scelta!=3 && scelta!=4);
        getch();
        return 0;
    }
    in grassetto ho segnato gli errori

  5. #5
    ho copiato male il codice, sul compilatore l'ho scritto giusto
    il problema cmq rimane

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    12
    sul c++ builder della borland funziona perfettamente :master:

  7. #7
    intendi che se digito un varattere(ad esempio) ritorna automaticamente al menu' principale??????senza alcuna anomalia???
    se si mi daresti il link del programma che usi?

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    12
    se metto i valori da 1 a 4 eseguono quelle funzioni e poi termina... se metto valori diversi torna al menu

    http://www.borland.com/us/products/cbuilder/

  9. #9
    ora provo e vedo cosa succede,grazie dell'info

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.