基于c++ 利用栈实现 计算器

本文介绍了如何使用C++编程实现一个基于栈的计算器,包括栈类定义、运算操作函数、优先级判断以及核心计算函数。通过处理数字和运算符,实现了对表达式的正确计算。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

​​​​​​​//栈类

template <class T>

class ArrayStack

{

public:

    int MaxSize;

    int top;

    T *st;

    ArrayStack(int MaxSize)

    {

        this->MaxSize=MaxSize-1;

        top=-1;

        st=new T [MaxSize];

    }

    void  Push(T item)

    {

        st[++top]=item;

    }

    T Pop()

    {

        return st[top--];

    }

    T Top()

    {

        return st[top];

    }

    bool IsFull()

    {

        if(top==MaxSize)

            return true;

        return false;

    }

    bool IsEmpty()

    {

        if(top==-1)

            return true;

        return false;

    }

    void Clear()

    {

        top=-1;

    }

};


//运算操作在函数中可能被多次调用,为了避免冗余,将它写成一个函数

int calculate(char opera,int cal1,int cal2)

{

    int c;

    if(opera=='^')

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值