C语言课程设计报告模板.docx
《C语言课程设计报告模板.docx》由会员分享,可在线阅读,更多相关《C语言课程设计报告模板.docx(9页珍藏版)》请在咨信网上搜索。
C语言课程设计报告 班级:16 物联网 一、 题目说明 (1) 读取输入信息,能正确进行数字运算 (2) 拥有记忆功能,可查询最近几次计算结果并继续进行数字运算。 二、基本功能实现 (1)能实现两个数之间的加减,乘,除,乘方,开方等运算。 (2)实现记忆功能,可保留近十位结果,可用#键查看。 (3)*键作为清0键,清除当前屏幕上的值为0表示重新开 开始 三、设计流程(可以画流程图,可以直接写说明) 输入值 1. 判断 如果输入的是数字 如果输入的是字符 判断 输入索要执行的操作符和操作数2 如果为q 如果为# 调用yunsuan()计算并输出结果 查看历史结果 调用putres()将结果保存 结束 四、代码 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <math.h> double yunsuan(double a, char operate, double b); //处理数值之间的运算 void PutRes(double array[], double res, int *i); //保存该次运算结果 int main() { char str[40]; double a = 0; double b = 0; double res = 0; double history[10] = {0,0,0}; char opt; int i = 0; printf("欢迎进入计算功能(eg: 1 \n+ 1 ; '#':查询历史结果; 'q':退出程序)····\n"); while(1){ fgets(str,40,stdin); //将从键盘的一整行标准输入保存在字符串str中 if(sscanf(str,"%lf", &a) == 1){ //将str以长浮点型的格式放入a中,如果返回值为1,说明输入的是数值, scanf("%c %lf", &opt, &b); //获取操作符的值和另外一个操作数的值 res = yunsuan(a,opt,b); //调用yunsuan()函数计算,并将结果给res printf("%lf %c %lf = %lf\n\n",a, opt, b, res); PutRes(history, res, &i); //调用函数PutRes()将本次结果保存到数组history中(i用引用传递) // printf("%d\n", i); }else if(sscanf(str,"%c",&opt) == 1){ //将str以字符型的格式放入opt中,如果返回值为1,说明输入的是字符 if(opt == '#'){ //如果opt为‘#’,则显示history中的数值 int j = 0; for(j = 0; j < i; ++j){ //i为history中存放的数值个数 printf(" %lf ", history[j]); } printf("\n"); }else if(opt == '+' || opt == '-' || opt == '*' || opt == '/' || opt == '^'){ //如果为操作符,则为连续运算,则下面秩序获得b的值,a的值则为上次运算结果 scanf("%lf", &b); opt = str[0]; //因为str是字符串,而opt是字符,所以不能直接赋值,上句判断出str是字符,所以是只有一个字符的字符串,故可以这样赋值 a = res; res = yunsuan(a,opt,b); printf("%lf %c %lf = %lf\n\n",a, opt, b, res); PutRes(history, res, &i); }else if(opt == 'q'){ //‘q’退出程序 printf("Bye Bye....."); return 0; } } } return 0; } /* 功能:处理数值之间的运算 参数1:操作数1 参数2:操作方式 参数3:操作数2 返回值:两数值的运算结果。 */ double yunsuan(double a, char operate, double b) { switch(operate){ case '+': a += b; break; case '-': a -= b; break; case '*': a *= b; break; case '/': a /= b; break; case '^': a = pow(a, b); break; case '~': a = sqrt(a); break; default: //如果不满足上面所有分支则结束程序 break; } return a; } /* 功能:保存该次运算结果 参数1:用来保存结果的数组 参数2:本次要存放的结果 参数3:数组中目前存放的个数 返回值:无 */ void PutRes(double array[], double res, int *i) { int j = *i; //i用引用传递,确保在调用该函数式,形参和实参都能发生改变 if(j < 10){ //如果数组内当前的值少于十个直接存入,并将个数加1 array[j] = res; j++; }else{ for(j = 1; j < 10; ++j){ //如果数组内有十个数,则从第二个数开始前移,再讲本次结果存放在下标为9的位置 array[j-1] = array[j]; } array[9] = res; } *i = j; //更新当前数组内数值个数 } 五、运行效果(截图) 六、bug调试(调试过程中遇到的问题和解决方法): 六、心得体会 在这为期两个星期的时间内,通过我们小组之间成员的相互讨论和合作,我们完成了老师要求的程序设计,更值得高兴的事我们的程序取得了成功,在这一个学期的c语言学习中,我们平时所学的知识最多也就是在做作业时才能用到,平时没什么练习的机会,这次的课程设计是我们第一次通过自己的构思和小组成员讨论并且不断查阅资料来设计一段程序,这次的设计不仅巩固了以前所学的知识,还让我对c语言有了更深一部的了解掌握了更多的技巧和技能。 C语言是计算机程序设计的重要理论基础,在我们以后的学习和工作中占有重要的作用,要学好这种语言,仅仅学习课本上的知识是不够的,还要经常自己动手才能锻炼自己实践能力,只有多动手,经常编写程序,才能不断提高自己转化知识的能力。 在此次活动总结中,我们小组相互合作,相互帮助,不断进步,不断提高,不但加强了个人能力,也提高了团队协作能力 ,最终完成了老实交代的任务,希望以后能有更多的这样的机会,我相信以后会取得更大的进步! 班级:16届物联网1班- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 课程设计 报告 模板
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【Fis****915】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【Fis****915】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【Fis****915】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【Fis****915】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文