Kurs 2 lekcja 1 - Zakonczenie petli "do"
Ostatnio zmodyfikowano 2017-10-09 12:35
Essutos Temat założony przez niniejszego użytkownika |
Kurs 2 lekcja 1 - Zakonczenie petli "do" » 2017-09-27 18:16:42 Zmagam sie z problemem jak zakonczyc pętle do ... while przy budowie kalkulatora z zadania jak w tytule poza tym program sprawdzony i dziala zgodnie z zalozeniami
#include <iostream> using namespace std; int main () { long double liczba = 0; long double druga = 0; int dzialanie = 0; do { cout << "Wybierz dzialanie:"<<endl<<"[1] mnozenie,"<<endl<<"[2] dzielenie,"<<endl<<"[3] suma,"<<endl<<"[4] roznica"<<endl<<"[5] wyjscie"<<endl; cin >> dzialanie; } while ((dzialanie != 1) || (dzialanie != 2) || (dzialanie != 3) || (dzialanie != 4) || (dzialanie != 5 )); cout << "Wprowadz 1 liczbe"<<endl; cin >> liczba; cout << "Wprowadz 2 liczbe"<<endl; cin >> druga;
switch( dzialanie) { case 1: cout << "Wynikiem mnozenia liczb "<< liczba <<" i "<< druga <<" jest " << liczba*druga; break; case 2: cout << "Wynikiem dzielenia liczb "<< liczba <<" przez "<<druga<<" jest "<<liczba/druga; break; case 3: cout << "W wyniku sumy liczb "<< liczba <<" i "<<druga<<" otrzymujemy "<<liczba+druga; break; case 4: cout << "Wynikiem roznicy liczb "<< liczba <<" i "<<druga<<" jest "<<liczba-druga; break; case 5: break; } return 0; } |
|
maly7 |
» 2017-09-27 19:00:33 ( dzialanie != 1 ) ||( dzialanie != 2 ) Takie wyrażenie jest zawsze spełnione. Bo nawet jeśli działanie == 2 to jest != 1 i jest prawdziwe. |
|
Essutos Temat założony przez niniejszego użytkownika |
» 2017-09-28 16:20:46 a co (posiadajac wiedze do tematu w ktorym jestem) mozna wpisac zeby algorytm dzialal poprawnie? |
|
latajacaryba |
» 2017-09-28 16:50:47 Używaj Operatora koniunkcji && Poza tym można to zapisać również tak: } while(( dzialanie > 5 ) ||( dzialanie < 1 ) ) |
|
Essutos Temat założony przez niniejszego użytkownika |
» 2017-09-28 17:00:36 Dzięki wielkie,
a można coś jeszcze zrobić żeby przy próbie wpisania litery program się nie buggował tylko widział że nie jest to liczba z zakresu 1-5? |
|
latajacaryba |
» 2017-09-28 18:25:37 Można, jednak warto uściślić, że jeśli do inta wpiszesz 2,8 to nie przechowa on tej liczby, nawet jej nie zaokrągli, a obetnie wszystko, co po przecinku, więc uważaj. Obsługa strumienia wejściowego |
|
Essutos Temat założony przez niniejszego użytkownika |
» 2017-10-09 12:35:11 #include <iostream> using namespace std; double a,b,c,d; int i=1; long long z=1; int silnia() {
d++;
for (i=1;i<d;i++) z*=i; cout<<"silnia z "<<d-1<< " wynosi " <<z<<endl; } int wyszukiwanie() { cout<<"Podaj 3 liczby"<<endl; cin>>a; cin>>b; cin>>c; if (a>b && c>a) d=c; if (a>b && a>c) d=a; if (b>a && c>a) if (b>c) d=b; else d=c; if (b>a && b>c) d=b; } int main() {
wyszukiwanie(); silnia();
return 0; }
|
|
« 1 » |