Rozdział 17 zadanie 2.
Ostatnio zmodyfikowano 2015-03-25 20:40
Kacper.D Temat założony przez niniejszego użytkownika |
Rozdział 17 zadanie 2. » 2015-03-25 20:21:08 #include <iostream> #include <conio.h>
int menu() { int menuu; std::cout << "[1] Dodawanie " << std::endl; std::cout << "[2] Odejmowanie " << std::endl; std::cout << "[3] Mnozenie " << std::endl; std::cout << "[4] Dzielenie " << std::endl; std::cout << "[5] Rezygnuj " << std::endl; std::cin >> menuu; std::cout << std::endl; return menuu; }
int dodawanie() { int skladnik1; int skladnik2; std::cout << "Wpisz pierwszy skladnik: "; std::cin >> skladnik1; std::cout << std::endl; std::cout << "Wpisz drugi skladnik: "; std::cin >> skladnik2; std::cout << std::endl; return skladnik1 + skladnik2; }
int odejmowanie() { int odjemna; int odjemnik; std::cout << "Wpisz odjemna: "; std::cin >> odjemna; std::cout << std::endl; std::cout << "Wpisz odjemnik: "; std::cin >> odjemna; std::cout << std::endl; return odjemna - odjemnik; }
int mnozenie() { int czynnik1; int czynnik2; std::cout << "Wpisz pierwszy czynnik: "; std::cin >> czynnik1; std::cout << std::endl; std::cout << "Wpisz drugi czynnik: "; std::cin >> czynnik2; std::cout << std::endl; return czynnik1 * czynnik2; }
int dzielenie() { int dzielna; int dzielnik; std::cout << "Wpisz dzielna: "; std::cin >> dzielna; std::cout << std::endl; std::cout << "Wpisz dzielnik: "; std::cin >> dzielnik; std::cout << std::endl; return dzielna / dzielnik; return dzielna % dzielnik; }
int main() { menu(); do { if( menu() == 1 ) { dodawanie(); } if( menu() == 2 ) { odejmowanie(); } if( menu() == 3 ) { mnozenie(); } if( menu() == 4 ) { dzielenie(); } } while( menu() < 5 && std::cin.good() ); return 0; }
Co jest źle ? Funkcje włączają się w dziwnej kolejności. |
|
pekfos |
» 2015-03-25 20:30:31 Sprawdzenie każdego z tych warunków to wywołanie menu(). Uzyj switch(menu()) lub zapisuj wynik w zmiennej i tą wartość porównuj. |
|
Deyvin |
» 2015-03-25 20:40:13 Wszystko odbywa się tak jak napisałeś: wywołujesz funkcje menu() , która zwraca wartość i nic z tym nie robisz, by później używając jej jako warunek w if'ach wywołujesz ją znów przez co w konsoli masz znowu wyświetlone menu. Ponad to nic nie robisz z wartościami zwracanymi przez pozostałe funkcje, w funcji odejmowanie() jest błąd (pobierasz dwa razy liczbę do zmiennej odjemna zamiast do zmiennej odjemnik), funkcję dzielenie() powinieneś zabezpieczyć przed możliwością próby wykonania dzielenia przez 0. E: Kolega wyżej był szybszy, dobrze Ci radzi. Popraw jeszcze te błędy i będzie ok. |
|
« 1 » |