栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

数据结构课程设计之算数表达式计算器

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

数据结构课程设计之算数表达式计算器

一.问题分析

问题是设计一个简单的算术表达式计算器,可使用树,栈等数据结构,在键盘上键入一算术表达式,计算出表达式的值。

二.要求

1.实现标准整数类型的四则运算表达式(加减乘除)的求值。

2.包括括号,可多层嵌入。

3.要求自行设计非法表达式,进行程序测试,以保证程序的稳定运行。

三.逻辑设计

数据结构:

栈:

typedef struct stack{

int a[N];

int top;

}ST;//中缀转后缀

所用函数:

int isempty(ST *T);//判断栈是否为空

int isfull(ST *T);//判断栈是否为满

int gettop(ST *T);//获取栈顶元素

int pop(ST *T);//出栈

void push(ST *T,int s);//入栈

void transter(char *in,char *post);//中缀转为后缀

float Calculate(char *post);//计算中缀的值

main();//主函数

四.物理设计

五.思路

我选择用栈装入操作数,运算符和括号。人们日常生活中习惯用中缀表达式,但是在计算机中,为了方便计算表达式的值,一般都是采用前缀表达式或者后缀表达式,所以这就需要我们把中缀表达式进行相应的转换。算数表达式由三个部分组成,操作数,运算符和括号。在中缀表达式中有时括号是必须的,计算过程中必须用括号将操作数和对应的操作符括起来,用于只是运算的次序。而在前缀或后缀表达式中不会存在括号,运算符都是按照优先级排序的。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/913274.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号