1、 课程名称:课程名称: C 语言程序设计语言程序设计 课题名称:课题名称: 简易计算器简易计算器 班级:班级: 学号:学号: 姓名:姓名: 指导老师:指导老师: 成绩:成绩: C 语言课程设计.简单计算器 ee Page 2 7/7/2019 6 一、课程设计目的 1. 通过这次的课程设计,巩固以前所学的知识: 1) 进一步熟悉了各种语句,如宏定义语句,语句的嵌套等等。 2) 对顺序,选择,循环结构的综合运用。 3) 进一步巩固了一些算法,如求四则混合运算,三角函数,指对数的算法。 2. 在课程设计的过程中,拓展了自己的知识面,知道我们所学过的 C 语言知识不过 是很少的一部分。还有很多知识等
2、待我们自己去学习。 3. 为了完善自己的程序,通过上网,查阅图书等途径学到了一些新的知识,如对 C 语言中一些常用图形函数的应用。 4. 通过课程设计,加深对结构化程序设计思想的理解,能进行一个系统功能需求分 析,并设计合理的模块化结构。 5. 通过课程设计,提高程序开发能力,能运用合理的控制流编写清晰高效的程序。 二、设计内容 我设计的是一款简易计算器,界面清楚,操作方便,它能实现以下功能: 1. 查询当时时间 2. 简单的四则混合运算(支持小括号、优先级) 3. 正弦、余弦函数计算 4. 指对数计算 三、总体设计 简单计算器由六大模块组成,模块调用图如下: Main() ZhuJieMia
3、 n() SiZeYunS uan() Time() SanJiaoY unSuan() ZhiDuiShuY unSuan() C 语言课程设计.简单计算器 ee Page 3 7/7/2019 6 1. 主函数 void main() 功能:调用各个主要模块,实现简单计算器的整体功能。 2. 主界面函数void ZhuJieMian() 功能:使用有关图形函数模拟出可视化的计算器外观界面,并提供用户输入窗口。 3. 时钟函数 int Time() 功能:在模拟的可视化计算器中显示当时的时间。 4. 四则混合运算函数void SiZeHunHeYunSuan() 功能:实现简单的加减乘除混合
4、运算,并支持优先级和带括号的运算。 5. 三角运算函数 void SanJiaoYunSuan() 功能:实现基本的三角函数运算:sin(x)和 cos(x)。 6. 指对数函数void ZhiDuiShuYunSuan() 功能:实现基本的指数和对数运算。 四、详细设计 a)数据结构设计: int priority(char left,char right) char option=+,-,*,/,(,),=; int i,le,ri; int l=4,4,6,6,2,10,0; int r=3,3,5,5,9,3,0; for(i=0;i0 n+; s=-s; m*=(x-1); t=m*
5、s/n; fabs(t)1e-6 return (0-y) C 语言课程设计.简单计算器 ee Page 10 7/7/2019 6 五、调试与测试 遇到的问题: 1.计算器的界面不会做,有时数字显示在边框外面。 2.时钟显示不出来。 3.编写 ln 函数遇到困难。 采取的解决措施: 1.去图书馆借相关图书,上网查资料,通过自己的阅读,研究,不断的尝试,运行,修改, 最终做出了简单的界面,但仍存在很多不足的地方,只能模拟出大体的外观,没能模拟出计 算器中的各个键。 2.查在界面显示的函数原型,对比自己的程序,不断修改,对比,调试,检查,反思,最后 发现是语句顺序错误,显示写在了判断的后面,修改
6、成功。 3.在编写 ln 函数的时候,遇到很大困难,最后通过查阅资料,向别人请教编写出了函数。 界面截图及相关说明: 主界面: 按 1:进入时钟界面 按 2:进入四则混合运算界面 按 3:进入三角函数运算界面 按 4:进入指对数运算界面 按 5:退出程序 C 语言课程设计.简单计算器 ee Page 11 7/7/2019 6 时钟界面截图: 先按一下 s 键,并输入表达式之后的四则混合运算界面截图: 运算结果截图: 先按一下 s 键,并输入数字的三角函数界面截图: C 语言课程设计.简单计算器 ee Page 12 7/7/2019 6 运算结果截图: 先按一下 e 键,并输入数字的指对数运算界面截图: C 语言课程设计.简单计算器 ee Page 13 7/7/2019 6 运算结果截图: 按空格键,再按 l 键,并输入数字的指对数运算界面截图: 结果界面截图: #include #in