C++ 编写一个计算算术表达式的程序

该博客介绍了如何编写一个计算算术表达式的程序,包括将中缀表达式转换为后缀表达式并进行计算。程序采用栈来实现,涉及优先级判断、结果计算和后缀表达式求值等功能。示例计算3*(2+3)-(5-3)^3,结果为-66。

实验一: 编写一个计算算术表达式的程序

一:程序的设计内容 输入一个表达式; 采用栈的方式将中缀转后缀(操作符入栈); 再由后缀求值。

二:基本要求 编写栈; 使用模板类; 所有数可为个位数; 可以省略括号。

三:分析程序及实验方法 擅于调用模板函数; 多查阅资料,多看典例;

如计算:3*((2+3)-(5-3)^3) 结果为-66

 部分功能

1、优先级判断

char Precede(char ch1,char ch2) 
{ 
	char ch; 
	switch(ch1) 
	{ 
	case '+': 
	case '-': 
		{ 
			switch(ch2) 
			{ 
			case '+': 
			case '-': 
			case ')': 
			case '#': 
				ch='>';
				break; 
			case '*': 
			case '/': 
			case '(': 
			case '^':
				ch='<';break; 
			
			} 
			break; 
		} 
	case '*': 
	case '/': 
	case '%':
		{ 
			if(ch2=='(') 
				ch='<';
			else if(ch2 == '^')
				ch = '<';
			else 
				ch='>'; 
			break; 
		} 
	case '(': 
		{ 
			if(ch2==')') 
				ch='='; 
			else 
				ch='<'; 
			break; 
		} 
	case ')': 
		{ 
			ch='>'; 
			break; 
		} 
	case '=': 
		{ 
			if(ch2=
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值