Lekcja 15- zadanie 2
Ostatnio zmodyfikowano 2012-02-17 19:09
nemesis Temat założony przez niniejszego użytkownika |
Lekcja 15- zadanie 2 » 2012-02-16 07:40:51 Ehm.. jak za kazdym razem mam problem z kalkulatorem, wszystko mi sie dobrze skompilowalo lecz caly czas mi powtarza petle nawet jak wpisze dobre liczby \ #include <cstdlib> #include <iostream>
double dodawanie( double a, double b ) { return a + b; } double odejmowanie( double a, double b ) { return a - b; } double mnozenie( double a, double b ) { return a * b; } double dzielenie( double a, double b ) { return a / b; }
double kalkulator( double a, double b, int menu ) { switch( menu ) { case 1: return dodawanie( a, b ); std::cout << " Otrzymales: " << dodawanie << " z dodawania." << std::endl; break; case 2: return odejmowanie( a, b ); std::cout << " Otrzymales: " << odejmowanie << " z odejmowania." << std::endl; break; case 3: return mnozenie( a, b ); std::cout << " Otrzymales: " << mnozenie << " z mnozenia." << std::endl; break; case 4: return dzielenie( a, b ); std::cout << " Otrzymales: " << dzielenie << " z dzielenie." << std::endl; break; default: std::cout << "Zla liczba!" << std::endl; } }
int main() { double a; double b; std::cout << "\t\t\t\t\t------------\n" << std::endl; std::cout << "\t\t\t\t\t-Kalkulator-\n" << std::endl; std::cout << "\t\t\t\t\t------------\n" << std::endl; std::cout << "\t\t\t\t\t\tWersja 1.0 by Nemesis" << std::endl; do { std::cout << "Wprowadz pierwsza liczbe: "; std::cin.clear(); std::cin.sync(); std::cin >> a; std::cout << "Wprowadz druga liczbe: "; std::cin.clear(); std::cin.sync(); std::cin >> b; std::cout << " Liczba nie moze wynosic zero" << std::endl; } while(( a >= 1 ) ||( b >= 1 ) ); int menu; { std::cout << "[1] Dodawanie\n" << "[2] Odejmowanie\n" << "[3] Mnozenie\n" << "[4] Dzielenie\n" << std::endl; std::cin >> menu; std::cout << kalkulator( a, b, menu ) << std::endl; } std::cout << "\t----------\n" << std::endl; std::cout << "\tDziekujemy\n" << std::endl; std::cout << "\t----------\n" << std::endl; system( "pause" ); return 0; }
|
|
RazzorFlame |
» 2012-02-16 08:04:39 1 - Kompilator nie komplikuje tylko kompiluje :) 2 - Jezeli wywolujesz funkcje to nie "return nazwafunkcji(...);" tylko np: case 1: int licz1, licz2, suma; cin >> licz1; cin >> licz2; suma = dodawanie( licz1, licz2 ); cout << "Suma tych 2 liczb to: " << suma << endl; break;
|
|
Karol_14 |
» 2012-02-17 19:09:27 Masz kilka bladow w tym programie... nie bede CI ich wszystkich wytykal odpowiem tylko na Twoje pytanie. Zastanow sie jak wyglada Twoja pętla... Kazesz programowi pytac o liczbe a i liczbe b dopóki a>=1 lub b>=1. Znaczy to tyle ze nie wyjdziesz z pętli dopóki któraś z liczb będzie dodatnia. Argumentem kończącym pętle powinna być sytuacja w której obydwie liczby są nie tyle większe(lub w przypadku Twojego programu - miejsze) od 0 a równe 0. Przemyśl to jeszcze raz i najlepiej przeczytaj ponownie rozdział o logice. |
|
« 1 » |