[Lekcja 15] zadanie domowe - problem
Ostatnio zmodyfikowano 2011-11-15 09:22
pawel93 Temat założony przez niniejszego użytkownika |
[Lekcja 15] zadanie domowe - problem » 2011-11-06 18:40:34 witam Od razu mówię że jestem początkujący i mam problem ze zrobieniem zadania domowego z rozdziału 15. Myślę myśle i myślę ale nie umiem wymyślić ... :/ Otóż mój program wygląda tak : #include <iostream> using namespace std; int main() { int liczba; cout << "witaj w programie kalkulator" << endl; cout << "co chcesz teraz zrobic?" << endl; cout << "jesli chcesz:" << endl; cout << "dodac wybierz [1]" << endl; cout << "odejmowac wybierz [2]" << endl; cout << "mnozyc wybierz [3]" << endl; cout << "dzielic wybierz [4]" << endl; cout << "zrozygnowac wybierz [5]" << endl; cin >> liczba; switch( liczba ) { case 1: { int a; int b; int wynik; cout << "wpisz pierwsza liczbe" << endl; cin >> a; cout << "wpisz druga liczbe" << endl; cin >> b; wynik = a + b; cout << "wynik =" << wynik << endl; break; } case 2: { int a; int b; int wynik; cout << "wpisz pierwsza liczbe" << endl; cin >> a; cout << "wpisz druga liczbe" << endl; cin >> b; wynik = a - b; cout << "wynik =" << wynik << endl; break; } case 3: { int a; int b; int wynik; cout << "wpisz pierwsza liczbe" << endl; cin >> a; cout << "wpisz druga liczbe" << endl; cin >> b; wynik = a * b; cout << "wynik =" << wynik << endl; break; } case 4: { int a; int b; int wynik; cout << "wpisz pierwsza liczbe" << endl; cin >> a; cout << "wpisz druga liczbe" << endl; cin >> b; wynik = a / b; cout << "wynik =" << wynik << endl; break; } case 5: { cout << "koniec programu" << endl; break; } default: cout << "wpisz poprawna liczbe" << endl; break; } return 0; } i teraz gdy go uruchomimy będzie nam działał tylko nie wiem jak zrobić żeby po wykonaniu działań przechodziło spowrotem do menu i żeby można było jeszcze raz obliczyć. Próbowałem z GOTO ale wyczytałem że się tak nie powinno robić ponieważ zaburza strukture programu czy coś i nie wiem jak zrobić że jak będę tym " złym użytkownikiem" i zamiast liczby wpisze litere to pojawi się komunikat np " wpisz poprawna liczbę" i jakie macie uwagi dotyczące tego programu z góry bardzo dziękuje za pomoc pozdrawiam |
|
SeaMonster131 |
» 2011-11-06 19:18:07 pętla, np do {}while; oraz cin.clear() i cin.sync() połączone z instrukcją if. :) |
|
pekfos |
» 2011-11-06 19:21:54 ..i wstaw kod w [cpp][/cpp] |
|
pawel93 Temat założony przez niniejszego użytkownika |
» 2011-11-07 07:22:47 SeaMonster131 a czy móglbys mi to wstawić do tego programu bo męczę się i męczę i cały czas mi błędy wyskakują nie wiem czy to dobrze robię :/ |
|
SeaMonster131 |
» 2011-11-07 17:21:33 |
|
pawel93 Temat założony przez niniejszego użytkownika |
» 2011-11-07 20:35:16 no właśnie z tego się uczę cały czas z tej lekcji ze strumienia wejściowego sobie poradzę jakoś, lecz gorzej właśnie z tą funkcja do while żeby się ten program cały czas powtarzał a nie po wykonaniu działania gdyby ktoś mi to wsadził w odpowidnie miejsca w ten mój program to bym to zrozumiał na pewno |
|
Drraven |
» 2011-11-07 20:46:18 wszystkie zmienne daj na początek main; daj zmienną bool done = false; wszystko co ci pozostało po wywaleniu daj w while(!done)i na początku pętli wyłołuj: system("clr"); czy tam cls (chodzi o czyszczenie ekranu na windowsie). Pod koniec pętli daj: if( jakas - tam - zmienna == 0 ) { done = true; }
Przeanalizuj co ci napisałem i wykonaj. |
|
pawel93 Temat założony przez niniejszego użytkownika |
» 2011-11-07 21:04:09 teraz to wyglada u mnie tak #include <iostream> using namespace std; int main()
{ int a; int b; int wynik; int liczba; cout << "witaj w programie kalkulator" << endl; cout << "co chcesz teraz zrobic?" << endl; cout << "jesli chcesz:" << endl; cout << "dodac wybierz [1]" << endl; cout << "odejmowac wybierz [2]" << endl; cout << "mnozyc wybierz [3]" << endl; cout << "dzielic wybierz [4]" << endl; cout << "zrozygnowac wybierz [5]" << endl; cin >> liczba; switch( liczba ) { case 1: { cout << "wpisz pierwsza liczbe" << endl; cin >> a; bool x = cin.good(); cin.clear(); cin.sync(); cout << "wpisz druga liczbe" << endl; cin >> b; bool y = cin.good(); cin.clear(); cin.sync(); wynik = a + b; cout << "czy udalo sie wczytac liczbe?" << x << endl; cout << "czy udalo sie wczytac liczbe?" << y << endl; cout << "wynik =" << wynik << endl; break; } case 2: { cout << "wpisz pierwsza liczbe" << endl; cin >> a; bool x = cin.good(); cin.clear(); cin.sync(); cout << "wpisz druga liczbe" << endl; cin >> b; bool y = cin.good(); cin.clear(); cin.sync(); wynik = a - b; cout << "czy udalo sie wczytac liczbe?" << x << endl; cout << "czy udalo sie wczytac liczbe?" << y << endl; cout << "wynik =" << wynik << endl; break; } case 3: { cout << "wpisz pierwsza liczbe" << endl; cin >> a; bool x = cin.good(); cin.clear(); cin.sync(); cout << "wpisz druga liczbe" << endl; cin >> b; bool y = cin.good(); cin.clear(); cin.sync(); wynik = a * b; cout << "czy udalo sie wczytac liczbe?" << x << endl; cout << "czy udalo sie wczytac liczbe?" << y << endl; cout << "wynik =" << wynik << endl; break; } case 4: { cout << "wpisz pierwsza liczbe" << endl; cin >> a; bool x = cin.good(); cin.clear(); cin.sync(); cout << "wpisz druga liczbe" << endl; cin >> b; bool y = cin.good(); cin.clear(); cin.sync(); wynik = a / b; cout << "czy udalo sie wczytac liczbe?" << x << endl; cout << "czy udalo sie wczytac liczbe?" << y << endl; cout << "wynik =" << wynik << endl; break; } case 5: { cout << "koniec programu" << endl; break; } default: cout << "wpisz poprawna liczbe" << endl; break; } return 0; } brakuje mi jeszcze tego powtarzania ze jak sie wykona dzialanie to powraca do menu jak trzeba ta pętle do while wstawić :< |
|
« 1 » 2 |