DOMANDA Numero positivo o meno con bool

  • Autore discussione Autore discussione MPG
  • Data d'inizio Data d'inizio
Pubblicità

MPG

Utente Attivo
Messaggi
566
Reazioni
4
Punteggio
55
[C++] Numero positivo con bool

da mpg » 03/01/2018, 23:00

Stavo scrivendo piccolo programma che devo fare con bool per stabilire se un numero è positivo o meno ma non mi viene.
Gli errori cominciano da "else if (x<0)".... (viene indicato che manca un if prima di else??)
Mi potete aiutare?

Ecco cosa ho scritto:

#include <iostream>

using namespace std;

int main()

{

int x = 0;
bool flag;

cout<<"inserisci numero: ";
cin>>x;

if(x > 0) flag = true;
cout<<"numero positivo"<<endl;
else if (x<0) flag = false;
cout<<"numero negativo"<<endl;

}
 
**************
Ho letto il messaggio via telefono.
Comunque, la regola è questa:
Dopo l'if, può anche non esserci un else. Se invece si mette un if else, allora è necessario mettere un else finale (vedilo come un case default dello switch case).
 
Il codice non funziona perché non hai delimitato i blocchi delle istruzioni condizionali con le parentesi graffe. A me così funziona benissimo, compilato con MinGW (nota: il return 0 finale non è obbligatorio per la funzione main ma è buona pratica metterlo).
C:
#include <iostream>

using namespace std;

int main()
{

   int x = 0;
   bool flag;

   cout << "inserisci numero: ";
   cin >> x;

   if (x > 0) {
       flag = true;
       cout << "numero positivo" << endl;
   } else if (x < 0) {
       flag = false;
       cout << "numero negativo" << endl;
   }
 
   return 0;
}

P.S: non ho capito a che serve il flag... Inoltre non consideri il caso x=0.
 
Ultima modifica:
Pubblicità
Pubblicità
Indietro
Top