lekcja 15 kalkulator ocena
Ostatnio zmodyfikowano 2013-02-26 16:16
Diabolo1989 Temat założony przez niniejszego użytkownika |
lekcja 15 kalkulator ocena » 2013-02-26 16:02:15 Witam. Prosilbym o ocene podanego tu kalkulatora, czekam na pomocne uwagi ktore mogly by usprawnic moje dzialanie nastepnym razem i wytkniecie bledow ktore popelnilem a ich nie widze #include<iostream> #include <cstdlib> using namespace std; int main() { int wybor; float a; float b; cin.clear(); cin.sync(); cout << "[1]Dodawanie:::::" << endl; cout << "[2]Odejmowanie:::::" << endl; cout << "[3]Mnozenie:::::" << endl; cout << "[4]Dzielenie:::::" << endl; cout << "[0]Rezygnuj:::::" << endl; do { cout << "Jakie dzialanie wybierasz?" << endl; cin >> wybor; switch( wybor ) { case 0: cin.clear(); cin.sync(); return 0; case 1: cout << "Podaj liczbe a:"; cin >> a; cout << "Podaj liczbe b:"; cin >> b; cout << "a + b==" << a + b << endl; cin.clear(); cin.sync(); break; case 2: cout << "Podaj liczbe a:"; cin >> a; cout << "Podaj liczbe b:"; cin >> b; cout << "a - b==" << a - b << endl; cin.clear(); cin.sync(); break; case 3: cout << "Podaj liczbe a:"; cin >> a; cout << "Podaj liczbe b:"; cin >> b; cout << "a * b==" << a * b << endl; cin.clear(); cin.sync(); break; case 4: do { cin.clear(); cin.sync(); cout << "Podaj \"liczbe\" a:"; cin >> a; if( cin.good() || a != 0 ); } while( cin.fail() || a == 0 ); do { cin.clear(); cin.sync(); cout << "Podaj \"liczbe\" b:"; cin >> b; if( cin.good() || b != 0 ); } while( cin.fail() || b == 0 ); cout << "a / b==" << a / b << endl; break; cin.clear(); cin.sync(); break; } } while( wybor >= 0 ); return 0; } |
|
Berux |
» 2013-02-26 16:16:11 możesz zamienić na: float a, b; to daj przed samym wczytywaniem, a nie po zdefiniowaniu zmiennych. switch( wybor ) { case 0: cin.clear(); cin.sync(); / to tez return 0; case 1: cout << "Podaj liczbe a:"; cin >> a; cout << "Podaj liczbe b:"; cin >> b; cout << "a + b==" << a + b << endl; cin.clear(); cin.sync(); break; [...] I dalej też dawaj przed samym wczytywaniem :) /edit: if( cin.good() || b != 0 ); Tą linijkę możesz usunąć. Nic ona w tym kodzie nie robi :) /edit 2: Zamiast pisać w instrukcji warunkowej cin.good() Powinieneś (według mnie) napisać np.: bool sprawdzanie; int a;
cin >> a; sprawdzanie = cin.good();
if( sprawdzanie )
/edit 3: //sory za te edity :) cin.clear(); cin.sync(); break; To możesz usunąć z czwartego case. Nic on nie robi, jeśli będziesz przed samym wczytywaniem pisał cin.clear(); i cin.sync();. Po za tym dwa razy break w jednym case. Powiem ci jeszcze, że nawet nie dojdzie do spełnienia kodu, bo przedtem przerywasz case; |
|
« 1 » |