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

Lekcja 15 cz2 uwagi

Ostatnio zmodyfikowano 2019-10-24 17:58
Autor Wiadomość
grotaczarka
Temat założony przez niniejszego użytkownika
Lekcja 15 cz2 uwagi
» 2019-10-23 22:58:46
Czy wstawilem wszystkie zabezpieczenia w poprawny sposob? Za wszelkie uwagi dziękuje

C/C++
#include <iostream>
#include <limits>

int main()
{
    int a, b, dzialanie;
    bool blad1, blad2;
   
    do
    {
       
        std::cout << "\nKALKULATOR\n" << std::endl;
       
        std::cout << "Podaj pierwsza liczbe ";
        std::cin >> a;
        blad1 = std::cin.fail();
        std::cin.clear();
        std::cin.ignore( std::numeric_limits < std::streamsize >::max(), '\n' );
       
       
        std::cout << "[1] Dodawanie" << std::endl;
        std::cout << "[2] Odejmowanie" << std::endl;
        std::cout << "[3] Mnozenie" << std::endl;
        std::cout << "[4] Dzielenie" << std::endl;
        std::cout << "[5] Rezygnuj\n" << std::endl;
        std::cout << "Wybierz dzialanie" << std::endl;
        std::cin >> dzialanie;
        if( dzialanie >= 5 )
        {
            std::cout << "Do widzenia";
            return( 0 );
        }
        std::cout << "Podaj druga liczbe ";
        std::cin >> b;
        blad2 = std::cin.fail();
        std::cin.clear();
        std::cin.ignore( std::numeric_limits < std::streamsize >::max(), '\n' );
       
        switch( dzialanie )
        {
        case 1:
            std::cout << a << "+" << b << " = " << a + b << std::endl;
            break;
        case 2:
            std::cout << a << "-" << b << " = " << a - b << std::endl;
            break;
        case 3:
            std::cout << a << "*" << b << " = " << a * b << std::endl;
            break;
        case 4:
            if( b == 0 )
            {
                std::cout << "Nie dzielimy przez 0";
                return( 0 );
            }
            std::cout << a << "/" << b << " = " << a / b << std::endl;
            break;
        }
    }
    while( a != 0 );
   
    return 0;
}
P-175423
pekfos
» 2019-10-24 17:58:16
Zabezpieczenie powinno powstrzymywać użytkownika przed podaniem złych danych, a tu nic takiego nie ma miejsca. Wspomniane w zadaniu wykorzystanie wiedzy z pierwszego zadania trzeba potraktować bardzo dosłownie. Jeśli przeszkadza Ci kopiowanie kodu, to bardzo dobrze - lekcja 17 da odpowiednie narzędzia, by tego unikać.
P-175425
« 1 »
  Strona 1 z 1