15. 2 praca domowa (kalkulator)
Ostatnio zmodyfikowano 2013-09-28 08:03
G4m3killer Temat założony przez niniejszego użytkownika |
15. 2 praca domowa (kalkulator) » 2013-09-27 20:19:29 Mam problem na 15 lekcji w napisaniu kalkulatora z 2 zadania pracy domowej. Zadanie brzmi:Napisz prosty kalkulator, który będzie potrafił dodawać, odejmować, mnożyć i dzielić. Program ten ma działać następująco: 1. Wypisuje obecny wynik 2. Wprowadź liczbę 3. Wybierz działanie (jeżeli liczba różna od 0) 4. Wykonaj obliczenia (jeżeli liczba różna od 0) 5. Wróć do kroku 1. 6. Jeżeli wprowadzoną liczbą jest 0, zakończ program. Przykładowe menu wyboru działania: [1] Dodawanie [2] Odejmowanie [3] Mnożenie [4] Dzielenie [5] Rezygnuj Zabezpiecz wcześniej napisany kalkulator przed podawaniem niepoprawnych liczb i operacji. Wykorzystaj wiedzę zdobytą z pierwszego zadania pracy domowej niniejszego rozdziału. Zabezpiecz również w analogiczny sposób przed możliwością wyboru nieprawidłowego działania. Napisałem taki kod:#include <iostream> using namespace std; int main() { int liczba; int liczba2; int wynik = 0; do { cin.clear(); cin.sync(); cout << "Wynik: " << wynik << endl; cout << "Podaj 1 liczbe: "; cin >> liczba; cout << "Podaj 2 liczbe: "; cin >> liczba2; if( liczba != 0 && liczba2 != 0 ) { cout << "[1] Dodawanie" << endl; cout << "[2] Odejmowanie" << endl; cout << "[3] Mnozenie" << endl; cout << "[4] Dzielenie" << endl; cout << "[5] Rezygnuj" << endl; int co; cin >> co; switch( co ) { case 1: cout << liczba + liczba2 << endl; break; case 2: cout << liczba - liczba2 << endl; break; case 3: cout << liczba * liczba2 << endl; break; case 4: cout << liczba / liczba2 << endl; break; case 5: break; default: cout << "Podales bledne dane :/" << endl; break; } } } while( wynik > 0 ); return 0; }
I nie wiem jak zrobić aby dane z obliczen zapisywaly sie do zmiennej wynik.. Czy moze zle podszedlem do tego zadania? |
|
Buby |
» 2013-09-27 21:29:27 Poprawiłem twój kod. Przyjrzyj się uważnie, w poprawionych liniach dodałem komentarze. #include <iostream> using namespace std; int main() { int liczba; int liczba2; int wynik = 0; do { cin.clear(); cin.sync(); cout << "Wynik: " << wynik << endl; cout << "Podaj 1 liczbe: "; cin >> liczba; if( cin.good() ) { cout << "Podaj 2 liczbe: "; cin >> liczba2; if( cin.good() ) { cout << "[1] Dodawanie" << endl; cout << "[2] Odejmowanie" << endl; cout << "[3] Mnozenie" << endl; cout << "[4] Dzielenie" << endl; cout << "[5] Rezygnuj" << endl; int co; cin >> co; switch( co ) { case 1: wynik = liczba + liczba2; cout << liczba << " + " << liczba2 << " = " << wynik << endl; break; case 2: wynik = liczba - liczba2; cout << liczba << " - " << liczba2 << " = " << wynik << endl; break; case 3: wynik = liczba * liczba2; cout << liczba << " * " << liczba2 << " = " << wynik << endl; break; case 4: wynik = liczba / liczba2; cout << liczba << " : " << liczba2 << " = " << wynik << endl; cout << "Reszta: " << liczba % liczba2 << endl; break; case 5: return 0; break; default: cout << "Podales bledne dane :/" << endl; break; } } } } while( wynik > 0 ); return 0; } |
|
megatron |
» 2013-09-27 21:29:56 wynik = liczba[ +, -, *, / ] liczba2; #@#EDIT#@#@UP dawanie gotowców niczego użytkownika @G4m3killer nie nauczy ;/ |
|
G4m3killer Temat założony przez niniejszego użytkownika |
» 2013-09-28 08:03:32 Dzięki @buby :) Napewno się przyda. @megatron też po części prawda :) Chodz jesli ktoś poda to przeanalizuje kod i zapamietam na nastepny raz, ale nie bede mial tej satysfakcji ze sam zrobilem :/ Wole aby mnie naprowadzano :) Dzięki chłopaki jeszcze raz :) |
|
« 1 » |