- 1、本文档共18页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课程设计报告
课程设计题目: 表达式求值
姓 名 胡*其
学 号 ***
班 级 *****17Z
指导教师 徐**
2017年 12月 30日
东华理工大学
课程设计评分表
学生姓名:胡*其 班级:*****17Z 学号***
课程设计题目:表达式求值
项目内容
满分
实 评
选
题
能结合所学课程知识、有一定的能力训练。符合选题要求
(1人一题)
10
工作量适中,难易度合理
10
能
力
水
平
能熟练应用所学知识,有一定查阅文献及运用文献资料能力
10
理论依据充分,数据准确,公式推导正确
10
能应用计算机软件进行编程、资料搜集录入、加工、排版、制图等
10
能体现创造性思维,或有独特见解
10
成
果
质
量
总体设计正确、合理,各项技术指标符合要求。
10
说明书综述简练完整,概念清楚、立论正确、技术用语准确、结论严谨合理;分析处理科学、条理分明、语言流畅、结构严谨、版面清晰
10
设计说明书栏目齐全、合理,符号统一、编号齐全。 格式、绘图、表格、插图等规范准确,符合国家标准
10
有一定篇幅,字符数不少于5000
10
总 分
100
指导教师评语:
指导教师签名:
年 月 日
目 录
TOC \o 1-2 \u 一.题目: PAGEREF _Toc312359512 \h 1
二.设计任务: PAGEREF _Toc312359513 \h 1
三.问题分析: PAGEREF _Toc312359514 \h 1
四.结构分析: 1
4.1用于存储操作数和运算结果(Sfloat) 1
4.2用于存储运算符(Schar) PAGEREF _Toc312359517 \h 2
4.2系统中子程序及功能要求 PAGEREF _Toc312359517 \h 2
五.实现流程 3
5.1程序主流程图 3
5.2求值操作流程 3
六.个性功能介绍 4
七.部分问题及解决方案 5
7.1不能进行带有小数点的数的运算 5
7.2在输错后,跳回主界面直接提示指令输入错误,重输 6
八.课程设计小结 7
九.附录一:部分测试数据 7
十.附录二:源代码 7
PAGE \* MERGEFORMAT15
一、题目:
表达式求值
二、课程设计任务:
要求能输入一个带“( )”的任意多位实数的表达式。
要求:
1、有合理的提示;
2、有非法数据的判断;
3、能够进行多次计算。
测试数据及测试结果请在上交的资料中写明;
三、问题分析:
任何一个表达式都是由操作符,运算符组成的。我们分别用顺序栈来寄存表达式的操作数和运算符。栈是限定于紧仅在表尾进行插入或删除操作的线性表。顺序栈的存储结构是利用一组连续的存储单元依次存放自栈底到栈顶的数据元素。
为了实现算符优先算法。可以使用两个栈。一个称为Schar,用以寄存运算符,另一个称做Sfloat,用以寄存操作数或运算结果。
1.首先置操作数栈为空栈,表达式起始符”#”为运算符栈的栈底元素;
2.依次读入表达式,若是操作符即进Sfloat栈,若是运算符则和Schar栈的栈顶运算符比较优先权后作相应的操作,直至整个表达式求值完毕(即Schar栈的栈顶元素和当前读入的字符均为”#”)。
四、结构分析:
1.用于存储操作数和运算结果(Sfloat):
ADT s_float{
数据元素:此链栈中的所有元素类型为字符型的数字字符
数据关系:栈中数据元素之间是线性关系。
基本操作:
(1) Init(Sfloat *S);
初始化数字栈
(2)Push(Sfloat*S,float e)
进栈
(3)Pop(Sfloat*S,float*x)
出栈
(4)GetTop(Sfloat *S,float *x)
取栈顶
(5)void ClearStack(Sfloat *S)
清空栈
} ADT s_float
2.用于存储运算符(Schar):
ADT s_char{
数据对象D:元素类型为字符型的符号字符
数据关系R:栈中数据元素之间是线性关系。
基本操作:
(1)Init(Schar *S)
初始化字符栈
(2)Push(Schar *S,char x)
进栈
(3)Pop(Schar *S,char *x)
出栈
(4)GetTop(Schar *S,char *x)
取栈顶
(5)ClearStack(Schar *S)
清空栈
} ADT
您可能关注的文档
- 毕业生就业与培养质量调查问卷.doc
- 毕业综合实践过程资料范本.doc
- 闭式二级圆柱斜齿减速器说明书.doc
- 闭式自动喷淋水系统课程设计.docx
- 边坡支护课程设计 福建工程学院勘查技术与工程.pdf
- 编程(C语言源程序代码).doc
- 编程(C语言源程序代码).pdf
- 编写一个C语言代码美化程序课程设计.pdf
- 编译原理C 语法分析器.pdf
- 编译原理C语言词法分析器.pdf
- 居住空间设计色彩与质感居住空间设计卢熠28课件讲解.ppt
- 067.谢师宴营销活动策划方案.pdf
- 2025年湖南外国语职业学院高职单招职业技能测试近5年常考版参考题库含答案解析.docx
- 工程项目管理全解析-从理念到实践的全方位探讨.pptx
- 领航企业高效管理-解决方案助力更精准决策.pptx
- 2025年湖南外国语职业学院高职单招职业适应性测试近5年常考版参考题库含答案解析.docx
- 小学劳动教育的重要性-家校协同配合的关键.pptx
- (完整word版)大学生就业指导案例分析.docx
- #SUPER RO 特种反渗透膜 草甘膦蒸余和蒸馏废水 中试实验报告.docx
- 061.餐厅七夕情人节活动方案12个.pdf
文档评论(0)