Test temperatura [C++]

di il
5 risposte

Test temperatura [C++]

Salve a tutti, è la prima volta che metto piede in questo forum.
Sto iniziando da poco ad imparare il C++ che dai pochi programmi che ho già fatto mi è parso molto più semplice del linguaggio C che ho imparato a scuola

Mi iscrivo in questo forum per essere maggiormente aiutato ad imparare questo linguaggio da esperti come voi, e chissà... magari imparerò anche altri linguaggi (conosco già C, Assembly, Apple Script e un poco di HTML, quindi sono abbastanza inesperto come programmatore )
(perdonate questo piccolo off topic da parte mia ma non ho trovato un topic atto alle presentazioni).

Bene bando alle ciance e diamo un'occhiata al programma che sto tentando di fare:

Ho iniziato come mi hanno insegnato, a progettare il programma aiutandomi con un flow chart, e mi sono ritrovato una serie di condizioni if

il problema è che se inserisco le lettere il programma mi invia lo stesso una risposta che ho inserito io aahahahaha
quando invece mi aspetterei un errore dichiarato dal programma e magari un ciclo che mi riporti all'inizio del programma...
ho cercato nel web ma non ho trovato spiegazioni molto esaudienti, perciò mi affido a voi

Ecco il programma:
#include <iostream>

using namespace std;

int main()
{
    int t;
    cout << "inserisci la temperatura attuale: ";
    cin >> t;
    {
        if (t>30)
        cout << "Fa molto caldo" << endl;
        else
        if (t>20)
        cout << "Fa caldo" << endl;
        else
        if (t>10)
        cout << "Temperatura ideale" << endl;
        else
        if (t<10)
        cout << "Fa freddo" << endl;
    }
    system("PAUSE");
}
Ps: come compilatore utilizzo Bloodshed Dev-C++

5 Risposte

  • Re: Test temperatura [C++]

    Non so se hai riletto la domanda che hai fatto ma personalmente non ho capito nulla ...
  • Re: Test temperatura [C++]

    Scusami hai ragione non mi sono espresso bene, riformulo la richiesta:

    se invece di inserire un numero da tastiera inserisco delle lettere o caratteri lui mi da lostesso una risposta e questo non va bene! non so se mi spiego vorrei che se per sbaglio inserisco una lettera o un carattere, il programma mi stampa l'errore e che MAGARI, non è richiesto per forza, mi dia anche la possibilità di ripetere l'operazione
  • Re: Test temperatura [C++]

    Quindi, qualcosa del genere
    
    while ((cout << "inserisci la temperatura attuale: ") && !(cin >> t))
    {
            cout << "Input non corretto" << endl;
            cin.clear();
            cin.ignore(numeric_limits<streamsize>::max(), '\n');
    }
    
  • Re: Test temperatura [C++]

    Esattamente! grazie mille questi codici non li ho mai visti prima d'ora... evidentemente mi sono posto un quesito troppo alto per me...
    scusami posso chiederti come lavorano cin clear e cin ignote? (che non ho mai visto prima d'ora )
  • Re: Test temperatura [C++]

    Purtroppo vado di fretta ma ti posso consigliare due letture

    http://www.cplusplus.com/reference/ios/ios/clear

    http://www.cplusplus.com/reference/istream/istream/ignore/
Devi accedere o registrarti per scrivere nel forum
5 risposte