From ee4577af1346fabccda7231df0c9225961e4146e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=90=D0=BB=D0=B8=D0=BD=D0=B0=20=D0=9E=D1=80=D0=B5=D1=85?= =?UTF-8?q?=D0=BE=D0=B2=D0=B0?= Date: Sat, 16 Jan 2021 15:28:14 +0000 Subject: [PATCH] Upload New File --- calculator.h | 59 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 calculator.h diff --git a/calculator.h b/calculator.h new file mode 100644 index 0000000..10f3fe2 --- /dev/null +++ b/calculator.h @@ -0,0 +1,59 @@ +#ifndef CALCULATOR_H +#define CALCULATOR_H + +#include +#include +#include +class QLCDNumber; +class QPushButton; +class QGridLayout; +class QRadioButton; +class QHBoxLayout; + +class Calculator : public QWidget +{ + Q_OBJECT + +public: + Calculator(QWidget *parent = nullptr); + ~Calculator(); + void calc(); + +private: + void createOrdinaryCalculatorWidget(); + void createSciExtrCalculatorWidget(); + + QLCDNumber* f_lcdNum; + QRadioButton* f_radioBtnCasual; + QRadioButton* f_radioBtnSci; + + QStack f_operStack; + QString f_currentNum; + bool f_if_currNumChangable; + + QPushButton* ce; + QGridLayout* f_BtnLayoutCasual; + QGridLayout* f_BtnLayoutSciExtr; + QWidget* f_BtnLayoutSciExtrWidget; + QWidget* f_BtnLayoutCasualExtrWidget; + + QHBoxLayout* f_HBoxBtnLayout; + + QGridLayout* MainLayout; + + + const double PI = 3.1415926535; + const QVector NumND = {"e", "pi"}; + const QVector UnOp = {"rev", "sqr", "sqrt", "-x", "sin", "cos", "tan", "tanh", "sinh", "cosh", "ln", "exp", "n!", "cubic root", "cubic sqr"}; + const QVector OpToCountimmediately = {"log", "ysqr", "ysqrt"}; + const QVector SumOp = {"+", "-"}; + + QPushButton* createButton(const QString &p_str, size_t p_horz, size_t p_vert); + +public slots: + void slotButtonClicked(); + void slotHideSci(bool); + void slotShowSci(bool); + +}; +#endif // CALCULATOR_H -- GitLab