View Full Version : [C++]Esercizio con if, aiutoooo
ragazzi, tentando di fare un banale esercizio con istruzione if else che qui vi propongo, ho delle domande da porvi:
**************************************
#include <iostream>
#include <cstdlib>
using namespace std;
int main()
{
int random;
int tentativo;
int a;
random= rand();
cout<<"Inserisci il numero magico:\n\n";
cin>>tentativo;
if(tentativo==random)
cout<<"**hai indovinato!!**\n";
else if (tentativo>random)
cout<<"il numero e troppo grande...";
else if (tentativo<random)
cout<<"il numero e troppo piccolo...";
return 0;
}
**************************************
voglio che, eseguendolo, io possa vedere i miei if che n riesco a vedere, leggo solo "inserisci ec ecc" e se metto il valore bam,. mi chiude il programma..come diavolo si fa la getchar del buon vecchio C qui????
Aggiungo una cosa; e se volessi fare una specie di loop e cioe dare la possibilita all utente di fargli tentare la fortuna 4 volte come devo fare?
Argosoft
21-10-2004, 22:02
cin.get();
per il loop basta inserire un semplice ciclo for:
for(int i=0; i<4 ; i++){
random= rand();
cout<<"Inserisci il numero magico:\n\n";
cin>>tentativo;
if(tentativo==random)
cout<<"**hai indovinato!!**\n";
else if (tentativo>random)
cout<<"il numero e troppo grande...";
else if (tentativo<random)
cout<<"il numero e troppo piccolo...";
}
:)
RaouL_BennetH
21-10-2004, 22:54
Poi, un piccolo suggerimento ma solo per la leggibilità, ovvero, quando hai variabili dello stesso tipo, puoi dichiararle su una sola riga:
int a, random, tentativo;
motogpdesmo16
22-10-2004, 10:06
alla fine, prima della parentesi grappa che chiude l'intero programma, prova a mettere
while (!kbhit())
e solo se poi premerai un tasto il programma terminerà.
si ok ma ripeto, per visualizzare a skermo tutti i cout che ho scritto come si fa? Cosi com'e se premi un numero il programma termina sigh!!!
Cmq x il ciclo for devo dichiarare un'altra variabile i? E poi <4 n e un po troppo poco????
Originariamente inviato da RaouL_BennetH
Poi, un piccolo suggerimento ma solo per la leggibilità, ovvero, quando hai variabili dello stesso tipo, puoi dichiararle su una sola riga:
int a, random, tentativo;
non sono d'accordo, credo che una dichiarazione scritta in questo modo
int a,
random,
tentativo;
char test,
blabla;
float pippo;
sia più leggibile
ok ok ma la domanda che piu mi preme e questa:
restando su quell esempio, io vorrei vedere a skermo ogni singolo maledetto passaggio sigh, voglio leggere "hai indovinto" e "ritenta" insomma, nel C++ come si fa????
VegetaSSJ5
23-10-2004, 17:14
Originariamente inviato da motogpdesmo16
...prima della parentesi grappa...
:asd: :asd: :rotfl:
http://forums.multiplayer.it/images/smilies/rotfl.gifhttp://forums.multiplayer.it/images/smilies/rotfl.gifhttp://forums.multiplayer.it/images/smilies/rotfl.gifhttp://forums.multiplayer.it/images/smilies/rotfl.gif:)
Originariamente inviato da Jedi82
ok ok ma la domanda che piu mi preme e questa:
restando su quell esempio, io vorrei vedere a skermo ogni singolo maledetto passaggio sigh, voglio leggere "hai indovinto" e "ritenta" insomma, nel C++ come si fa????
Così come l'hai scritto il programma genera il numero, fa la domanda, risponde (ma non te ne accorgi perchè) un microsecondo dopo è arrivato al return 0 dopodichè esce chiudendo la finestra.
Con il for{} puoi ripetere tot volte la domanda, e avere anche il tempo di leggere la risposta.
Oppure puoi fermare un attimo il programma prima che esca, con il while. Prova i suggerimenti che ti hanno dato, che funzionano ;)
[m_i_l_o][electronics]
24-10-2004, 19:46
se usi il kbhit() tra una istruzione e l'altra nel ciclo comunque, dovresti riuscire a visualizzare un tentativo per volta
Vi ricordo che kbhit non fa parte dello standard del C e tanto meno del C++... Inoltre non è disponibile con tutti i compialtori...
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.