Fermare l'incremento di un contatore

di il
2 risposte

Fermare l'incremento di un contatore

Buonasera a tutti, esercitandomi con il c++, ho trovato in rete, un esercizio che chiede la simulazione di telecomando per tv. Fin qui tutto ok, però non riesco a bloccare un contatore che ho messo per sumulare il tasto del volume. In pratica vorrei che arrivato a 10, il contatore si fermasse, ma non riesco a fermarlo. Forse per i più esperti è semplicissimo, ma a io non riescoad arrivarci.
Ora copio il codice di quel che ho fatto:

int cont=5;

case '+':
                    cout<<"Volume ++"<<endl;
                    cont++;
                    cout<<cont<<endl;
                    if(cont>10){
                        cout<<"Volume al massimo"<<endl;
                        cont=10;
                        }
 
ho messo poi cont=10 per provare a fermarlo li, ma continua sempre fino ad 11 e non so il perchè: Mi date qualche cosiglio sul da farsi?
Ps: Ho allegato solo la parte di codice dove ho il problema

2 Risposte

  • Re: Fermare l'incremento di un contatore

    Se stampi il valore di cont dopo l'incremento, vedrai 11; se sposti la stampa dopo l'if (e modifichi la condizione), non vedrai più valori maggiori di 10. Ma la cosa migliore è fare l'incremento solo se cont è minore di 10, con una condizione if-else (if cont < 10 incrementa else no)
    int cont=5;
    
    case '+':
                        cout<<"Volume ++"<<endl;
                        cont++;
                        
                        if (cont >= 10){
                            cout<<"Volume al massimo"<<endl;
                            cont=10;
                        }
                        cout<<cont<<endl;
     
  • Re: Fermare l'incremento di un contatore

    Andrea Quaglia ha scritto:


    Se stampi il valore di cont dopo l'incremento, vedrai 11; se sposti la stampa dopo l'if (e modifichi la condizione), non vedrai più valori maggiori di 10. Ma la cosa migliore è fare l'incremento solo se cont è minore di 10, con una condizione if-else (if cont < 10 incrementa else no)
    int cont=5;
    
    case '+':
                        cout<<"Volume ++"<<endl;
                        cont++;
                        
                        if (cont >= 10){
                            cout<<"Volume al massimo"<<endl;
                            cont=10;
                        }
                        cout<<cont<<endl;
     
    Grazie mille, avevo intuito che si trattasse di una sciocchezza, ma molte sono più queste che ti mandano in tilt, piuttosto che le cose più complicate
Devi accedere o registrarti per scrivere nel forum
2 risposte