[Rozdział 17] zakończenie pętli do...while
Ostatnio zmodyfikowano 2015-07-21 12:28
krzyweldi Temat założony przez niniejszego użytkownika |
[Rozdział 17] zakończenie pętli do...while » 2015-07-21 11:34:44 Witam, zatrzymałem się na 2 zadaniu w rozdziale 17 i kompletnie nie wiem jak sobie z nim poradzić. "Zmodyfikuj kalkulator, który pisałeś w jednym ze wcześniejszych rozdziałów tak, aby korzystał on ze wcześniej napisanej funkcji wczytajLiczbe." #include <iostream> using namespace std;
float wczytajLiczbe() { do { cin.clear(); cin.sync(); float moja; cin >> moja; if( cin.good() ) { return moja; } else cout << "Podaj prawidlowa liczbe!" << endl << "Podaj liczbe: "; } while( !cin.good() ); }
int main() { float wynik; wynik = 0; int wybor; do { cout << "Podaj pierwsza liczbe: "; float liczba1 = wczytajLiczbe(); cout << "Podaj druga liczbe: "; float liczba2 = wczytajLiczbe(); cout << "Wybierz dzialanie" << endl; cout << "[1] Dodawanie" << endl; cout << "[2] Odejmowanie" << endl; cout << "[3] Mnozenie" << endl; cout << "[4] Dzielenie" << endl; cout << "[5] Rezygnuj" << endl; cin >> wybor; switch( wybor ) { case 1: cout << "Wybrano dodawanie. Wynik dodawania: " << liczba1 + liczba2 << endl; wynik = liczba1 + liczba2; break; case 2: cout << "Wybrano odejmowanie. Wynik odejmowania: " << liczba1 - liczba2 << endl; wynik = liczba1 - liczba2; break; case 3: cout << "Wybrano mnozenie. Wynik mnozenia: " << liczba1 * liczba2 << endl; wynik = liczba1 * liczba2; break; case 4: cout << "Wybrano dzielenie. Wynik dzielenia: " << liczba1 / liczba2 << endl; wynik = liczba1 / liczba2; break; case 5: cout << "Zrezygnowano. Wracam." << endl; wynik = wynik; break; default: cout << "Podano bledne dane."; break; } cout << "Wynik: " << wynik << endl; } [ b ] while( ??? );[ / b ] return 0; }
Problem tkwi w tym, że nie wiem jak ustawić aby pętla kończyła się w przypadku gdy funkcja wczytajLiczbe zwróci 0, ponieważ while nie ma dostępu do liczba1 i liczba2? Przy okazji: czy tak wykonane zadanie jest ok? Pozdrawiam. |
|
docentpp |
» 2015-07-21 12:23:29 Zadeklaruj zmienne liczba1, liczba2 PRZED pętlą do...while.//Razem ze zmienną wynik :-) |
|
krzyweldi Temat założony przez niniejszego użytkownika |
» 2015-07-21 12:28:40 No tak! Kurde, przecież to takie logiczne :D Czasem człowieka ogłupi i będzie myślał, i myślał.. Dzięki wielki ;) |
|
« 1 » |