Lekcja 14 - Kalukator (switch, case) drobny problem
Ostatnio zmodyfikowano 2014-03-05 21:36
outlet52 Temat założony przez niniejszego użytkownika |
Lekcja 14 - Kalukator (switch, case) drobny problem » 2014-03-02 22:45:07 Napisz prosty kalkulator dla dwóch liczb, obsługujący cztery działania matematycznie: +, -, * i /. Wykorzystaj wiedzę zdobytą z niniejszego rozdziału. |
Witam mam problem tylko z jedną rzeczą w owym zadaniu, nie wiem jak zrobić, żeby zamiast cyfr (1-4), wpisywanie wyrazów (suma, różnica) uruchamiało jakiś warunek; Tutaj zamieszczam kalkulator z działającymi cyframi (1-4); #include <iostream> using namespace std;
main() { double a, b; int kalkulator; cout << "= WITAMY W KALKULATORZE NAJNOWSZEJ GENERACJI =" << endl; cout << "Jakie dzialanie chcesz przeprowadzic? (Suma, roznica, iloczyn, iloraz)" << endl; cin >> kalkulator; switch( kalkulator ) { case 1: cout << "\nWprowadz pierwsza liczbe: "; cin >> a; cout << "Wprowadz druga liczbe: "; cin >> b; cout << "\n Suma liczby " << a << " i liczby " << b << " wynosi: " << a + b; break; case 2: cout << "\nWprowadz pierwsza liczbe: "; cin >> a; cout << "Wprowadz druga liczbe: "; cin >> b; cout << "\n Roznica liczby " << a << " i liczby " << b << " wynosi: " << a - b; break; case 3: cout << "\nWprowadz pierwsza liczbe: "; cin >> a; cout << "Wprowadz druga liczbe: "; cin >> b; cout << "\n Iloczyn liczby " << a << " i liczby " << b << " wynosi: " << a * b; break; case 4: cout << "\nWprowadz pierwsza liczbe: "; cin >> a; cout << "Wprowadz druga liczbe: "; cin >> b; cout << "\n Iloraz liczby " << a << " i liczby " << b << " wynosi: " << a / b; break; default: cout << "\nNie wiem co zrobiles ale zjebales :("; break; } cin.get(); return 0; } A tutaj moja nędzna próba :P z użyciem if'u #include <iostream> using namespace std;
main() { double a, b; char kalkulator; cout << "= WITAMY W KALKULATORZE NAJNOWSZEJ GENERACJI =" << endl; cout << "Jakie dzialanie chcesz przeprowadzic? (Suma, roznica, iloczyn, iloraz)" << endl; cin >> kalkulator; if( kalkulator == "suma" ) kalkulator = 1; switch( kalkulator ) { case 1: cout << "\nWprowadz pierwsza liczbe: "; cin >> a; cout << "Wprowadz druga liczbe: "; cin >> b; cout << "\n Suma liczby " << a << " i liczby " << b << " wynosi: " << a + b; break; case 2: cout << "\nWprowadz pierwsza liczbe: "; cin >> a; cout << "Wprowadz druga liczbe: "; cin >> b; cout << "\n Roznica liczby " << a << " i liczby " << b << " wynosi: " << a - b; break; case 3: cout << "\nWprowadz pierwsza liczbe: "; cin >> a; cout << "Wprowadz druga liczbe: "; cin >> b; cout << "\n Iloczyn liczby " << a << " i liczby " << b << " wynosi: " << a * b; break; case 4: cout << "\nWprowadz pierwsza liczbe: "; cin >> a; cout << "Wprowadz druga liczbe: "; cin >> b; cout << "\n Iloraz liczby " << a << " i liczby " << b << " wynosi: " << a / b; break; default: cout << "\nNie wiem co zrobiles ale zjebales :("; break; } cin.get(); return 0; } Błędy: In function 'int main()': [Error] ISO C++ forbids comparison between pointer and integer [-fpermissive] Pytanie jest proste, co robie źle? |
|
Monika90 |
» 2014-03-03 08:28:27 Zmienna kalkulator jest typu char, tzn. zawiera jeden znak. Możesz dopisać #include <string> i zadeklarować std::string kalkulator; to wtedy zmieści się w niej cały napis. Będziesz też musiał zrezygnować z przypisywania liczby 1 do tej zmiennej, bo to nie ma sensu. |
|
pekfos |
» 2014-03-03 08:28:47 |
|
maciek77 |
» 2014-03-05 17:43:34 << removed - załóż własny temat. Porządek musi być >> |
|
Ard123 |
... » 2014-03-05 21:36:32 Ale jeśli zrobi tak jak mówicie, to nie użyje switch, bo on obsługuje tylko liczby całkowite, a tekst nie może być liczbą całkowitą.
|
|
« 1 » |