《课设计算器.》由会员分享,可在线阅读,更多相关《课设计算器.(25页珍藏版)》请在金锄头文库上搜索。
1、沈 阳 航 空 航 天 大 学 课程设计学 号 2013040503009班 级 34050301 姓 名 宋媛媛 指导教师 尹航 2014年 9 月 14 日沈阳航空航天大学课程设计任务书系:安全工程学院 专业:安全工程(安全防范方向) 班级:34050301 学号:2013040503009题目:自定义计算器 一、课程设计时间20142015第1学期第12周,即9月1日9月14日,共计2周,40学时。二、课程设计内容用C语言编写软件完成以下任务:1.模拟windows自带计算器制作一个自定义计算器,至少包括加、减、乘、除、sin、cos、xy、log等功能。2.输入数据及计算结果要求保存在
2、file18.txt中。三、课程设计要求程序质量: 贯彻结构化的程序设计思想。 用户界面友好,功能明确,操作方便;可以加以其它功能或修饰。 用户界面中的菜单至少应包括、“加、减、乘、除、sin、cos、xy、log等项。 代码应适当缩进,并给出必要的注释,以增强程序的可读性。课程设计说明书:课程结束后,上交课程设计说明书和源程序。其内容如下: 封面 课程设计任务书 目录 需求分析(分析题目的要求) 程序流程图(总体流程图和主要功能模块流程图) 核心技术的实现说明及相应程序段 个人总结 参考资料 源程序及适当的注释四、指导教师和学生签字指导教师:_ 学生签名:_五、成绩六、教师评语沈阳航空航天大
3、学设计用纸目录一、需求分析1二、设计分析2三、主要界面截图7四、技术要点10五、个人总结14六、参考文献14七、源程序1521一、需求分析根据任务书给定的“课程设计内容”和“课程设计要求”作如下的需求分析。整个程序的设计大致分为两个大模块,功能分别是:运算和保存;运算中又分为若干个小模块,其中每一个小模块对应一个函数,他们的功能分别是:加+,减-,积*,商/,正弦sin,余弦cos,幂函数xy,对数函数log 等。除上面介绍的功能之外,程序还具有退出功能,程序还可以循环执行所有的功能,并根据需要终止程序的执行。1. 安全性分析系统主要管理各种运算的数据及结果,对于安全性并没有太大要求,只要保证
4、计算数据的保存安全即可。2. 稳定性分析指系统比较健全,只要是用户的合理操作,系统都应给出合理正确的回应,而不是出现令用户感到意外的系统错误或系统崩溃。3. 主要功能分析(1)数据输入:允许用户输入包含在计算范围内的数据,如果用户输入非法数据,将会及时提示并等待更正。允许用户选择运算类型,并在界面输入。(2)数据保存:被运算的数据、运算的类型、运算的结果都能够保存到文件myfile.txt中,这样做可以对所进行过的运算进行永久保存。二、设计分析主要有8功能模块,每个模块对应一个C语言自定义函数。这些函数原型及其功能简述如下:1、加 主要实现求两个数的和;2、减 主要实现求两个数的差;3、积 主
5、要实现求两个数的乘积;4、商 主要实现求两个数的商值;5、正弦 可以实现度数和数据的转化;6、余弦 可以实现度数和数据的转化;7、幂函数 主要实现两个数的幂级运算;8、对数函数 可以实现对数和实数的转化。以上共可分为5类:主函数、四则运算、三角函数运算、次幂运算、对数运算1、程序总体结构图 int ch topic() getchar()while(1) scanf(“%d”,&ch) ch=1? 真 假 ch=2? 调用 真 假 input () 调用 真 ch=3? 假 作和 output () 调用 ch=4? 作差 out() 真 假 作积 ch=5? 调用 真 假 put() 作商
6、调用 真 ch=6? 假 are() n=7? 求sin 调用 真 假 is() n=8? 求cos 调用 真 假 mi() 调用 求幂 log() 退出 求对数 return图1程序总体结构图2、主要功能模块框图(1)四则运算步骤相似,以加法为例: 函数input()打开文件 float t,s,result printf(“请输入两个数据”) scanf(“%f,%f”,&t,&s) getchar()result=t+s printf(“%f+%f=%fn”,t,s,result) fprintf(“%f+%f=%fn”,t,s,result) 关闭文件 图1 图2 作和程序框图(2)s
7、in与cos的运算相似,以sin为例: 函数are() 打开文件float t;double resultprintf(“请输入一个数据”) scanf(“%f”,&t);getchar() result=sin(t*2*3.1415926/360)printf(“sin(%f)=%fn,t,result)fprintf(“sin(%f)=%fn,t,result) 关闭文件 图3 求sin程序框图(4)函数mi ()打开文件double s; int x,yprintf(请输入x、y的值求x的y次幂n)scanf(%d,%d,&x,&y)s=pow(x,y)printf(%d的%d次方为%f
8、n,x,y,s)fprintf(fp,%d%d=%fn,x,y,s) 关闭文件 图4 求幂程序框图(5)函数log() 图5 求对数程序框图三、主要界面截图图 6 程序主界面图 7 功能界面图 8 功能界面图 9 功能界面图 10 功能界面图 11功能界面四、技术要点1、主函数及分函数的应用在主函数中定义分函数名称,分别编号,按照数字选择,页面显示“请输入你的选择”选择计算函数进行下一步的运算,具体程序段如下:void main()int ch;topic();getchar();while(1)printf(-n);printf(计算器n1+n2-n3*n4/n5sinn6cosn7xyn8
9、logn0outn);printf(请输入你的选择n);scanf(%d,&ch); switch(ch) case 1:input();break; case 2:output();break; case 3:out();break; case 4:put();break; case 5:are();break; case 6:is ();break; case 7:mi();break; case 8:log();break; case 0:return; 2、文件操作包括文件的打开,关闭,以及数据的格式化读写,将数据加载到文件中供操作使用,具体程序段如下:void input() FIL
10、E *fp;fp=fopen(D:file18.txt,w+);float t,s,result;printf(请输入两个数据n);scanf(%f,%f,&t,&s);getchar();result=t+s;printf(%f+%f=%fn,t,s,t+s);fprintf(fp,%f+%f=%f,t,s,result); /将文件中的信息加载到内存中,供操作使用 。/fclose(fp);3、重要的计算程序 此计算程序的计算功能主要分为四类,第一类为加、减、乘、除四则运算,第二类为三角函数sin、cos的运算,第三类为次幂的运算,第四类为对数运算。(1)第一类运算主要是直接用数据进行计算,具体程序段如下:void output()