Kalkulator
Ostatnio zmodyfikowano 2015-12-23 13:12
Karlikovsky Temat założony przez niniejszego użytkownika |
Kalkulator » 2015-12-11 23:05:02 Witam, otóż w 15 rozdziale kursu C++ zadaniem domowym jest stworzenie prostego kalkulatora, przedstawiam wam mój i proszę o opinię czy jest w porządku oraz jak ewentualnie mogłem skrócić długość kodu. :) #include <iostream> int main() { using namespace std; int a; int b; int wynik; int dzialanie; cout << "[1] Dodawanie [2] Odejmowanie" << endl; cout << "[3] Mnozenie [4] Dzielenie" << endl; cout << "[5] Rezygnuj" << endl; wynik = 0; do { cout << "Wynik: " << wynik << endl; cout << "Podaj liczbe a: "; cin >> a; cout << "Podaj liczbe b: "; cin >> b; cout << "Wybierz dzialanie:"; cin >> dzialanie; bool zero; if( zero =( a && b && dzialanie != 0 ) ) { switch( dzialanie ) { case 1: wynik = a + b; cout << a << "+" << b << "=" << wynik << endl; break; case 2: wynik = a - b; cout << a << "-" << b << "=" << wynik << endl; break; case 3: wynik = a * b; cout << a << "*" << b << "=" << wynik << endl; break; case 4: wynik = a / b; cout << a << ":" << b << "=" << wynik << endl; break; case 5: return 0; break; default: cout << "Wybierz odpowiednie dzialanie." << endl; } } } while( wynik != 0 ); cout << "Wprowadziles 0, dlatego operacja zostala przerwana."; return 0; }
|
|
carlosmay |
» 2015-12-11 23:21:32 Zabezpiecz program przed wprowadzaniem nieprawidłowych danych i przed dzieleniem przez zero. Pisz kod czytelny i zrozumiały, nie musi być krótki. |
|
Karlikovsky Temat założony przez niniejszego użytkownika |
» 2015-12-12 12:54:43 Troszkę to poprawiłem, czy teraz jest ok? |
|
carlosmay |
» 2015-12-12 14:36:38 Wręcz przeciwnie. bool zero; if( zero =( a && b && dzialanie != 0 ) )
| |
|
Szadziu |
» 2015-12-23 11:37:44 up: Warunek o dziwo jest poprawny, a zmienna jest zainicjalizowana( w ifie ). Pytanie tylko czy robi to co użytkownik chciał. |
|
darko202 |
» 2015-12-23 13:12:44 >> proszę o opinię .. jak ewentualnie mogłem skrócić długość kodu. jeśli chodzi o skrócenie kodu to jeśli : * stworzysz makra, np. #define PRINT(a,b,znak) (cout << a << znak << b << "=" << (a+b) << endl)
PRINT( a, b, '+' ); PRINT( a, - b, '-' );
* funkcje dublujące funkcjonalność np. void PodajDane( int & x ) { cout << "Podaj liczbe : "; cin >> x; }
... PodajDane( a ); PodajDane( b ); ...
cout << "Podaj liczbe a: "; cin >> a; ....
* zrezygnujesz ze zbędnych zmiennych wynik = a + b; cout << a << "+" << b << "=" << wynik << endl;
cout << a << "+" << b << "=" <<( a + b ) << endl;
PRINT( a, b, '+' );
* itp. to kod da się skrócić ogólnie trochę trzeba pomyśleć co jest nadmiarowe, da się uprościć |
|
« 1 » |