c语言编写计算器程序.docx
《c语言编写计算器程序.docx》由会员分享,可在线阅读,更多相关《c语言编写计算器程序.docx(7页珍藏版)》请在冰豆网上搜索。
c语言编写计算器程序
课程设计
题目:
计算器
用C语言编写软件完成以下任务:
在实数范围内支持加、减、乘、除运算,同时支持正弦、正切,及其反三角函数运算。
用户可以选择运算的类型,并可以在界面进行数据的输入和输出。
被运算的数据、运算的类型、运算的结果应能够保存到文件myfile.txt中。
保存的形式可以参考如下所示:
4*2=8;sin(0.5)=0.479426。
三、课程设计要求
1.程序质量:
✧贯彻结构化的程序设计思想。
✧用户界面友好,功能明确,操作方便。
✧用户界面中的菜单至少应包括“运算选项”、“数据输入”、“保存结果”、“退出”4项。
✧代码应适当缩进,并给出必要的注释,以增强程序的可读性。
2.课程设计说明书:
课程结束后,上交课程设计说明书和源程序。
课程设计说明书的格式和内容参见提供的模板。
一.需求分析………………………………………..1
二.流程图…………………………………………..1
三.核心技术的实现方法及程序…………………..3
四.总结……………………………………………..4
五.参考文献………………………………………..5
六.源程序…………………………………………..5
一需求分析
经过对程序设计题目的分析可知,整个程序的设计实现大致分为2个模块。
其中每一个模块对应一个函数,他们的功能分别是:
运算和保存。
二.程序流程图
(1)用switch语句完成:
图
(1)运算流程图
图
(2)程序整体流程图
三.核心技术的实现方法及程序
本程序主要由一个主函数和8个自定义函数组成,其中主函数以菜单的形式调用其他函数来实现要求的所有功能。
下面分别进行说明:
1.选择函数:
定义函数名称,分别编号,按照数字选择。
进入调试状态,页面显示“choosetherightnumber”选择计算函数进行下一步的运算,具体程序段如下:
voidmain()
{
intn;
doublea,b,c;
FILE*fp;
fp=fopen("c:
\\myfile.txt","w+");
while
(1){
printf("***********计算器************************\n");
printf("*********************1-sum**************************\n");
printf("********************2-jian*************************\n");
printf("********************3-cheng************************\n");
printf("********************4-chu*************************\n");
printf("********************5-zhengxuan********************\n");
printf("********************6-zhengqie********************\n");
printf("********************7-fanzhengxuan******************\n");
printf("********************8-fanzhengqie*******************\n");
printf("*********************9-exit*************************\n");
printf("choosetheringtnumber:
\n");
2.运算函数:
用switch语句实现,分别计算,然后跳出。
四.总结:
一周的时间既短暂又漫长,但我学会了很多东西。
我深切的体会到在目前一个高速发展的社会,学好计算机对于一个大学生的重要性。
就C语言来说,每个题目都是以前没有练习过的,所以我们必须用自己平时所学的和发挥自己的创造性的思维去完成一个程序。
对于我个人来说,这的确是个一个很大的挑战,但却培养了我们做事的耐性和严谨行。
因为只要有一个地方出错就会导致整个程序不运行。
虽然课设之前接触了半年的C语言,但做课设的时候才知道我在这个方面知识是多么的匮乏。
但这一个让我对C语言产生了兴趣,当我实现了计算器的功能时,我有多么的高兴,也深深感到C语言这门功课真的很有用。
通过学习我也懂得了编写程序要规范整齐漂亮,更有层次条理,使程序易懂,也学会了自己修改错误,使我在学习C语言方面有了飞越。
五、参考文献
1谭浩强.C程序设计.北京:
清华大学出版社,2005
2刘成等.C语言程序设计实验指导与习题集.北京:
中国铁道出版社,2006
六.源程序:
#include
#include
#include
#include
voidmain()
{
intn;
doublea,b,c;
FILE*fp;
fp=fopen("c:
\\myfile.txt","w+");
while
(1){
printf("***********计算器*******************\n");
printf("*********************1-sum*************************\n");
printf("********************2-jian*************************\n");
printf("********************3-cheng************************\n");
printf("********************4-chu*************************\n");
printf("********************5-zhengxuan********************\n");
printf("********************6-zhengqie********************\n");
printf("********************7-fanzhengxuan******************\n");
printf("********************8-fanzhengqie*******************\n");
printf("*********************9-exit*************************\n");
printf("choosetheringtnumber:
\n");
{
scanf("%d",&n);
switch(n)
{case1:
printf("输入两个数:
\n");
scanf("%lf",&a);
scanf("%lf",&b);
c=a+b;
printf("%lf+%lf=%lf\n",a,b,c);
fprintf(fp,"%lf+%lf=%lf",a,b,c);
break;
case2:
printf("嵌入两个数:
\n");
scanf("%lf",&a);
scanf("%lf",&b);
c=a-b;
printf("%lf-%lf=%lf\n",a,b,c);
fprintf(fp,"%lf-%lf=%lf",a,b,c);
break;
case3:
printf("嵌入两个数:
\n");
scanf("%lf",&a);
scanf("%lf",&b);
c=a*b;
printf("%lf*%lf=%lf\n",a,b,c);
fprintf(fp,"%lf*%lf=%lf",a,b,c);
break;
case4:
printf("嵌入两个数:
\n");
scanf("%lf",&a);
scanf("%lf",&b);
c=a/b;
printf("%lf/%lf=%lf\n",a,b,c);
fprintf(fp,"%lf/%lf=%lf",a,b,c);
break;
case5:
printf("嵌入一个数:
\n");
scanf("%lf",&a);
c=sin(a*2*3.1415926/360);
printf("sin(%lf)=%lf\n",a,c);
fprintf(fp,"sin(%lf)=%lf",a,c);
break;
case6:
printf("嵌入一个数:
\n");
scanf("%lf",&a);
c=tan(a*2*3.1415926/360);
printf("tan(%lf)=%lf\n",a,c);
fprintf(fp,"tan(%lf)=%lf",a,c);
break;
case7:
printf("嵌入一个数:
\n");
scanf("%lf",&a);
c=asin(a)*360/(3.1415926*2);
printf("asin(%lf)=%lf\n",a,c);
fprintf(fp,"asin(%lf)=%lf",a,c);
break;
case8:
printf("嵌入一个数:
\n");
scanf("%lf",&a);
c=atan(a)*360/(3.1415926*2);
printf("atan(%lf)=%lf\n",a,c);
fprintf(fp,"atan(%lf)=%lf",a,c);
break;
case9:
exit(0);
}
fclose(fp);
}
}}