maciek77 Temat założony przez niniejszego użytkownika |
Lekcja 14 - Kalukator z if » 2014-03-05 18:34:50 co muszę zrobić żeby po wybraniu odpowiedniego działania pokazywało mi wynik tylko wybranego przeze mnie działanie a nie wsyztskich #include <iostream> using namespace std; int main() { float a, b; float c, d, e, f; char wybor; cout << "Podaj pierwsza liczbe - a: "; cin >> a; cout << "Podaj druga liczbe - b: "; cin >> b; cout << "Jakie dzialanie chcesz wykonac?" << endl; cout << "Dodawanie - c" << endl; cout << "Odejmnowanie - d" << endl; cout << "Mnozenie - e" << endl; cout << "Odejmnowanie - f" << endl; cin >> wybor; a, b, c, d = wybor; c = a + b; d = a - b; e = a * b; f = a / b; if( wybor = c ) { cout << "Suma tych liczb wynosi " << c << endl; if( wybor = d ) { cout << "Roznica tych liczb wynosi " << d << endl; if( wybor = e ) { cout << "Iloczyn tych liczb wynosi " << e << endl; if( wybor = f ) { cout << "Iloraz tych liczby wynosi " << f << endl; } } } else cout << "Koniec"; } return 0; }
|
|
pekfos |
» 2014-03-05 18:43:19 Mylisz = z ==. Linia a, b, c, d = wybor; nic nie robi, a porównanie z c porównuje ze zmienną c, a nie ze znakiem 'c'. Nie zabezpieczasz programu przed dzieleniem przez zero i niepotrzebnie zapisujesz wyniki działań do zmiennych - możesz je od razu wypisywać. |
|
maciek77 Temat założony przez niniejszego użytkownika |
» 2014-03-05 19:16:58 a można to w ogóle zrobić z wykorzystaniem if tak jak ja to rozpocząłem ? bo jakoś mi to nie wychodzi |
|
pekfos |
» 2014-03-05 19:21:35 Można, ale z innym ułożeniem warunków. Obecnie, po poprawieniu wyżej wymienionych błędów, do następnych porównań dojdzie tylko wtedy, gdy poprzednie były prawdziwe, a tak nie będzie, bo za każdym razem porównujesz z inną wartością. Powinno to wyglądać tak: if( czy_rowne_a ) { } if( czy_rowne_b ) { }
W razie dalszych problemów, podaj kod :) |
|
maciek77 Temat założony przez niniejszego użytkownika |
» 2014-03-05 20:04:55 ok poradziłem sobie, dzięki za pomoc i pozdrawiam. dodaje kod. może komuś w przyszłości pomoże #include <iostream> using namespace std; int main() { float a, b; char wybor; char c, d, e, f; cout << "Podaj pierwsza liczbe - a: "; cin >> a; cout << "Podaj druga liczbe - b: "; cin >> b; cout << "Jakie dzialanie chcesz wykonac?" << endl; cout << "Dodawanie - c" << endl; cout << "Odejmnowanie - d" << endl; cout << "Mnozenie - e" << endl; cout << "Dzielenie - f" << endl; cin >> wybor; if( wybor == 99 ) { cout << "Suma tych liczb wynosi " << a + b << endl; } if( wybor == 100 ) { cout << "Roznica tych liczb wynosi " << a - b << endl; } if( wybor == 'e' ) { cout << "Iloczyn tych liczb wynosi " << a * b << endl; } if( wybor == 'f' ) { cout << "Iloraz tych liczby wynosi " << a / b << endl; } return 0; } |
|
maciek77 Temat założony przez niniejszego użytkownika |
» 2014-03-05 20:09:29 mam jeszcze takie pytanie, jeśli chodzi o swicht... w case można wstawić znak? jak tak robię to wywala błąd ale może jest jakiś sposób |
|
pekfos |
» 2014-03-05 20:11:09 |
|
« 1 » |