Visualizzazione dei risultati da 1 a 4 su 4

Discussione: problemi con ciclo while

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2018
    Messaggi
    0

    problemi con ciclo while

    Salve a tutti, sono nuovo nel forum.
    Sto scrivendo un codice con dei cicli while. Il codice gira benissimo, però appena provo a ripeterlo, (ho provato sia con un ciclo while che con un ciclo for) si incasina. Qualcuno mi può dare una mano?
    (sto scrivendo un programmino che simuli il gioco "pari e dispari" contro il PC e devo ripeterlo per 3 e solo 3 volte). Qui sotto il codice

    #include <iostream>
    #include <time.h>
    #include <stdlib.h>


    using namespace std;


    int main(){


    int nut, npc, ntot;
    string s;


    //DICHIARO LE VARIABILI IN INT: (NUT) OVVERO IL NUMERO SCELTO DALL'UTENTE, (NPC) OVVERO IL NUMERO "SCELTO" DAL PC ED (NTOT) OVVERO LA SOMMA DEI PRECEDENTI NUMERI. C'E' POI LA VARIABILE IN STRING (S) CHE INDICA LA SCELTA DELL'UTENTE (PARI O DISPARI).


    for(i=0;i<3;i++)
    {

    cout << "pari o dispari?" << endl;
    cin >> s;


    //CHIEDO QUINDI ALL'UTENTE SE VUOLE SCEGLIERE PARI O DISPARI.
    if (s == "pari")


    //CON UN CICLO IF PONGO LA CONDIZIONE CHE SE L'UTENTE HA SCELTO PARI VENGA SVOLTO IL SEGUENTE PEZZO DI CODICE, (IN QUESTO CASO IL PC HA LOGICAMENTE "SCELTO" DISPARI.
    {
    while ( nut < 1 || nut > 5 )


    //MI ASSICURO CHE IL NUMERO SCELTO DALL'UTENTE SIA COMPRESO TRA 1 E 5 CON UN CICLO WHILE
    {
    cout << "lancia un numero da 1 a 5:" << endl;
    cin >> nut;
    }
    //INFATTI FACCIO GENERARE UN NUMERO CASUALE DAL PC CON LA FUNZIONE "SRAND" COMPRESO
    TRA 1 E 5.


    srand ( (unsigned) time (NULL) );
    npc = rand()% 5+1;
    ntot = npc + nut;
    if (ntot%2 == 0)


    //INFINE FACCIO LA SOMMA TRA IL NUMERO INSERITO DALL'UTENTE E QUELLO GENERATO DAL PC E CON UN CICLO IF, SE IL RISULTATO E' PARI, L'UTENTE HA VINTO, ALTRIMENTI HA PERSO.
    {
    cout << "hai vinto" << endl;
    cout << "il tuo avversario ha lanciato " << npc << endl;
    }
    else
    {
    cout << "hai perso" << endl;
    cout << "il tuo avversario ha lanciato "<< npc << endl;
    }
    }
    else
    if ( s == "dispari" )


    //RIPETO LO STESSO PERCORSO USATO PER LA CONDIZIONE "PARI" CON LA CONDIZIONE "DISPARI".
    {
    while (nut < 1 || nut > 5 )
    {
    cout << "lancia un numero da 1 a 5:" << endl;
    cin >> nut;
    }
    srand ( (unsigned) time (NULL) );
    npc = rand()% 5+1;
    ntot =npc + nut;
    if (ntot% 2 == 0)
    {
    cout << "hai perso" << endl;
    cout << "il tuo avversario ha lanciato "<< npc << endl;
    }
    else
    {
    cout << "hai vinto" << endl;
    cout << "il tuo avversario ha lanciato " << npc <<endl;
    }
    }
    }
    return 0;
    }

  2. #2
    1. indenta il codice, così lo leggi meglio
    2. quanto posti, incapsula il codice tra i tag CODE
    3. "Il codice ... si incasina" non vuol dire niente. E' come dire a un medico un generico "sto male". Devi essere più preciso

    Grassssie !

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2018
    Messaggi
    0
    Grazie dei tuoi consigli, però riguardo la mia domanda, come posso far girare il codice?

  4. #4
    inizia col fare le cose che ti ho suggerito (obbligatoria la 3.) , poi vediamo

Tag per questa discussione

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 © 2018 vBulletin Solutions, Inc. All rights reserved.