数
学
与计算机学院
课程设计说明书
课 程 名 称数据结构与算法
设计实践
课 程 代 码
题 目 利用栈求表达式的值
年级专业班 信科
学 生 姓 名 贺容英
学 号
开 始 时 间 年 月 日
完 成 时 间 年 月 日
课程设计成绩:
学习态度及平 技术水平与实际 创新
说明书撰写质量()
总 分
图的应用 3
时成绩() 能力()
()
(
)
指导教师签名: 年 月 日
目 录
摘 要...................................................................................................................................................................1
1 引 言................................................................................................................................................................3
1. 1 问题的提出.........................................................................................................................................3
1.2 任务与分析..........................................................................................................................................3
2 设计步骤.........................................................................................................................................................3
2. 1 整体步骤.............................................................................................................................................3
2.1.1 栈的基本操作...........................................................................................................................3
2.1.2 产生题库文件...........................................................................................................................4
2.1.3 利用栈进行表达式求值..........................................................................................................7
2.1.4 建立成绩记录文件与成绩评价..............................................................................................9
2.1.5 主函数调用及初始化.............................................................................................................10
3.程序演示:................................................................................................................................................11
结 论.................................................................................................................................................................12
参考文献..........................................................................................................................................................13
摘 要
1
图的应用 3
在 中编写一个小学
生习题应用程序,以供学生练习。
题目是随机产生的 个题目,
存放在本地题目文件中,当用户
(学生)使用时便从文件中取出利用栈求表达式的值。最后用户的成绩会被记录到本
地的成绩记录文件中,以便用户下次进入时为他提供成绩评价,并且更新用户成绩。
关键词:文件、栈、表达式求值
2
图的应用 3
1 引 言
问题的提出
建立试题库文件,随机产生
个题目;题目涉及加减乘除,
带括弧的混合运算;随时可以退出;保留历史分数,能回顾历史,给出与历史分数比
较后的评价。给用户提供一个修改题库数据的接口。
任务与分析
首先利用随机产生的几个数,构造题目使得随机产生的 个题目中含有加减乘除和
括号,再将题目存放入文件中产生题库文件。
用户使用时可以从题库文件中读取出题目利用栈求表达式的值,然后用户可以输入
答案,之后进行比较、记分,将分数放入到分数记录文件中,以便下次进入时做成绩
比较,然后跟新成绩。
在做题中用户可以随时退出,用户可以在做题前重选题目。
设计步骤
整体步骤
先建立一个题库文件,和成绩记录文件;再从题库文件中读出题目利用栈求表达
式的值与用户答案作比较,评价等,再在成绩记录文件中记录或更新成绩。
栈的基本操作
利用栈进行表达式运算时需要用到的进栈出栈函数,以及一些必要的头文件。
//用到的头文件
!
"!#$!%!
%!"!&
&'$%()*%+$%(+
*(#,运算数字栈
-.+#/"(+#/ +0,+
*(#,运算符栈
-.+1"/"(+1"/ +0,+
",2,34
- 5"(52#/4%"2'/."2#44+.5'+0
#$"(2,4
-#+262"(55 44 5/2"(74+##+0
"(2,38#4
-2"(7 !5.4
- 52#/4#"2 82.94/."2#44+
"(5 9.+.95+0/"(995+0
"("(2,38#34
-2"(65 45/77"(+0
",2,34
- 5"(521"/4%"2'/."21"44+.5'+0
3