欢迎来到天天文库
浏览记录
ID:30318082
大小:23.17 KB
页数:22页
时间:2018-12-28
《数据结构上机实验报告模板(共10篇)》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划数据结构上机实验报告模板(共10篇) 1/4 2/4 3/4 4/4 数据结构上机实验报告 欢迎交流 XX年11月20日 上机实验一 1.上机实验简介1)实验目的 当用户输入一个合法的算术表达式后,能够返回正确的结果。能够计算的运算符包括:加、减、乘、除、括号;能够计算的操作数要求在实数范围内;对于异常表达式能给出错误提示。 2)开发工具 C++语言,MicrosoftVisualC++开发软件3)测试数据 分别对一位数
2、、多位数以及小数的四则运算进行检验,我选取了下面几个式子: 3+4-5*(12/6)#100+20*(26/13)#+(/)#正确计算结果应分别为-、与,用所做程序计算并与正确结果比较。 2.算法说明目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 (1)概要说明:为实现上述程序功能: 1.首先置操作数栈为空栈,表达式起始符#为运算符栈的栈底元素; 2.依次扫
3、描表达式中每个字符,若是操作数则进OPND栈;若是运算符,则 和OPTR栈的栈顶运算符比较优先权后作相应操作,直至整个表达式求值完毕。3.先做一个适合个位的+-*/运算,其次就要考虑到对n位和小数点的运算。(2)程序主要模块 主要模块有:头文件、栈定义及栈函数、运算符判断与优先级比较函数、实现计算函数 {InitStack(&S) 操作结果:构造一个空栈S。GetTop(S) 初始条件:栈S已存在。 操作结果:用P返回S的栈顶元素。Push(&S,e) 初始条件:栈S已存在。 操作结果:插入元素ch为新的栈顶元素。Pop(&S,e) 初始
4、条件:栈S已存在。 操作结果:删除S的栈顶元素。In(c) 操作结果:判断字符是否是运算符,运算符即返回1。 Precede(c1,c2) 初始条件:c1,c2为运算符。目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 操作结果:判断运算符优先权,返回优先权高的。Operate(a,op,b) 初始条件:a,b为整数,op为运算符。 操作结果:a与b进行运
5、算,op为运算符,返回其值。 EvaluateExpression() 初始条件:输入表达式合法。操作结果:返回表达式的最终结果。} 1.栈定义及栈函数:用结构体定义栈,并实现对栈的以下操作:构造栈、取栈顶元素、入栈、出栈 2.运算符优先级比较,返回优先级高的: 算符间的优先关系如下: 3.主要操作函数。算法概要流程图: 各函数具体定义见附1程序清单。 3.实验总结 这次实验的目的主要是在表达式求值中应用栈这种线性数据结构。DOS框实现实验操作虽然更加本质,但是却不利于与用户,尤其是非编程人员的交互,因此我设计了简单的人机交互对话框,显得
6、更加人性化。实验结果还有许多可以改进之处,例如使程序可以接受矩阵并作一些运算,对话框界面也有必要做进一步的功能添加。4.附1:程序清单 #includeusingnamespacestd; #defineOK1#defineERROR0#defineOVERFLOW-1目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划 #defineSTACK_INIT_SIZE1
7、00#defineSTACKINCREMENT10 typedefintStatus;typedefstruct{ double*base;double*top;intstacksize;}SqStack1; typedefstruct{ char*base;char*top;intstacksize;}SqStack2; StatusInitStack1(SqStack1&S){ =(double*)malloc(STACK_INIT_SIZE*sizeof(double));if(!)exit(OVERFLOW);=; =STACK_IN
8、IT_SIZE;returnOK;}//InitStack1 S
此文档下载收益归作者所有