Nie działa pętla do...while
Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?
Zarejestruj się!

Nie działa pętla do...while

AutorWiadomość
Temat założony przez niniejszego użytkownika
Nie działa pętla do...while
» 2019-07-18 13:39:08
Witam, proszę o pomoc w znalezieniu przyczyny nie działającej pętli.
C/C++
#include <iostream>
#include<limits>

int main()
{
    int dzialanie;
    int x, y;
    int wynik = 0;
   
   
    do
    {
       
       
       
        std::cin.clear();
        std::cin.ignore( 1000, '\n' );
        std::cout << "Wynik:" << wynik << std::endl;
       
        std::cout << " Podaj pierwsza liczbe:";
        std::cin >> y;
        if( std::cin.good() )
        {
           
            std::cout << " Podaj druga liczbe:";
            std::cin >> x;
           
            if( std::cin.good() )
            {
               
                std::cout << "1 DODAWANIE \n"
                "2 ODEJMOWANIE \n"
                "3 MNOZENIE \n"
                "4 DZIELENIE \n"
                "5 REZYGNUJ \n";
               
                std::cout << " Wybierz dzialanie:";
                std::cin >> dzialanie;
               
                switch( dzialanie )
                {
                   
                case 1:
                   
                    wynik = y + x;
                    std::cout << x << "+" << y << "=" << wynik;
                    break;
                case 2:
                   
                    wynik = y - x;
                    std::cout << x << "-" << y << "=" << wynik;
                   
                   
                    break;
                case 3:
                    wynik = y * x;
                    std::cout << x << "*" << y << "=" << wynik;
                    break;
                   
                case 4:
                    wynik = y / x;
                    std::cout << x << "/" << y << "=" << wynik;
                    break;
                   
                case 5:
                    return 0;
                    break;
                   
                default:
                    std::cout << "Podales bledne dane !!!";
                } break;
               
            } } } while( wynik > 0 );
   
    return 0;
}
P-174932
» 2019-07-18 15:05:05
Po klamrze zamykającej instrukcję warunkową switch...case wstawiłeś słowo kluczowe break.
P-174933
Temat założony przez niniejszego użytkownika
» 2019-07-18 18:35:17
Dzięki
P-174936
» 2019-07-19 09:39:23
C/C++
case 5:
return 0;
break;

ten "break" nigdy nie zostanie wykonany.
will never be executed

Dobrze by było jeszcze dodać warunek if
kiedy wynik jest nieokreslony dla case 4:

popraw treść cout'ów przy case bo wprowadzają w błąd
P-174938
« 1 »
 Strona 1 z 1