matematykaszkolna.pl
DEV C++ używanie switch() i case pomagacz: Witam, mam problem, napisałem prosty program w C++ i nie mogę zrobić tak, aby po użyciu jakiegoś casea mieć możliwość wybrania kolejnego KOD: #include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { int a, b; double wynik = 0.00; int c; cout<<"Podaj dane: "<<endl; cin>>a>>b; cout<<"Dzialania:"<<endl; cout << "1 − mnozenie\n2 − dzielenie\n3 − dodawanie\n4 − odejmowanie\n" << endl; cin >> c; switch(c) { case 1: { wynik = a*b; cout << "Wynik mnozenia to: " << wynik << endl; }break; case 2: { if (b != 0) { wynik = a/b; cout << "Wynik dzielenia to: " << wynik << endl; } else cout << "Nie dziel przez 0!" << endl; }break; case 3: { wynik = a + b; cout << "Wynik dodawania to: " << wynik << endl; }break; case 4: { wynik = a − b; cout << "Wynik odejmowania to: " << wynik << endl; }break; default: { cout << "Zle wybrales. Wybierz 1, 2, 3 lub 4" << endl; }break; } system("PAUSE"); return EXIT__SUCCESS; } KONIEC KODU na końcu przy return EXIT__SUCCESS; jest jeden podkreślnik a nie dwa, inaczej by wyszło return EXITSUCCESS;
25 paź 18:32
b.: po wybraniu któregoś z 'case'ów program wychodzi ze 'switch' i wykonuje system("PAUSE"); i return jeśli chcesz, by użyszkodnik mógł wielokrotnie wykonywać obliczenia, powinieneś część programu zawrzeć w pętli. Np. możesz dać: do { // *** NOWE cout<<"Podaj dane: "<<endl; cin>>a>>b; // (...) default: { cout << "Zle wybrales. Wybierz 1, 2, 3 lub 4" << endl; } break; } } while (c!=0); // *** NOWE Wówczas program będzie powtarzał prośbę o podanie danych i wybór działania aż do momentu, gdy ktoś poda '0', które spowoduje wyjście z pętli.
25 paź 20:25
pomagacz: int a, b, wyn; do { cout << " Podaj a i b: " << endl; cin >> ... ... switch(x) { case 1: ... case 2: ... ... default: cout << " nie dziel przez 0 " << endl; } while(x != 0) tak na przykład?
25 paź 20:32
b.: no jeśli robisz 'cin >> x' a nie tak jak wyżej 'cin >> c', to tak prawie może być (będzie potrzebna dodatkowa klamerka } przed while).
25 paź 20:41
pomagacz: niestety nie kompiluje sięemotka #include <cstdlib> #include <iostream> using namespace std; int main(int argc, char *argv[]) { int a, b, wynik, wybor; cout << "Podaj a i b: " << endl; cin >> a >> b; do { cout << "Wybierz 1−mnoz" << endl; cout << "Wybierz 2−dod" << endl; cout << "Wybierz 3−odej" << endl; cout << "Wybierz 4−dziel" << endl; cin >> wybor; switch(wybor) { case 1: { wynik = a*b; cout << "Mnożenie: " << wynik << endl; }break; case 2: { wynik = a+b; cout << "Dodawanie: " << wynik << endl; }break; case 3: { wynik = a−b; cout << "Odejmowanie: " << wynik << endl; }break; case 4: { if (b!=0) { wynik = a/b; cout << "Dzielenie: " << wynik << endl; } else cout << "nie bo 0" << endl; }break; } } while(wybor != 0) system("PAUSE"); return EXITSUCCESS; } albo nadal źle z Tobą współpracuję...
25 paź 20:51
b.: nie ma srednika po while(wybor!=0) jak sie nie kompiluje i chcesz pomocy, to napisz co kompilator wypisal...
25 paź 21:15
pomagacz: OK już działa, jeden śmieszny średnik i program nie chce działać emotka
25 paź 21:32
pomagacz: A i jeszcze jedno, jakbyś b. był lub ktoś inny, takie cosik: ... for (int i=0;i<n;i++) a *= a; ... czy możliwe jest również dzielenie, czyli: ... a /= a; // (?) ... chociaż wątpię, ale jak takie coś zrobić?
25 paź 22:01
Trivial: Możliwe jest wszystko. emotka
25 paź 22:08
pomagacz: ok już poradziłem sobie z potęgowaniem w potęgach nieujemnych ale nie wiem jak zabrać się za potęgowanie w potęgach ujemnych for (int i = ?; i ?<?>? potega; i ?++?−−) liczba ?= liczba; co wstawić
25 paź 22:45
Trivial: Wykorzystaj:
 1 
a−n =

.
 an 
25 paź 22:51