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

lekcja 17

Ostatnio zmodyfikowano 2013-03-03 20:01
Autor Wiadomość
Diabolo1989
Temat założony przez niniejszego użytkownika
lekcja 17
» 2013-03-03 18:45:50
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.

C/C++
#include <iostream>
using namespace std;
int wczytajLiczbe()
{
    int a;
    int b;
    bool c;
    do {
        cin.clear();
        cin.sync();
        cout << "podaj a:";
        cin >> a;
        c = cin.good();
    } while( c == false );
   
    return a;
   
   
    do {
        cin.clear();
        cin.sync();
        cout << "podaj b:";
        cin >> b;
        c = cin.good();
    } while( c == false );
   
    return b
    ;
   
   
}

int main()
{
   
    cout << "podaj liczby:" << endl;
    int liczba = wczytajLiczbe();
    cout << "podane liczby to:" << liczba << endl;
   
    return 0;
}

program nie pozwala podac niepoprawnej wartosci ale zwraca tylko druga czyli b co robie nie tak?
P-77597
Berux
» 2013-03-03 19:29:44
Witam. Gdy kompilator dojdzie do
return
 , to od razu funkcja się zakończy - do drugiego return'a nawet nie dojdzie. Tak więc proponuję w tej funkcji wczytywać tylko 1 liczbę, zaś w funkcji głównej mieć pętlę.
P-77604
Diabolo1989
Temat założony przez niniejszego użytkownika
» 2013-03-03 20:01:29
C/C++
#include <iostream>
using namespace std;
int liczba1()
{
    int a;
    bool c;
    do {
        cin.clear();
        cin.sync();
        cout << "podaj a:";
        cin >> a;
        c = cin.good();
    } while( c == false );
   
    return a;
   
}
int liczba2()
{
    int b;
    bool c;
    do {
        cin.clear();
        cin.sync();
        cout << "podaj b:";
        cin >> b;
        c = cin.good();
    } while( c == false );
   
    return b;
}


int main()
{
   
    cout << "podaj liczby:" << endl;
    int liczbaPierwsza = liczba1();
    int liczbaDruga = liczba2();
    cout << "podane liczby to:" << liczbaPierwsza << "oraz" << liczbaDruga << endl;
   
    return 0;
}
zmienilem to na cos takiego, czy zrobilem blad czy jest to pożądany wynik przy tym zadaniu?
P-77611
« 1 »
  Strona 1 z 1