Domanda sullo Switch Case

di il
8 risposte

Domanda sullo Switch Case

Salve, sono molto inesperto nel campo del c++ e sto cercando di fare un programma dove utilizzo lo Switch Case.
Per impedire che vengano eseguite tutte le operazioni dei vari casi ho messo un Break alla fine di ognuna di queste, ma facendo così appena una operazione finisce il programma viene chiuso, vorrei capire se è possibile fare in modo che finita l'operazione di un caso si possa tornare alla scelta.
Vi ringrazio in anticipo, buona giornata.

8 Risposte

  • Re: Domanda sullo Switch Case

    Metti lo switch all'interno di un ciclo (es. con while) in cui ad ogni passata leggi l'input che gestisci con switch.
  • Re: Domanda sullo Switch Case

    candaluar ha scritto:


    Metti lo switch all'interno di un ciclo (es. con while) in cui ad ogni passata leggi l'input che gestisci con switch.
    Ciao grazie per la risposta, ma praticamente nella condizione del while cosa dovrei mettere? Scusa se ti disturbo ancora.
  • Re: Domanda sullo Switch Case

    Dipende dal programma che stai scrivendo e da cosa fa lo switch. È per un menu? Mostra il codice
  • Re: Domanda sullo Switch Case

    oregon ha scritto:


    Dipende dal programma che stai scrivendo e da cosa fa lo switch. È per un menu? Mostra il codice
    Sì sto provando a fare un menù per una sorta di bancomat, dopo il Main metterò le funzioni che per ora ho provato con dei cout giusto per verifica.



    
    #include <iostream>
    #include <math.h>
    #include <stdlib.h>
    
    using namespace std;
    
    //funzioni
    int ricarica(), saldo(), prelievo(), uscita;
    
    
    //variabili
    int scelta, j, h ,m , z, s, n, conferma, nsaldo=1000, pin=123456, registrato;
    
    
    int main()
    {
    
    
        //menù
        cout<<"+-----------------------------+"<<endl;
        cout<<"|         1. Prelievo         |"<<endl;
        cout<<"|         2. Saldo            |"<<endl;
        cout<<"|         3. Ricarica         |"<<endl;
        cout<<"|         0. Uscita           |"<<endl;
        cout<<"+-----------------------------+"<<endl;
        cin>>scelta;
        system("cls");
    
    
        //ciclo di scelta
    
            switch(scelta){
            case 1: prelievo();
            break;
    
            case 2: saldo();
            break;
    
            case 3: ricarica();
            break;
    
            case 0: cout<<"Arrivederci"<<endl;
                    break;
    
            default: cout<< "il numero scelto non corrisponde a nessuna operazione del bancomat"<<endl;
    
            }
    
    }
    
    
  • Re: Domanda sullo Switch Case

    Allora puoi usa un ciclo infinito con condizione (1) cioè sempre vera

    E nel case 0 daro che termini il programma metti un return 0;

    OPPURE nella condizione metti che ripeti se l'input è diverso da zero
  • Re: Domanda sullo Switch Case

    oregon ha scritto:


    Allora puoi usa un ciclo infinito con condizione (1) cioè sempre vera

    E nel case 0 daro che termini il programma metti un return 0;

    OPPURE nella condizione metti che ripeti se l'input è diverso da zero
    Mi dispiace disturbarti ulteriormente, spero sia l'ultima volta, ho fatto come hai detto, e praticamente le operazioni che vengono selezionate vengono ripetute all'infinito, ti faccio vedere.
    
    #include <iostream>
    #include <math.h>
    #include <stdlib.h>
    
    using namespace std;
    
    //funzioni
    int ricarica(), saldo(), prelievo(), uscita;
    
    
    //variabili
    int scelta, j, h ,m , z, s, n, conferma, nsaldo=1000, pin=123456, registrato;
    
    
    int main()
    {
    
    
        //menù
        cout<<"+-----------------------------+"<<endl;
        cout<<"|         1. Prelievo         |"<<endl;
        cout<<"|         2. Saldo            |"<<endl;
        cout<<"|         3. Ricarica         |"<<endl;
        cout<<"|         0. Uscita           |"<<endl;
        cout<<"+-----------------------------+"<<endl;
        cin>>scelta;
        system("cls");
    
    
        //ciclo di scelta
    
            while(scelta!=0){
            switch(scelta){
            case 1: prelievo();
                    break;
    
            case 2: saldo();
            break;
    
            case 3: ricarica();
            break;
    
            case 0: cout<<"Arrivederci"<<endl;
                    return 0;
    
            default: cout<< "il numero scelto non corrisponde a nessuna operazione del bancomat"<<endl;
                     return 0;
            }
            }
    
    }
    
    int prelievo()  {cout<<"Prelievo Riuscito"<<endl;}
    
    int saldo ()    {cout<<"Saldo riuscito"<<endl;}
    
    int ricarica()  {cout<<"Ricarica riuscita"<<endl;}
    
  • Re: Domanda sullo Switch Case

    Questa

    cin>>scelta;

    ovviamente va all'interno del ciclo. Perché? Riflettici.
  • Re: Domanda sullo Switch Case

    oregon ha scritto:


    Questa

    cin>>scelta;

    ovviamente va all'interno del ciclo. Perché? Riflettici.
    Grazie mille, sono riuscito a farlo dopo un po' di tentativi
Devi accedere o registrarti per scrivere nel forum
8 risposte