《C语言课程设计汇本报告模板.docx》由会员分享,可在线阅读,更多相关《C语言课程设计汇本报告模板.docx(6页珍藏版)》请在优知文库上搜索。
1、C语言课程设计报告班级:16物联网一、题目说明(1)读取输入信息,能正确进展数字运算(2)拥有记忆功能,可查询最近几次计算结果并继续进展数字运算。二、基本功能实现1能实现两个数之间的加减,乘,除,乘方,开方等运算。2实现记忆功能,可保存近十位结果,可用#键查看。3*键作为清O键,去除当前屏幕上的值为O表示重新开includeincludeincludeincludedoubleyunsuan(doublea,charoperate,doubleb);处理数值之间的运算voidPutRes(doublearray,doubleres,int*i);保存该次运算结果intmainOcharstr4
2、0;doublea=0;doubleb=0;doubleres-0;doublehistory10-0,0,0;charopt;inti=0;Printf(欢迎进入计算功能(eg:1n+1;:查询历史结果;q:退出程序)n,z);while(l)fgets(str,40,stdin);将从键盘的一整行标准输入保存在字符串str中if(sscanf(str,%lfz,&a)=1)将Str以长浮点型的格式放入a中,如果返回值为L说明输入的是数值,scanf(z/%c%1,&opt,&b);获取操作符的值和另外一个操作数的值res=yunsuan(a,opt,b);调用yunsuan()函数计算,并
3、将结果给resprintf(z,%lf%c%lf=%lfnnzz,a,opt,b,res);PutRes(history,res,&i);调用函数PUtReS()将本次结果保存到数组history中(i用引用传递)/Printf(dn,i);elseif(sscanf(str,zz%czz,&opt)=1)/将Str以字符型的格式放入。Pt中,如果返回值为1,说明输入的是字符if(opt=#)如果OPt为那么显示history中的数值intj=0;for(j=0;j:a-=b;break;case,*:a*=b;break;case:a/=b;break;case,:a=pow(a,b);br
4、eak;case:a=sqrt(a);break;default:如果不满足上面所有分支那么完毕程序break;)returna;)*功能:保存该次运算结果参数1:用来保存结果的数组参数2:本次要存放的结果参数3:数组中目前存放的个数返回值:无*/voidPutRes(doublearray,doubleres,int*i)intj=*i;/i用引用传递,确保在调用该函数式,形参和实参都能发生改变if(j10)如果数组内当前的值少于十个直接存入,并将个数加1arrayj=res;j+;elsefor(j=1;j10;+j)如果数组内有十个数,那么从第二个数开场前移,再讲本次结果存放在下标为9的
5、位置arrayj-l=arrayj;)array9=res;*i二j;更新当前数组内数值个数五、运行效果截图六、bug调试调试过程中遇到的问题和解决方法:六、心得体会在这为期两个星期的时间内,通过我们小组之间成员的相互讨论和合作,我们完成了教师要求的程序设计,更值得快乐的事我们的程序取得了成功,在这一个学期的c语言学习中,我们平时所学的知识最多也就是在做作业时才能用到,平时没什么练习的时机,这次的课程设计是我们第一次通过自己的构思和小组成员讨论并且不断查阅资料来设计一段程序,这次的设计不仅稳固了以前所学的知识,还让我对c语言有了更深一部的了解掌握了更多的技巧和技能。C语言是计算机程序设计的重要理论根基,在我们以后的学习和工作中占有重要的作用,要学好这种语言,仅仅学习课本上的知识是不够的,还要经常自己动手才能锻炼自己实践能力,只有多动手,经常编写程序,才能不断提高自己转化知识的能力。在此次活动总结中,我们小组相互合作,相互帮助,不断进步,不断提高,不但加强了个人能力,也提高了团队协作能力,最终完成了老实交代的任务,希望以后能有更多的这样的时机,我相信以后会取得更大的进步!班级:16届物联网1班