计算器.docx

上传人:b****3 文档编号:2979941 上传时间:2022-11-16 格式:DOCX 页数:14 大小:17.71KB
下载 相关 举报
计算器.docx_第1页
第1页 / 共14页
计算器.docx_第2页
第2页 / 共14页
计算器.docx_第3页
第3页 / 共14页
计算器.docx_第4页
第4页 / 共14页
计算器.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

计算器.docx

《计算器.docx》由会员分享,可在线阅读,更多相关《计算器.docx(14页珍藏版)》请在冰豆网上搜索。

计算器.docx

计算器

沈阳航空工业学院

课程设计

学号200604061108

班级6406103

姓名徐梦龙

指导教师王晓岩

2008年03月14日

沈阳航空工业学院

课程设计任务书

机械电子工程机械设计及其自动化6406103班200604061108

一、课程设计题目:

计算器

二、课程设计时间:

2007~08第2学期第2周,共计1周,20学时

三、课程设计内容:

用C语言编写软件完成以下任务:

在实数范围内支持加、减、乘、除运算,同时支持正弦、正切,及其反三角函数运算。

用户可以选择运算的类型,并可以在界面进行数据的输入和输出。

被运算的数据、运算的类型、运算的结果应能够保存到文件myfile.txt中。

保存的形式可以参考如下所示:

4*2=8;sin(0.5)=0.479426。

四、课程设计要求:

程序质量:

✧贯彻结构化程序设计思想。

✧用户界面友好,功能明确,操作方便;可以加以其它功能或修饰。

✧用户界面中的菜单至少应包括“运算选项”、“数据输入”、“保存结果”、“退出”4项。

✧代码应适当缩进,并给出必要的注释,以增强程序的可读性。

课程设计说明书:

课程结束后,上交课程设计说明书(打印稿和电子稿),其内容如下:

✧封面

✧课程设计任务书

✧目录

✧需求分析(分析题目的要求)

✧程序流程图(总体流程图和主要功能模块流程图)

✧核心技术的实现说明及相应程序段

✧个人总结

✧参考资料

✧源程序及适当的注释

指导教师:

学生签名:

五、说明书成绩

六、教师评语

 

目录

一、需求分析1

二、程序流程图2

三、核心技术的实现说明及相应程序段12

四、个人总结17

五、参考文献18

六、源程序18

 

一、需求分析

经过对程序设计题目的分析可知,整个程序的设计实现大致分为两个大模块他们的功能分别是:

运算和保存。

其中运算模块又分为八个小模块,每一个小模块对应一个函数,他们的功能分别是:

数据作和函数(+),数据作差函数(-),数据作积函数(*),数据作商函数(/),数据作正弦函数运算(sin),数据作正切函数运算(tan),数据作反正弦函数运算(asin),数据作反正切函数运算(atan)模块。

每个小模块的功能如下:

1、数据作和函数主要实现求两个数的和;

2、数据作差函数主要实现求两个数的差;

3、数据作积函数主要实现求两个数的乘积;

4、数据作商函数主要实现求两个数的商值;

5、数据作正弦函数运算可以实现度数和数据的转化;

6、数据作余弦函数运算可以实现度数和数据的转化;

7、数据作反正弦函数运算可以实现数据和度数的转化;

8、数据作反正切函数运算可以实现数据和度数的转化。

除上面介绍的功能之外,程序还具有退出功能,可以在程序的一次运行当中循环执行所有的功能,并根据需要终止程序的执行。

每一个记录都包含在实数范围内加、减、乘、除运算,以及正弦、正切,及其反三角函数运算。

在程序当中,用户可以选择运算的类型,并可以在界面进行数据的输入和输出。

被运算的数据、运算的类型、运算的结果都能够保存到文件myfile.txt中。

这样做可以对所进行过的运算进行永久保存。

二、程序流程图

1、程序总体结构图

 

真n=a?

作真n=b?

和作真n=c?

运差作真n=d?

算运积作真n=e?

算运商作真n=f?

算运正作真n=g?

算弦正反真n=h?

运切正反

运弦正退

算运切

算运出

 

图1程序总体结构图

 

2、具体功能框图

(1)数据作和函数(+)

开始

结束

图2数据作和函数

 

(2)数据作差函数(-)

开始

结束

图3数据作差函数

 

(3)数据作积函数(*)

开始

图4数据作积函数

 

(4)数据作商函数(/)

开始

图5数据作商函数

 

(5)数据作正弦函数运算(sin)

开始

图6数据作正弦函数运算

(6)数据作正切函数运算(tan)

开始

图7数据作正切函数运算

(7)数据作反正弦函数运算(asin)

开始

图8数据作反正弦函数运算

(8)数据作反正切函数运算(atan)

开始

图9数据作反正切函数运算

三、核心技术的实现说明及相应程序段

1.定义函数名称,分别编号,按照数字选择。

进入调试状态,页面显示“pleaseenteryourchoice:

”选择计算函数进行下一步的运算,具体程序段如下:

voidmain()

{

floatm1,m2;

doubleresult;

charch;

FILE*fp;

fp=fopen("D:

\\myfile.txt","w+");

while

(1)

{

printf("****************************\n");

printf("**\n");

printf("*Calculator*\n");

printf("**\n");

printf("****************************\n");

printf("(a)+\n(b)-\n(c)*\n(d)/\n");

printf("(e)sin\n(f)tan\n(g)asin\n(h)atan\n(Q)out\n");

printf("------------------------------------------\n");

printf("|Pleaseenteryourchoice:

|\n");

printf("------------------------------------------\n");

2.运算函数:

用switch语句实现,分别计算,然后跳出。

具体程序段如下:

switch(ch)

{

case'a':

printf("-----------------------------------------\n");

printf("|Pleaseentertwonumbers:

|\n");

printf("-----------------------------------------\n");

scanf("%f%f",&m1,&m2);

getchar();

result=m1+m2;

printf("%f+%f=%f\n",m1,m2,m1+m2);

fprintf(fp,"%f+%f=%f",m1,m2,result);

break;

case'b':

printf("-----------------------------------------\n");

printf("|Pleaseentertwonumbers:

|\n");

printf("-----------------------------------------\n");

scanf("%f%f",&m1,&m2);

getchar();

result=m1-m2;

printf("%f-%f=%f\n",m1,m2,m1-m2);

fprintf(fp,"%f-%f=%f",m1,m2,result);

break;

case'c':

printf("-----------------------------------------\n");

printf("|Pleaseentertwonumbers:

|\n");

printf("-----------------------------------------\n");

scanf("%f%f",&m1,&m2);

getchar();

result=m1*m2;

printf("%f*%f=%f\n",m1,m2,m1*m2);

fprintf(fp,"%f*%f=%f",m1,m2,result);

break;

case'd':

printf("-----------------------------------------\n");

printf("|Pleaseentertwonumbers:

|\n");

printf("-----------------------------------------\n");

scanf("%f%f",&m1,&m2);

getchar();

result=m1/m2;

printf("%f/%f=%f\n",m1,m2,m1/m2);

fprintf(fp,"%f/%f=%f",m1,m2,result);

break;

case'e':

printf("-----------------------------------------\n");

printf("|Pleaseenteronenumber:

|\n");

printf("-----------------------------------------\n");

scanf("%f",&m1);

getchar();

result=sin(m1*2*3.1415926/360);

printf("sin(%f)=%f\n",m1,result);

fprintf(fp,"sin(%f)=%f",m1,result);

break;

case'f':

printf("-----------------------------------------\n");

printf("|Pleaseenteronenumber:

|\n");

printf("-----------------------------------------\n");

scanf("%f",&m1);

getchar();

result=tan(m1*2*3.1415926/360);

printf("tan(%f)=%f\n",m1,result);

fprintf(fp,"tan(%f)=%f",m1,result);

break;

case'g':

printf("-----------------------------------------\n");

printf("|Pleaseenteronenumber:

|\n");

printf("-----------------------------------------\n");

scanf("%f",&m1);

getchar();

result=asin(m1)*360/(3.1415926*2);

printf("asin(%f)=%f\n",m1,result);

fprintf(fp,"asin(%f)=%f",m1,result);

break;

case'h':

printf("-----------------------------------------\n");

printf("|Pleaseenteronenumber:

|\n");

printf("-----------------------------------------\n");

scanf("%f",&m1);

getchar();

result=atan(m1)*360/(3.1415926*2);

printf("atan(%f)=%f\n

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1