Microsegment.ru
  • Главная страница
  • О проекте
  • Портфолио
  • Блог

Текст кода файла «calculatorcalculation.cpp» калькулятора «mysimplecalculator»


/********************************************************************

    My simple calculator.

    In this file one function 'calculator_calculation'.
    This function started moved My simple calculator.

********************************************************************/

//-------------------------------------------

#include "std_lib_facilities.h"

//-------------------------------------------

#include "header.h"

//-------------------------------------------

using namespace std;

//-------------------------------------------

// The function of the calculator and custom error handling
void calculator_calculation()
{
    Calculator calc;
    calc.welcome();
    while(cin)
    try{
        calc.get();
        calc.out();
        //cout << "\n= " << calc.result << "\n";
    }
    catch( errornooperands ){
        calc.cleardate();
        cerr << "\nError! No operands!\n\n";
    }
    catch( errornooperators ){
        calc.cleardate();
        cerr << "\nError! No operators!\n\n";
    }
    catch( errortwooperatorsinarow ){
        calc.cleardate();
        cerr << "\nError! Two operators in a row!\n\n";
    }
    catch( erroremptybraces ){
        calc.cleardate();
        cerr << "\nError! Empty braces!\n\n";
    }
    catch( errorbracecorrect ){
        calc.cleardate();
        cerr << "\nError! Incorrect use of braces!\n\n";
    }
    catch( errorseparatorcorrect ){
        calc.cleardate();
        cerr << "\nError! Incorrect use of separator ','!\n\n";
    }
    catch( errorfactorial ){
        calc.cleardate();
        cerr << "\nError! Incorrect use of factorial!\n\n";
    }
    catch( divisionbyzero ){
        calc.cleardate();
        cerr << "\nError! Division by zero! To zero cannot be split!\n\n";
    }
    catch( errorequalscorrect ){
        calc.cleardate();
        cerr << "\nError! Incorrect use of equals!\n\n";
    }
    catch( errorsqrtcorrect ){
        calc.cleardate();
        cerr << "\nError! Incorrect use of function 'sqrt'!\n\n";
    }
    catch( errorpowcorrect ){
        calc.cleardate();
        cerr << "\nError! Incorrect use of function 'pow'!\n\n";
    }
    catch( errordefault ){
        calc.cleardate();
        cerr << "\nError! Enter not correct numbers or operators!\n\n";
    }
    //keep_window_open();
}

Политика конфиденциальности

Продолжая использовать данный сайт вы подтверждаете свое согласие с условиями его политики конфиденциальности. Подробнее…




Администрация и владельцы данного информационного ресурса не несут ответственности за возможные последствия, связанные с использованием информации, размещенной на нем.


Все права защищены. При копировании материалов сайта обязательно указывать ссылку на © Microsegment.ru (2020-2025)