1、 - 1 - 课程设计(论文)任务书 软件软件 学院 软件工程软件工程 专业 3 班 一、课程设计(论文)题目 表达式求值,可供小学生作业,并能给出分数表达式求值,可供小学生作业,并能给出分数 二、课程设计(论文)工作自 2014 年 12 月 22 日至 2014 年 12 月 26 日。 三、课程设计(论文) 地点: 创新大楼实训中心 4 楼 四、课程设计(论文)内容要求: 1本课程设计的目的本课程设计的目的 1) 使学生增进对数据结构各理论知识的熟练程度, 2) 加强算法设计的能力,为以后的数据库原理等课程的学习打下良好基 础。 , 2课程设计的任务及要求课程设计的任务及要求 25.25
2、.表达式求值,可供小学生作业,并能给出分数表达式求值,可供小学生作业,并能给出分数 问题描述:问题描述: 利用所学知识,建立一个试题库,供小学生选题。利用所学知识,建立一个试题库,供小学生选题。 基本基本要求要求: (1)建立试题库文件,随机产生 n 个题目; (2)题目涉及加减乘除,带括号的混合运算; (3)随时可以退出; (4)保留历史分数,能回顾历史,给出与历史分数比较后的评价。 3)课程设计论文编写)课程设计论文编写要求要求 1)详细清晰地描述个人的课程设计工作; 2)要按照本模板的规格打印誊写课程报告; 3)课设报告包括目录、内容提要、正文、课程设计体会、参考文献、附 录等; 4)课
3、程报告装订按学校的统一要求完成 4)评分标准:)评分标准: 1)完成原理分析:20 分; 2)完成设计过程:40 分; 3)完成代码分析:20 分。 - 2 - 4)个人创新工作:20 分。 学生签名: 2014 年 12 月 26 日 课程设计课程设计( (论文论文) )评审意见评审意见 (1) 原理分析 (20 分) : 优 ( ) 、 良 ( ) 、 中 ( ) 、 一般 ( ) 、 差 ( ) ; (2) 设计分析 (20 分) : 优 ( ) 、 良 ( ) 、 中 ( ) 、 一般 ( ) 、 差 ( ) ; (3) 程序流程 (20 分) : 优 ( ) 、 良 ( ) 、 中
4、( ) 、 一般 ( ) 、 差 ( ) ; (4) 代码分析 (20 分) : 优 ( ) 、 良 ( ) 、 中 ( ) 、 一般 ( ) 、 差 ( ) ; (5) 个人创新 (20 分) : 优 ( ) 、 良 ( ) 、 中 ( ) 、 一般 ( ) 、 差 ( ) ; (6)格式规范性及考勤是否降等级:是( ) 、否( ) 评阅人: 职称: 讲师 2010 年 12 月 28 日 - 1 - 目 录 目 录 . - 1 - 正 文 . - 2 - 一、需求分析. - 2 - 二、个人工作. - 2 - 三、概要设计. - 4 - 四、源程序 - 4 - 五、程序结果. - 17 -
5、 课程设计体会. 错误错误!未定义书签。未定义书签。 - 2 - 正 文 一、需求分析一、需求分析 该题目的核心是利用栈这种数据结构来实现一个加减乘除以及 带括弧的混合数学表达式的计算。 其次是利用文件来保存和读写试题 库、每次做题的成绩和以往成绩的平均值。 对于数学表达式的计算,可以设置一个运算符栈和一个数字栈, 分别来保存运算符、数字或者中间计算得到的结果。将整个表达式看 做一个字符串,从开头依次判断每个字符是运算符还是数字,若是运 算符,则根据运算符优先级来确定是将其压栈还是弹栈进行计算;若 是数字,则先将其转化并计入一个临时 int 型变量中,看下一个字符 是否为运算符栈,若是,则将临时变量压进数字栈,否则读取下一个 数字字符并进行相关处理后累加到临时变量中, 直到下一个字符为运 算符,将临时变量压进数字栈。最后,当字符为“=“时,结束计算, 得到计算结果。 对于试题库,第一次运行程序时需要用户输入若干试题来建立试 题库文件,再次运行时磁盘上已经存在试题库文件,故不需再次建立 试题库,直接读取文件即可。然后从试题库中通过随机数函数随机抽 取若干