⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 calculatorrep.h

📁 大学时用c++做的计算器
💻 H
字号:
#ifndef CALCULATORREP_H
#define CALCULATORREP_H

#include "calcengine.h"
#include "calcstatistic.h"
#include "calcmemory.h"

#include <QString>
#include <sstream>

class CalculatorRep {
public:

    typedef CalculatorEngine::RDState RDState;

    enum OutputFormat { Normal, Fixed, Scientific };
    enum OutputBase { Oct, Dec, Hex };


    CalculatorRep(RDState s, OutputFormat f, OutputBase b);

    bool newCalculation() const;
    void setNewCalculation(bool n);
    
    bool error() const;
    void setError(bool e);

    bool toModify() const;
    void setToModify(bool m);

    void setOutputFormat(OutputFormat f);
    void setOutputBase(OutputBase b);
    void setRDState(RDState s);

    void setExpression(const QString& expr);
    QString expression() const;

    ValueType calculate();
    ValueType result() const;

    const char* resultString();
    const char* baseResultString();
    
    void staStore();
    void staClear();
    void staNum();
    void staSum();
    void staAverage();
    void staStdDiff();
    void staMin();
    void staMax();
    void staDelete(const int index);
    ValueType staLoad(const int index);


    void memClear();
    void memRecall();
    void memSubtract();
    void memPlus();

private:
    CalculatorEngine __engine;
    CalculatorStatistic __statistic;
    CalculatorMemory __memory;

    OutputFormat __format;
    OutputBase __base;
    QString __expression;
    bool __newCalculation;
    ValueType __result;
    bool __error;

    std::stringstream __outStream;
};

#endif  // CALCULATORREP_H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -