Kalkulator
Ostatnio zmodyfikowano 2018-11-21 23:20
wiktoro112 Temat założony przez niniejszego użytkownika |
Kalkulator » 2018-11-21 23:08:41 Witam! Po długiej przerwie wróciłem do tego kursu, właśnie skończyłem robić kalkulator. Moje pytanie jest następujące: Czy znalazła by się jakaś dobra duszyczka i przejrzała mój kod? Wszystko się dobrze komplikuje i działa lecz chciałbym się dowiedzieć czy dobrze wszystko rozumuje i ide w dobrym kierunku? Pozdrawiam! #include <iostream> #include <conio.h> int main() { int a; int b; using namespace std; cout << "=====================" << endl; cout << "Witaj w kalkulatorze!" << endl; cout << "=====================" << endl; cout << endl; cout << "Masz do wyboru: Dodawanie +, Odejmowanie -, Mnozenie *, Dzielenie /." << endl; cout << "Wybierasz: "; char znak = '+'; '-'; '*'; '/'; cin >> znak; switch( znak ) { case '+': cout << "\t=======================" << endl; cout << "\tWybrales dodawanie." << endl; cout << "\tPodaj liczbe a oraz b." << endl; cout << "\ta: "; cin >> a; { bool test = cin.fail(); cout << "\tBlad? " << test << endl; cin.clear(); cin.sync(); cout << "\tb: "; cin >> b; bool test1 = cin.fail(); cout << "\tBlad? " << test1 << endl; cin.clear(); cin.sync(); } cout << "\tWynik + twoich liczb to: " << a + b; cout << "\t Dziekuje za skorzystanie z mojej aplikacji!"; break; case '-': cout << "\t=======================" << endl; cout << "\tWybrales odejmowanie." << endl; cout << "\tPodaj liczbe a oraz b." << endl; cout << "\ta: "; cin >> a; { bool test2 = cin.fail(); cin.clear(); cin.sync(); cout << "\tBlad? " << test2 << endl; cout << "\tb: "; cin >> b; bool test3 = cin.fail(); cin.fail(); cin.sync(); cout << "\tBlad? " << test3 << endl; } cout << "\tWynik twoich liczb to: " << a - b << endl; cout << "\t Dziekuje za skorzystanie z mojej aplikacji!"; break; case '*': cout << "\t=======================" << endl; cout << "\tWybrales mnozenie." << endl; cout << "\tPodaj liczbe a oraz b." << endl; cout << "\ta: "; cin >> a; { bool test4 = cin.fail(); cin.clear(); cin.sync(); cout << "\tBlad? " << test4 << endl; cout << "\tb: "; cin >> b; bool test5 = cin.fail(); cin.fail(); cin.sync(); cout << "\tBlad? " << test5 << endl; } cout << "\tWynik twoich liczb to: " << a * b << endl; cout << "\t Dziekuje za skorzystanie z mojej aplikacji!"; break; case '/': cout << "\t=======================" << endl; cout << "\tWybrales dzielenie." << endl; cout << "\tPodaj liczbe a oraz b." << endl; cout << "\ta: "; { cin >> a; bool blad = cin.fail(); cin.clear(); cin.sync(); cout << "\tBlad? " << blad << endl; cout << "\tb: "; cin >> b; bool blad1 = cin.fail(); cin.clear(); cin.sync(); cout << "\tBlad? " << blad1 << endl; cout << "\tWynik to " << a / b << endl; cout << "\t Dziekuje za skorzystanie z mojej aplikacji!"; break; } default: cout << "Nie wybrales nic ;(" << endl; break; } getch(); return 0; }
|
|
pekfos |
» 2018-11-21 23:12:51 char znak = '+'; '-'; '*'; '/'; cin >> znak; |
Te magiczne przypisania nic nie robią, skoro i tak wczytujesz zaraz wartość do tej zmiennej. A jakbyś nie wczytywał, do zmiennej przypisujesz tam znak plusa. Cała reszta to instrukcje bez efektów. |
|
YooSy |
» 2018-11-21 23:16:20 ... i co będzie gdy b będzie równe 0 przy dzieleniu? |
|
wiktoro112 Temat założony przez niniejszego użytkownika |
» 2018-11-21 23:20:25 Poprawie. Serdeczne dziękuję za pomoc! Dobranoooc |
|
« 1 » |