Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Rozdział 17

Ostatnio zmodyfikowano 2014-03-12 21:49
Autor Wiadomość
wirusomaniak
Temat założony przez niniejszego użytkownika
Rozdział 17
» 2014-03-12 21:02:22
Problem z komplikacją kodu chodzi mi o pierwszą część zadania:
 Napisz funkcję, która będzie wczytywała liczby ze standardowego wejścia i zwracała wczytaną wartość. Funkcja ma zagwarantować, że zwracana liczba zawsze jest poprawna. Oznacza to, że funkcja będzie musiała pytać użytkownika o wprowadzenie liczby dopóki nie poda poprawnej.
Mój kod to:
C/C++
#include <iostream>
using namespace std;
int wczytajLiczbe()
{
    do
    {
        int a;
        cin.clear();
        cin.sync();
        cin >> a;
        cout << "Error" << cin.fail() << endl;
    } while( cin.fail() == 1 || a < 1 || a > 1000000 );
   
    return a;
}

int main()
{
    std::cout << "Podaj liczbe: ";
    int liczba = wczytajLiczbe();
    std::cout << "Podales liczbe: " << liczba << std::endl;
    return 0;
}
Co muszę w nim zmienić aby się skomplikował i zgadzał się z treścią polecenia?
P-106223
leon_w
» 2014-03-12 21:30:40
Zmienna "a" jest widoczna tylko w pętli, a poza nią już nie, a warunek a<1 sprawdzasz poza pętlą. Zadeklaruj tą zmienną przed pętlą.
P-106226
wirusomaniak
Temat założony przez niniejszego użytkownika
Podziekowania
» 2014-03-12 21:49:48
Dzięki bardzo próbowałem tu znaleźć jakiś inny błąd a tu taki szczegół naprawdę dziękuję.
P-106232
« 1 »
  Strona 1 z 1