数据结构 简易计算器

这篇博客介绍了如何使用数据结构来实现一个基础的计算器,能够处理包括负数和小数在内的基本运算,尽管没有采用图形界面。
摘要由CSDN通过智能技术生成

主要解决了处理负数、小数等的基础运算操作,无图形界面

#include <iostream>
#include <stack>
using namespace std;

class Calculator{
private:
    int Priority(char fuhao);
    double CalSuffix(string PostfixExp);

public:
    double Calculate(string InfixExp);

      string InfixToSuffix(string InfixExp);

};

double Calculator::CalSuffix(string PostfixExp){
    double tmpresult,ch1,ch2;
    double tmpnum,tmpxiaoshu=1;
    int i=0,tmpdashu;
    int isfu=0;  ///
    stack<double> stk2;
    while(PostfixExp[i]!='\0'){
        isfu=0;  ///
        if(PostfixExp[i]>=48&&PostfixExp[i]<=57){
            if(PostfixExp[i-1]=='-'){     /
                isfu=1;
            }
            tmpxiaoshu=1;
            tmpdashu=10;
            tmpnum = PostfixExp[i]-48;
            while(PostfixExp[++i]>=48&&PostfixExp[i]<=57){
                tmpnum = tmpnum*tmpdashu+ (PostfixExp[i]-48);
            }
            i=i-1;
            if(PostfixExp[++i]=='.'){
                while(PostfixExp[++i]>=48&&PostfixExp[i]<=57){
                    t
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值