Kurs, lekcja 15 - kalkulator
Ostatnio zmodyfikowano 2013-11-07 20:13
leon_w Temat założony przez niniejszego użytkownika |
Kurs, lekcja 15 - kalkulator » 2013-11-07 19:38:11 Witam Robię pracę domową z kursu, lekcja 15. Zadanie jest następujące: Napisz prosty kalkulator, który będzie potrafił dodawać, odejmować, mnożyć i dzielić. Program ten ma działać następująco: 1. Wypisuje obecny wynik 2. Wprowadź liczbę 3. Wybierz działanie (jeżeli liczba różna od 0) 4. Wykonaj obliczenia (jeżeli liczba różna od 0) 5. Wróć do kroku 1. 6. Jeżeli wprowadzoną liczbą jest 0, zakończ program. oraz: Zabezpiecz wcześniej napisany kalkulator przed podawaniem niepoprawnych liczb i operacji. Wykorzystaj wiedzę zdobytą z pierwszego zadania pracy domowej niniejszego rozdziału. Zabezpiecz również w analogiczny sposób przed możliwością wyboru nieprawidłowego działania. Kod napisałem następująco: #include<iostream> using namespace std; int main() { int a; int b; int znak; int pytanie; int liczba; cout << "Witam w moim kalkulatorze" << endl; do { cout << "Podaj pierwsza liczbe: " << endl; cin >> a; cout << "Podaj druga liczbe: " << endl; cin >> b; cout << "Wpisz nr. odpowiadajacy dzialaniu: " << endl << "1-Dodawanie" << endl << "2-Odejmowanie" << endl << "3-Mnozenie" << endl << "4-Dzielenie" << endl << "5-Wyjscie z programu" << endl; cin >> znak; if( a != 0 && b != 0 ) { switch( znak ) { case( 1 ) : cout << a << "+" << b << "=" << a + b << endl; break; case( 2 ) : cout << a << "-" << b << "=" << a - b << endl; break; case( 3 ) : cout << a << "*" << b << "=" << a * b << endl; break; case( 4 ) : cout << a << "/" << b << "=" << a / b << endl; case( 5 ) : { cout << "Do zobaczenia ponownie"; return 0; } default: cout << "Podales nieprawidlowa liczbe, spruboj jeszcze raz" << endl; } } else cout << "nie wykonuje dzialan na liczbie 0 " << endl; } while( znak != 5 ); return 0; }
Kalkulator działa poprawnie, ale nie wiem jak zabezpieczyć program przed wprowadzeniem nieprawidłowych danych a i b. Jeśli podam do a np. literę, program się zapętla. Mile widziane ogólne uwagi do kodu. |
|
pekfos |
» 2013-11-07 19:40:17 |
|
leon_w Temat założony przez niniejszego użytkownika |
» 2013-11-07 20:13:16 Dzięki za przypomnienie. Dopisałem po wprowadzeniu cyfry taki kod: bool bok = cin.good(); if( bok != 1 ) { cout << "podales nieprawidlowe dane"; return 0; }
Dziękuje. |
|
« 1 » |