1、 信息科学与技术学院信息科学与技术学院 程序设计基础课程设计报告程序设计基础课程设计报告 题目名称:题目名称: 一个简单的计算器设计一个简单的计算器设计 学生姓名:学生姓名: 学学 号号: : 专业班级:专业班级:信工院计科系信工院计科系 指导教师:指导教师: 1 课程设计题目与要求. 3 1.1 课程设计题目 . 3 1.2 问题的解决方案 . 3 1.3 设计要求 . 3 2 总体设计 4 3 详细设计 4 3.1 详细数据结构设计(或类设计) 4 3.2 主模块设计 . 5 (1)加减乘除 5 (2)求余 5 (3)阶乘 6 (4)累加 7 (5)取倒数 7 (6)平方 8 (7)x 的
2、 y 次方 . 8 (8)求一个数的正弦 9 4.运行结果(截图). 9 5 程序设计总结. 16 6 参考文献. 16 1 课程设计题目与要求课程设计题目与要求 1.1 课程设计题目课程设计题目 一个简单的计算器设计 1.2 问题的解决方案问题的解决方案 根据系统功能要求,可以将问题解决分为以下步骤: (1)分析系统中的各个实体之间的关系及属性和行为; (2)根据问题描述,设计系统的类层次; (3)完成类层次中各个类的描述(包括属性和方法) (4)完成类中各个成员函数的定义; (5)完成系统的应用模块; (6)功能调试; (7)完成系统总结报告以及系统使用说明书; 1.3 设计要求设计要求
3、(1)在设计上尽可能的模拟 windows 操作系统中的计算器,系统界面不做强制 要求。 (2)能使用 C/C+语言,源程序要求有适当的注释,使程序容易阅读。 (3)至少采用文本菜单界面(如能采用图形菜单界面更好) (4)学生可自动增加新功能模块 2 总体设计总体设计 3 详细设计详细设计 3.1 详细数据结构设计详细数据结构设计(或类设计或类设计) (1)整个功能表列的实现是通过一个 switch选择语句来实现的 (2)加减乘除是通过在 switch中的一个 case 语句中实现在其中再用一个 switch 语句,通过判断+,-,*,/而可以进行多项式的加减乘除,例如(2*4+2)/5 便可
4、得 到结果 2 (3)求余、阶乘、累加、取倒、平方、数值转化等通过在主函数外部定义函数, 在主函数内部进行调用,从而实现相应的功能。 (4)对于像求正弦值这样的函数,直接调用系统库函数即可。 简单的计算器功能表 加 减 乘 除 求 余 阶 乘 累 加 取 倒 数 平 方 X 的 y 次 方 求 一 个 数 的 正 弦 结 束 3.2 主模块设计主模块设计 (1)加减乘除)加减乘除 (2)求余)求余 开始 输入 num1 选择 1 判断符号 输 入 num2 执 行 加 法得 num1 + 输入 num1 执 行 减 法 得 num2 结束 否 则 乘除也类似 (3)阶乘)阶乘 开始 选择 2
5、输入 num1, num2 执行求余得结果 num1 结束 开始 选择 3 输入 n 执行阶乘得结果 结束 (4)累加)累加 (5)取倒数)取倒数 开始 选择 4 输入 n 执行累加得 结束 开始 选择 5 输入 n 得出结果 结束 (6)平方)平方 (7)x 的的 y 次方次方 开始 选择 6 输入 n 得出结果 结束 开始 选择 7 输入 x,y 执行 结束 (8)求一个数的正弦)求一个数的正弦 4.运行结果(截图)运行结果(截图) (1)加减乘除的截图 如(2+3)*6/3=10 开始 选择 8 输入 n 执行 结束 (2)求余 如 12%5=2 (3)阶乘 如 6!=720 (4)累加
6、 如 1+2+。 。 。+100=5050 (5)取倒数 如 5 的倒数为 0.2 (6)平方 如 12 的平方=144 (7)x 的 y 次方 如 3 的 4 次方=81 (8)求一个数的正弦值 如 sin(3.1415926)= 5 程序设计总结程序设计总结 通过一年对 c+的学习, 我认识到了 c+的重要性, 对于这样一个 c+编写 的简单的计算器,我感到了 c+的强大。在做这个课程设计的时候我通过自己的 努力和对 c+的想法做出了这个简单的计算器,感受到计算机语言的强悍,并开 始坚信自己的方向, 沿着 c+和 Java 走下。 虽然这个计算器完成了诸如加减乘除, 累加,阶乘,及取余等功能,但它毕竟是简单的文本界面的计算器,距离科学图 形界面的计算器还有巨大地差距,因此学无止境,我们要坚定的走下去,不断