[c++] istruzione++

di il
4 risposte

[c++] istruzione++

Salve, pongo questo quesito. Posto un frammento del programma per semplicità.
In pratica ho un ciclo for in cui se ottengo y>=2 il programma mi deve contare le vittore altrimenti le sconfitte.
Quello che non capisco è come mai se inserisco vittoria=vittoria+1 il programma fa il suo dovere egregiamente, se però inersisco vittoria++ all'uscita del ciclo mi da vittorie=0.
vittoria++ non equivale a scrivere vittoria=vittoria+1?
grazie
(p.S. le variabili sono inizializzate a 0 all'inizio del programma)

 if(y>=2)
       {
            cout<<"hai vinto "<<endl;
            vittoria=vittoria+1;
            }
            else
                   {
                    cout<<"hai perso "<<endl;
                    sconfitta=sconfitta++;
                    }
                    }
        cout<<"sconfitte risultano "<<sconfitta;
        cout<<"vittorie risultano "<<vittoria;

4 Risposte

  • Re: [c++] istruzione++

    Non ha senso ... i due modi di scrivere sono equivalenti in questo caso ...

    Non capisco il perché dell'altra linea

    sconfitta=sconfitta++;

    In ogni caso, il problema sarà da qualche altra parte del codice che non abbiamo visto.
  • Re: [c++] istruzione++

    Ho provato il tuo codice con inserimento della y da tastiera per semplicità:
    
    if(y>=2){
            cout<<"hai vinto "<<endl;
            vittoria++;
        }
        
    else{
            cout<<"hai perso "<<endl;
            sconfitta++;
        }
    
    cout<<"sconfitte risultano "<<sconfitta << endl;
    cout<<"vittorie risultano "<<vittoria;
    
    cosi il codice a me funziona perfettamente..
    non serve inserire scomfitte = sconfitte++;
    perchè sconfitte++; di perse aumenta di uno il valore delle sconfitte.

    ovviamente ho dichiarato le seguenti variabili:

    int y;
    int vittoria;
    int sconfitta;
  • Re: [c++] istruzione++

    Risolto.
    vittoria++ è equivalente a scrivere vittoria=vittoria+1
    Infatti se metto vittoria ++ è ok.
    Il mio errore era scrivere vittoria=vittoria++.
    Questo non vuol dure niente come oregon fceva notare e il programma non contava.
    grazie
  • Re: [c++] istruzione++

    In realtà

    vittoria=vittoria++;

    equivale a

    vittoria++;

    ma chissà dov'era il problema dato che non si conosce tutto il codice ...
Devi accedere o registrarti per scrivere nel forum
4 risposte