[lekcja 17] Zadanie z lekcji
Ostatnio zmodyfikowano 2014-06-14 22:57
grzeso Temat założony przez niniejszego użytkownika |
[lekcja 17] Zadanie z lekcji » 2014-06-14 21:41:16 #include <iostream> void moja_funkcja() { std::cout << "[1] - dodawanie" << std::endl; std::cout << "[2] - odejmowanie" << std::endl; std::cout << "[0] - wyjscie z programu" << std::endl; }
void dodawanie() { int a, b; std::cout << "wynik: " << a + b; }
void odejmowanie() { int a, b; std::cout << "odejmowanie: " << a - b; }
int wczytywanie() { int a, b; std::cout << "Podaj liczbe a:"; std::cin >> a; std::cout << "Podaj liczbe b:"; std::cin >> b; return a; return b; }
int main() { std::cout << "W programie sa dostepne nastepujace opcje:" << std::endl; moja_funkcja(); std::cout << "Zycze przyjemnego korzystania z programu :)" << std::endl << std::endl; int liczba; do { wczytywanie(); moja_funkcja(); std::cin >> liczba; switch( liczba ) { case 1: dodawanie(); break; case 2: odejmowanie(); break; default: break; } } while( liczba != 0 ); return 0; }
Dlaczego wykonując funkcje dodawanie() i odejmowanie() liczy w ten sposób: b+liczba i b-liczba, a nie a+b i a-b |
|
SeaMonster131 |
» 2014-06-14 21:48:47 Funkcja wczytywanie() zwraca Ci wartość tylko zmiennej a (z którą i tak nic nie robisz). Funkcje dodawanie() oraz odejmowanie() zwracają wynik dodawania lub odejmowania liczb, którym nie nadałeś żadnej wartości. |
|
grzeso Temat założony przez niniejszego użytkownika |
» 2014-06-14 22:57:58 Dzięki. Nie ogarnąłem że jak używam void to funkcja ani nic nie pobierze, ani nic nie zwróci. Wszystko łącznie z wczytanie i policzeniem musi być wewnątrz funkcji. A funkcja int wczytywanie() { int a, b; std::cout << "Podaj liczbe a:"; std::cin >> a; std::cout << "Podaj liczbe b:"; std::cin >> b; return a; return b; }
jest bez sensu bo chce wpisać i zwrócić 2 liczby, a w funkcjach chodzi o to żeby wczytać jedną a funkcje wywołać 2 razy. Rozwiązanie mojego problemu jakby kogoś kiedyś interesowało: #include <iostream>
void moja_funkcja() { std::cout << "[1] - dodawanie" << std::endl; std::cout << "[2] - odejmowanie" << std::endl; std::cout << "[0] - wyjscie z programu" << std::endl; }
int dodawanie( int a, int b ) { return a + b; }
int odejmowanie( int a, int b ) { return a - b; }
int wczytywanie() { int x; std::cout << "Podaj liczbe:"; std::cin >> x; return x; }
int main() { std::cout << "W programie sa dostepne nastepujace opcje:" << std::endl; moja_funkcja(); std::cout << "Zycze przyjemnego korzystania z programu :)" << std::endl << std::endl; int liczba; do { int a = wczytywanie(); int b = wczytywanie(); moja_funkcja(); std::cin >> liczba; switch( liczba ) { case 1: { int w = dodawanie( a, b ); std::cout << "Wynik:" << w << std::endl; break; } case 2: { int w = odejmowanie( a, b ); std::cout << "Wynik:" << w << std::endl; break; } default: break; } } while( liczba != 0 ); return 0; }
|
|
« 1 » |