funkcja pierwsze starcie zd2
Ostatnio zmodyfikowano 2013-04-04 15:51
gorky112 Temat założony przez niniejszego użytkownika |
funkcja pierwsze starcie zd2 » 2013-04-03 20:41:52 Prosiłbym o pomoc w zadaniu drugim z: Funkcje - pierwsze starcieNie umiem dodać funkcji wynik, kombinowałem na róźne sposoby między innymi: #include <iostream> float moja_funkcja() { std::cout << "[1] - dodawanie" << std::endl; std::cout << "[2] - odejmowanie" << std::endl; std::cout << "[0] - wyjscie z programu" << std::endl; }
float dodawanie() { int a; int b; std::cout << "Wybrano dodawanie" << std::endl; std::cout << "Podaj pierwsza liczbe: "; std::cin >> a; std::cout << "Podaj druga liczbe: "; std::cin >> b; return a + b; }
float odejmowanie() { int a; int b; std::cout << "Wybrano odejmowanie" << std::endl; std::cout << "Podaj pierwsza liczbe: "; std::cin >> a; std::cout << "Podaj druga liczbe: "; std::cin >> b; return a + b; } float wynik() { } int main() { std::cout << "W programie sa dostepne nastepujace opcje:" << std::endl; std::cout << "Zycze przyjemnego korzystania z programu" << std::endl << std::endl; int liczba; do { moja_funkcja(); std::cin >> liczba; switch( liczba ) { case 1: dodawanie(); break; case 2: odejmowanie(); break; default: break; } std::cout << "Wynik to: " << wynik() << std::endl; } while( liczba != 0 ); return 0; } Proszę nie podawać gotowego rozwiązania tylko pomoc jak mogę sobie z tym poradzić. //edit Doszedłem do tego prostego rozwiązania, ale chyba jest niepoprawne z zadaniem bo nie zwraca liczby tak jak w poprzednim przykładzie. #include <iostream> float moja_funkcja() { std::cout << "[1] - dodawanie" << std::endl; std::cout << "[2] - odejmowanie" << std::endl; std::cout << "[0] - wyjscie z programu" << std::endl; }
float dodawanie() { int a; int b; std::cout << "Wybrano dodawanie" << std::endl; std::cout << "Podaj pierwsza liczbe: "; std::cin >> a; std::cout << "Podaj druga liczbe: "; std::cin >> b; std::cout << "Wynik dodawania: " << a << " + " << b << " = " << a + b << std::endl; }
float odejmowanie() { int a; int b; int wynik; std::cout << "Wybrano odejmowanie" << std::endl; std::cout << "Podaj pierwsza liczbe: "; std::cin >> a; std::cout << "Podaj druga liczbe: "; std::cin >> b; std::cout << "Wynik odejmowania " << a << " - " << b << " = " << a - b << std::endl; }
int main() { std::cout << "W programie sa dostepne nastepujace opcje:" << std::endl; std::cout << "Zycze przyjemnego korzystania z programu" << std::endl << std::endl; int liczba; do { moja_funkcja(); std::cin >> liczba; switch( liczba ) { case 1: dodawanie(); break; case 2: odejmowanie(); break; default: break; } } while( liczba != 0 ); return 0; } Powinno zwracać tak samo jak wczytajLiczbe z tego przykładu: #include <iostream> int wczytajLiczbe() { int a; std::cin >> a; return a; }
int main() { std::cout << "Podaj liczbe: "; int liczba = wczytajLiczbe(); std::cout << "Podales liczbe: " << liczba << std::endl; return 0; } Co o tym sądzicie? |
|
Berux |
» 2013-04-04 12:39:24 Po pierwsze: Masz użyć funkcji wczytajLiczbe(); Po drugie: Nie wypisujesz tego co zwracają funkcje dodawanie() i odejmowanie() Wystarczy coś takiego: cout << dodawanie(); Jeśli chodzi o odejmowanie to analogicznie do powyższego. |
|
Bajt |
» 2013-04-04 13:47:31 O wiele prościej można to zrobić tak: int x, y; cin >> x; cin >> y; return x + y;
|
|
gorky112 Temat założony przez niniejszego użytkownika |
» 2013-04-04 15:51:37 Dzięki za pomoc, wczoraj byłem coś rozkojarzony :) |
|
« 1 » |