Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Kurs 2 lekcja 1 - Zakonczenie petli "do"

Ostatnio zmodyfikowano 2017-10-09 12:35
Autor Wiadomość
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;
}
P-165277
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.
P-165279
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?
P-165293
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 ) )
P-165294
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?
P-165295
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
P-165297
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;
}
P-165571
« 1 »
  Strona 1 z 1