Problem z kalkulatorem
Ostatnio zmodyfikowano 2013-08-19 21:26
Turtlix21 Temat założony przez niniejszego użytkownika |
Problem z kalkulatorem » 2013-08-19 20:54:46 Nwm co jest źle w tym kodzie (to ma być prymitywny kalkulator) #include <iostream> int main() { std::cout << "Podaj pierwszy skladnik: "; int dzialanie; std::cin >> dzialanie; std::cout << std::endl; std::cout << "Jakiego znaku matematycznego chesz teraz uzyc ? " << std::endl << std::endl << "mnozenie - 1" << std::endl << "dzielenie - 2" << std::endl << "odejmowanie - 3" << std::endl << "dodawanie - 4" << std::endl; char znak; std::cin >> znak; std::cout << std::endl; std::cout << "Podaj drugi skladnik: "; int dzialanie2; std::cin >> dzialanie2; int wynik; if( znak == '1' ) { wynik = dzialanie + dzialanie2; std::cout << std::endl << "Wynik dzialania " << dzialanie << "+" << dzialanie2 << " to " << wynik << std::endl << "(" << dzialanie << "+" << dzialanie2 << "=" << wynik << ")"; } if( znak == '3' ) { wynik = dzialanie - dzialanie2; std::cout << std::endl << "Wynik dzialania " << dzialanie << "-" << dzialanie2 << " to " << wynik << std::endl << "(" << dzialanie << "-" << dzialanie2 << "=" << wynik << ")"; } if( znak == '2' ) { wynik = dzialanie / dzialanie2; std::cout << std::endl << "Wynik dzialania " << dzialanie << ":" << dzialanie2 << " to " << wynik << std::endl << "(" << dzialanie << ":" << dzialanie2 << "=" << wynik << ")"; } if( znak == '1' ) { wynik = dzialanie * dzialanie2; std::cout << std::endl << "Wynik dzialania " << dzialanie << "x" << dzialanie2 << " to " << wynik << std::endl << "(" << dzialanie << "x" << dzialanie2 << "=" << wynik << ")"; } std::cout << std::endl << std::endl << std::endl << "Kunjec"; return 0; } EFEKT JEST TAKI: |
|
b00rt00s |
» 2013-08-19 21:09:22 Przy dodawaniu sprawdzasz warunek: if( znak == '1' ) a powinno być: if( znak == '4' ) Żądana operacja dodawania się zwyczajnie nie wykonuje. Aby unikać takich błędów powinieneś zapisać kody operacji w zmiennej i korzystać z niej zarówno przy wypisywaniu komunikatu na ekran, jak również przy sprawdzaniu warunków. Jeśli jakaś wartość występuje w kodzie min. dwa razy, to nie powinno się jej zapisywać statycznie, ale w postaci zmiennej (z modyfikatorem const, jeśli nie powinna ulegać zmianie, tak jak w Twoim programie). |
|
Turtlix21 Temat założony przez niniejszego użytkownika |
FACEPALM ! » 2013-08-19 21:26:03 Ale głupi błąd, po prostu godny FACEPALM'A !|
Wielkie dzięki za pomoc b00rt00s ! |
|
« 1 » |