Oppure

Loading
29/03/07 23:21
-El_nOOb-
Hola gente...sn nuovo di queste parti ( :-| non so se si nota dal numero mex). Vi spiego subito il mio problema...allora ho creato questo programma (se così si può chiamare), sottolineo che sn alle prime armi...quindi parlate con parole povere thx XD, che genera un numero casuale, compreso tra 1 e 10. e quando rispondi dovrebbe dirti se il numero inserito è più grande o più piccolo di quello generato...tanto x aiutarti, ora il problema sta che appena inserisci il numero...e ti da l'indacazione...il programma esce appena inserisci un altro imput...perkèèèèèè

#include <iostream.h>
#include<time.h>
using namespace std;

int main() {
int A,numero;
srand((unsigned)time(NULL));
A = rand() % 11+1;

cout<<"Inserisci il numero che secondo te e' stato generato: ";
cin>>numero;

if (numero==A)

  {
              
              cout<<"complimenti hai indovinato!";
              system ("pause");
} 

if (numero>A);

{
        
        cout<<"Il numero inserito e' maggiore da quello generato...prova a diminuirlo!: ";
        cin>>numero;
        
        }
        
       if (numero<A){
            
            cout<<"Il numero inserito e' minore da quello generato...prova ad aumentarlo!: "
            cin>>numero;
            
            }
            
            }


thx x tutti quelli che mi risponderanno :k:
aaa
30/03/07 12:20
Black Shadow
Perché tu hai semplicemente inserito system("Pause";), che blocca l'esecuzione fino alla pressione di un carattere dalla tastiera.

Per fare qualcosa che "ricomincia", quindi ti chiede il numero finché non indovini si può creare una variabile bool (da usare come flag di trovato/non trovato) e usare un while che finché questa variabile è impostata su false fa continuare il ciclo, chiedendoti di nuovo di inserire il numero, quindi:


#include <iostream.h>
#include<time.h>
using namespace std;

int main() {
int A,numero;
bool found = false;  //Flag - false = non trovato
srand((unsigned)time(NULL));
A = rand() % 11+1;

while (!found) { //finché non è stato trovato

cout<<"\n\nInserisci il numero che secondo te e' stato generato: ";
cin>>numero;

if (numero==A)

{

cout<<"complimenti hai indovinato!";
}

if (numero>A);

{

cout<<"Il numero inserito e' maggiore da quello generato...prova a diminuirlo! ";

}

if (numero<A){

cout<<"Il numero inserito e' minore da quello generato...prova ad aumentarlo! ";

}

}

}



;)
aaa
30/03/07 13:48
-El_nOOb-
Grande, avevo pensato di inserire un ciclo while :-| ma del bool, non ne sapevo neanche l'esistenza :rotfl:

grazie! :love:

EDIT: anche se indovino riparte il processo O_o ho provato a rimettere system ("pause";) quando indovini il numero...ma nada, anche se premi un bottone esso riparte e ti domanda di inseririe il numero... :d
Ultima modifica effettuata da -El_nOOb- 30/03/07 13:56
aaa
30/03/07 14:45
Black Shadow
Scusa, errore mio chiaramente visibile qui:

if (numero==A)
{

cout<<"complimenti hai indovinato!";
} 


Una volta che il numero è esatto, infatti, la variabile found deve essere settata a true, quindi:

if (numero==A)
{

cout<<"complimenti hai indovinato!";
found = true;
} 


;)
aaa
30/03/07 15:36
-El_nOOb-
ok, grazie ancora :k:

Ri-EDIT: altro problema O_O :D se indovino il numero, il programma esce automaticamente, e subito. se metto: getchar () o system ("pause";), mi spuntano tutte e due le indacazioni quando inserisco un numero (sia che è maggiore che minore).posso risovlere sl con uno sleep....oppure c'è un altro modo?? 8-|
Ultima modifica effettuata da -El_nOOb- 30/03/07 15:49
aaa
30/03/07 17:49
Reese
Provato col system("pause";) alla fine?
aaa