用栈实现简易计算器c++

该博客介绍了如何使用C++编程语言实现一个简单的计算器,支持基本的加减乘除及括号运算。代码中包含详细注释,尽管存在一些不足之处,作者欢迎读者提出指导建议。
摘要由CSDN通过智能技术生成

目前只支持+-*/以及英文的()的简单运算

详情见注释

//easy caculator
//
//Created by zzx on 2018.10.10
#include <iostream>
using namespace std;
#include <string>
#include <stdlib.h>

#define MaxSize 100
char precede(char a, char b);
template <class T>
class stack {
private:
		int top;
		T data[MaxSize] = { 0 };
public:	
	void intstack(stack <T> *s)//初始化栈
	{
		s->top = 0;
	}
	int isEmpty(stack<T> *s)//判断栈空
	{
		if (s->top == 0)
		{
			return 0;
		}
		return 1;
	}
	int isfull(stack <T> *s)//判断栈满
	{
		if (s->top == MaxSize)
			return 0;
		return 1;
	}
	int push(stack <T> *s, T x)//进栈
	{
		if (!isfull(s))
		{
			return -1;
		}
		else
		{
			if (!isEmpty(s))
				top = 0;
			s->top++;
			s->data[s->top - 1] = x;
		}
		return 0;
	}
	T pop(stack <T> *s)//栈顶元素出栈 
	{
		if (!isEmpty(s))
			return -1;
		else
		{
			T x;
			x = s->data[s->
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值