[C++] esercizio numeri

pepp1995
Sto facendo uno degli esercizi del deitel senza soluzione annessa.
/*Programma che vede tra 2 numeri chi è + grande o se sono uguali */
#include
using namespace std;

int main()
{
int a = 0, b = 0;


cout << "Digita 2 numeri:\n";
cin >> a >> b;

if ( a == b )
cout << "I numeri sono uguali" << endl;
if ( a > b )
cout << "Il numero maggiore e':"<< a << endl;
if ( a < b )
cout << "Il numero maggiore e':"<< b << endl;


return 0;
}

Il programma non funziona , non individua chi è maggiore e chi no.

Risposte
kobeilprofeta
prova a fare due cin separati

pepp1995
nono, in pratica dopo gli if ci voglione le parentesi graffe {}

vict85
"pepp1995":
nono, in pratica dopo gli if ci voglione le parentesi graffe {}


Non è affatto vero. Se le parentesi vengono omesse allora è come se le parentesi ci fossero intorno alla prima istruzione. Nel codice specifico non dovrebbe cambiare nulla.

pepp1995
Si , ma perché il programma non funziona correttamente senza?

vict85
Non lo so, che cosa ti stampa a video quando non le metti?

Cesare34556
Non si dovrebbe scrivere solamente
int a,b;
anziché int a=0,b=0; ??

kobeilprofeta
int a,b;
dichiara due variabili intere

int a=0,b=0;
le dichiara e le inizializza in un colpo solo, sarebbe equivalente a:
int a,b;
a=0;
b=0;
o ancora ad:
int a,b;
a=b=0;

vict85
@ pepp95 : Ho provato a compilare ed eseguire il codice iniziale e a me funziona.

@ Cesare_VR : come ha detto kobeilprofeta il C e il C++ permettono di dichiarare ed inizializzarla in una sola riga.

Cesare34556
Grazie mille a entrambi!!
Tuttavia non capisco ancora che senso abbia inizializzarle a zero, mi sembra non necessario :|
ps: anche a me funziona!

kobeilprofeta
"Cesare_VR":
Grazie mille a entrambi!!
Tuttavia non capisco ancora che senso abbia inizializzarle a zero, mi sembra non necessario :|
ps: anche a me funziona!


inizializzare a zero serve quando la variabile deve contare qualcosa (come il numero di elementi o la loro somma); in questo caso penso fosse superfluo

Cesare34556
Infatto anche io la penso cosi ;) grazie mille!

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.