RISOLTO Determinare se un numero è strettamente positivo o negativo

Pubblicità
Stato
Discussione chiusa ad ulteriori risposte.

gia07

Nuovo Utente
Messaggi
1
Reazioni
0
Punteggio
1
Ciao,
domani ho verifica di informatica, l'esercizio in preparazione dice così: Es. 8: Scrivere un programma che continuare a chiedere all'utente di fornire un numero intero e dice se è positivo strettamente oppure negativo strettamente (escluso lo zero). Quando viene inserito lo zero termina l'esecuzione.
Al momento ho fatto così ma sul fatto di far continuare a ripetere la domanda non sono capace di farlo. Grazie in anticipo.

C++:
#include <iostream>

using namespace std;

int main (){
    int n;
    int l=0;

    cout <<" fornire un numero intero"<<endl;
    cin >>n;
    
    while (n!=0){
        if ( n>0){
            cout <<"il numero e' positivo"    <<endl;
            cout <<" fornire un numero intero"<<endl;
            cin >>n;
        }

        else {
            cout << "il numero e' negativo"<<endl;
            cout <<" fornire un numero intero"<<endl;
            cin >>n;
        }
    }
    cout <<"termino l'esecuzione"<<endl;

    return 0;
}
 
Ultima modifica da un moderatore:
Ciao e benvenuto!
Questa volta ho modificato io il tuo messaggio formattando il codice e modificando il titolo, ma per favore, prendi nota del Regolamento ed informazioni utili sulla sezione Programmazione.


Comunque venendo al tuo problema, non ho capito. Tu stai ripetendo la domanda e l'inserimento, è corretto.
Non è forse il modo migliore in quanto vai a ripetere parti di codice che potresti tenere fuori dall'if/else inoltre. Forse ti converrebbe utilizzare un do/while.
Inoltre la variabile "l" non ti serve.
 
Hai un errore concettuale.

Ti indirizzo e tu prova a rielaborare il tuo codice.


Usa una condizione di while diversa, inizializzata a true, scollegata dal numero letto.
Es. while(isNotZero)

All'interno del while fai il cin >>n (altrimenti non potrai mai ripetere la richiesta di inserimento numero!!)

Dopo aver letto n verifichi. Nel caso sia 0 imposti la tua condizione isNotZero a false.
 
All'interno del while fai il cin >>n (altrimenti non potrai mai ripetere la richiesta di inserimento numero!!)
Questo lo sta già facendo negli if/else. Non è errato quello che fa, però lo ripete due volte inutilmente.
Trattandosi di un if/else, l'inserimento del numero lo chiederà sempre (se avesse utilizzato un if/else-if allora no).
 
Stato
Discussione chiusa ad ulteriori risposte.
Pubblicità
Pubblicità
Indietro
Top