C语言课程设计计算器软件.docx
- 文档编号:2858053
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:10
- 大小:78.66KB
C语言课程设计计算器软件.docx
《C语言课程设计计算器软件.docx》由会员分享,可在线阅读,更多相关《C语言课程设计计算器软件.docx(10页珍藏版)》请在冰豆网上搜索。
C语言课程设计计算器软件
《C语言》
课程设计报告
题目
计算器软件
学号
姓名
年级专业
同组人员
指导教师
完成日期
2010
年
6
月
20
日
1.问题描述
2.基本要求
3.程序设计流程图。
4.程序设计内容。
5.程序设计截图。
6.程序设计分析。
7.程序设计心得。
8.程序设计评定。
一、问题描述
本程序设计是一个将数学问题与C语言程序设计结合的程序设计问题。
能够实现用用C语言编程让计算机模拟计算器的实验,可以改变计算数值,计算出不同的结果。
计算器是一种很常用的计算工具,他在日常生活中给了我们很大方便。
“计算器”是一种关于多种控件的应用的比较复杂的程序,它包含对字符串的处理,多模块程序设计,数学函数的使用。
所以它所需要的知识点较多,必须对各方面都有所了解。
计算器的主要功能就是运算,但是任何一个数值的输入都是以字符的形式进行的,但是字符是无法参与运算的,不许转换成整形变量。
二、基本要求
1)能够实现加减乘除功能;
2)要求单字符输入,即输入的数字或符号不需要按回车键;
3)具有一定的容错能力;
4)按回车键或等号键则显示计算结果。
三、程序设计流程图。
否
是
四、程序设计内容。
#include
#include
#defineN50
voidmain(void)
{
intinti=0,intj=0;
doubledoux[N]={0},dousum=0;
charcharx[N],chary[2*N];
printf("Pleaseinput:
");
scanf("%s",chary);
while(inti { switch(chary[inti]) { case'0': doux[(int)(inti/2)]=0;break; case'1': doux[(int)(inti/2)]=1;break; case'2': doux[(int)(inti/2)]=2;break; case'3': doux[(int)(inti/2)]=3;break; case'4': doux[(int)(inti/2)]=4;break; case'5': doux[(int)(inti/2)]=5;break; case'6': doux[(int)(inti/2)]=6;break; case'7': doux[(int)(inti/2)]=7;break; case'8': doux[(int)(inti/2)]=8;break; case'9': doux[(int)(inti/2)]=9;break; case'+': charx[inti/2]='+';break; case'-': charx[inti/2]='-';break; case'*': charx[inti/2]='*';break; case'/': charx[inti/2]='/';break; } inti++; } inti=0; while(inti { if(charx[inti]=='-') { doux[inti+1]=0-doux[inti+1]; } elseif(charx[inti]=='*') { doux[inti+1]=doux[inti+1]*doux[inti]; doux[inti]=0; } elseif(charx[inti]=='/') { if(doux[inti+1]==0) { intj=1; break; } doux[inti+1]=doux[inti]/doux[inti+1]; doux[inti]=0; } else { ; } inti++; } if(intj==1) { printf("Error\n"); } else { for(inti=0;inti { dousum+=doux[inti]; } printf("%lf\n",dousum); } system("pause"); } 五、程序设计截图。 输入正确计算公式屏幕显示: 容错能力屏幕显示: 六、程序设计分析。 1.文件名 #include #include #defineN50/*宏定义*/ 2.头文件 voidmain(void)/*空类型*/ 3.定义变量 intinti=0,intj=0; doubledoux[N]={0},dousum=0;/*定义数值变量*/ charcharx[N],chary[2*N];/*定义数组变量*/ 4文件主体 while(inti { switch(chary[inti]) { case'0': doux[(int)(inti/2)]=0;break;/*定义计算数值*/ case'1': doux[(int)(inti/2)]=1;break; case'2': doux[(int)(inti/2)]=2;break; case'3': doux[(int)(inti/2)]=3;break; case'4': doux[(int)(inti/2)]=4;break; case'5': doux[(int)(inti/2)]=5;break; case'6': doux[(int)(inti/2)]=6;break; case'7': doux[(int)(inti/2)]=7;break; case'8': doux[(int)(inti/2)]=8;break; case'9': doux[(int)(inti/2)]=9;break; case'+': charx[inti/2]='+';break;/*定义计算符号*/ case'-': charx[inti/2]='-';break; case'*': charx[inti/2]='*';break; case'/': charx[inti/2]='/';break; } inti++; } inti=0; while(inti { if(charx[inti]=='-')/*运算符号转换*/ { doux[inti+1]=0-doux[inti+1]; } elseif(charx[inti]=='*') { doux[inti+1]=doux[inti+1]*doux[inti]; doux[inti]=0; } elseif(charx[inti]=='/') { if(doux[inti+1]==0) { intj=1; break; } doux[inti+1]=doux[inti]/doux[inti+1]; doux[inti]=0; } else { ; } inti++; } if(intj==1) { printf("Error\n");/*容错*/ } else { for(inti=0;inti { dousum+=doux[inti]; } printf("%lf\n",dousum);/*输出结果*/ } system("pause");/*程序结束*/ } 七、程序设计心得 回顾起此次课程设计,我们有很多的感慨,自从拿到题目到完成整个编程,从理论到实践的过程中,可以学到很多很多的的东西,同时不仅可以巩固以前所学过的知识,而且学到了很多在书本上所没有学到过的知识,加深了对C语言的学习理解。 通过这次课程设计懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,还要把所学的理论知识与实践相结合起来,从理论中得出结论,从而提高自己的实际动手能力和独立思考的的能力。 此次,应用程序的设计和创建,经历了平时在课堂中和考试中,决不会有的重重难题和问题。 而这些问题,又都是课本上很少提到的、更深一层的知识领域和应用领域。 这些问题,并不是我们平时只靠课本,就可以轻易解决的。 所以,锻炼了我们面对难题,自己思索,自己探索,自己查资料发现问题、解决问题的独断能力。 当然,此次任务的完成,也体现出本组成员之间的团结精神。 所遇种种难以解决的问题,我们都会把它当作共同遇到的问题,在一起共同探讨,共同发挥自己所学和所知,投入式的互相帮助和解决困难。 在以后的学习生活中我要不断的加深掌握C语言这门技术。 物理与电子信息学院课程设计评定意见 指导教师评语 主要内容包括: 设计报告内容的完整性和完成情况、报告格式的规范性、通过课程设计取得的收获等。 成绩: 签名: 年 月 日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 计算器 软件