收藏 分销(赏)

C语言专业课程设计方案报告及程序小学生测验方新盛.doc

上传人:精*** 文档编号:2727286 上传时间:2024-06-05 格式:DOC 页数:31 大小:241.54KB
下载 相关 举报
C语言专业课程设计方案报告及程序小学生测验方新盛.doc_第1页
第1页 / 共31页
C语言专业课程设计方案报告及程序小学生测验方新盛.doc_第2页
第2页 / 共31页
C语言专业课程设计方案报告及程序小学生测验方新盛.doc_第3页
第3页 / 共31页
C语言专业课程设计方案报告及程序小学生测验方新盛.doc_第4页
第4页 / 共31页
C语言专业课程设计方案报告及程序小学生测验方新盛.doc_第5页
第5页 / 共31页
点击查看更多>>
资源描述

1、 长江学院信息工程系程序设计综合课程设计汇报 (/ 第一学期)学生姓名: 方新盛学生班级: 1530501学生学号: 30050116指导老师: 戴晟辉 1月6日 目 录一 课程设计目标及要求 .1二课程设计任务和内容 .1三 设计说明 .2 1关键步骤图 .2 2课程设计思想 3 3 具体设计 4 3.1 登陆模块 4 3.2 加法模块 6 3.3 减法模块 7 3.4 混合模块 9 3.5运算结果 10 3.6使用软件 12四 课程设计感想 12五 参考文件 13六 附件(程序代码) 14 小学生测验课程设计汇报一、课程设计目标及要求(1)提升和加强自己计算机应用和软件开发能力,使自己由初

2、学者向专业程序员过渡。(2)培养自己独立分析问题、处理问题、查阅资料和自学能力,以适应计算机产业日新月异发展形势,综合利用所学知识,处理实际问题,全方面提升学生程序设计能力和开发能力。(3)学习和掌握C+面向对象程序设计方法和上机调试技巧,为以后学习其它专业课程打好坚实基础。(4)检测自己在这一学期对C+面向对象学习及掌握情况。知道自己不足,立即填补。为以后学习打下一定基础,也为自己以后怎样制订学习计划做一铺垫。二. 课程设计任务和内容功效齐全:界面操作灵活方便,最少实现以下基础功效:l 电脑随机出10道题,每题10分,程序结束时显示学生得分;l 确保算式没有超出12年级水平,只许可进行50以

3、内加减法,不许可两数之和或之差超出050范围,负数更是不许可;l 每道题学生有三次机会输入答案,当学生输入错误答案时,提醒学生重新输入,假如三次机会结束则输出正确答案;l 对于每道题目,学生第一次输入正确答案得10分,第二次输入正确答案得7分,第三次输入正确答案得5分,不然不得分;l 总成绩90分以上现实“SMART”,8090分显示“GOOD”,7080分显示“OK”,6070分显示“PASS”,60分以下显示“TRY AGAIN”。 三设计说明 1.关键步骤图 开始 Main函数 结束 登陆模块 加法运算 选择 混合运算 减法运算1 2其它二次答对一次答对否是否三次答对是否 输出得分 10

4、分7分5分0分2. 课程设计思想在main()主函数中定义STUDENT student;对象,并调用student.Input();信息输入,在登录模块程序采取了调用和输入输出函数!当用户输入自己学号和姓名开始使用本系统,进入登陆模块。屏幕显示菜单提醒,用户可依据需要选择对应功效。以下:请选择测试项目,加法请按 1 ,减法请按 2 ,混合运算请按任意键。student.Test();进行选择,是加法,减法,还是加减法全部有,student.Test()调用add()函数,sub函数,addsub函数,当用户选择1进行加法计算,选择2进行加法运算,选择任意键进行加减混合运算选择对应函数其思绪相

5、同,用for(a=rand()%51,b=rand()%51;a+b50 | a+b50 | a-b50|a-b50|a+b0;a=rand()%51,b=rand()%51;选择了for(int i=1;i50|a+b50 | a-b0,a,b两数和,差大于0小于50,确保算式没有超出12年级水平,只许可进行50以内加减法,不许可两数之和或之差超出050范围,负数更是不许可;再用for(int j=1;j=3;j+)控制三次答题机会,假如第一次学生答题错误系统会提醒还有答题错误,还有俩次机会,不然就给出第一次答题正确分数10分,假如第二次学生答题错误系统会提醒还有答题错误,还有一次机会,不然

6、就给出第三次答题正确分数7分,假如第三次学生答题错误系统会提醒还有答题错误,没有做题机会,系统给出正确答案,不然就给出第三次答题正确分数5分,实现这几部很简单采取了if,else语句判定,scorei!=trueValue当输入值等于正确答案时,走else语句判定得分情况,不然给出答题机会;每次做对一题flag=1,统计做对题个数zen=zen+flag; sum统计分情况sum=sum+scorei;当第一次做对题则first=1表示仅一次做对题,first1=first1+first;统计仅一次做对题个数,second表示俩次做对题,second1=second1+second统计俩次做对

7、题个数,third表示三次做对题third1=third1+third;统计三次做对题个数,那么答错题个数10-zen,而答题正确率为得分除以100乘以100%,3.具体设计3.1登录模块 3.11登录模块程序void main()cout 一二年级测试题 endlendl; cout *小学数学测试软件* endl; cout * n;STUDENT student; /定义一个对象while(1)student.Input();/信息输入student.Test();/进行选择,是加法,减法,还是全部有coutch;if(ch=n|ch=N)break; /=void STUDENT:In

8、put() coutNum;coutName;cout*endl;/=void STUDENT:Test()cout请选择测试项目,加法请按 1 ,减法请按 2 ,混合运算请按任意键。Stest; switch(Stest)case 1:Add();Output();break;case 2:Sub();Output();break;default:AddSub();Output();break;3.1.2.关键完成功效为:当用户输入自己学号和姓名开始使用本系统,进入登陆模块。屏幕显示菜单提醒,用户可依据需要选择对应功效。具体以下:请选择测试项目,加法请按 1 ,减法请按 2 ,混合运算请按任

9、意键。3.1.3.关键使用思想:在main()主函数中定义STUDENT student对象2,并调用student.Input();信息输入,student.Test();进行选择,是加法,减法,还是加减法全部有,在登录模块程序采取了调用和输入输出函数!关键代码STUDENT student; /定义一个对象2while(1) student.Input();/信息输入student.Test();/进行选择,是加法,减法,还是全部有coutch;if(ch=n|ch=N)break;调用student.Test()函数四个输出语句While函数调用student.Input()函数main

10、()主函数3.2加法运算模块3.2.1.关键完成功效为:当用户选择了1加法测试,屏幕随机出现10道加法测试题进行计算。3.2.2.关键使用思想:for(int i=1;i50 | a+b0 ; a=rand()%51,b=rand()%51)for(int j=1;j=3;j+) 控制三次答题机会STUDENT:Sub()函数Else 每次答对题得分if(scorei!=trueValue)控制有三次输入机会当用户选择1进行加法计算时,则选择了STUDENT:add()函数for(int i=1;i50 | a-b50 | a+b0,a,b两数和大于0小于50,确保算式没有超出12年级水平,只

11、许可进行50以内加减法,不许可两数之和或之差超出050范围,负数更是不许可;再用for(int j=1;j=3;j+)控制三次答题机会,假如第一次学生答题错误系统会提醒还有答题错误,还有俩次机会,不然就给出第一次答题正确分数10分,假如第二次学生答题错误系统会提醒还有答题错误,还有一次机会,不然就给出第三次答题正确分数7分,假如第三次学生答题错误系统会提醒还有答题错误,没有做题机会,系统给出正确答案,不然就给出第三次答题正确分数5分,实现这几部很简单采取了if,else语句判定,scorei!=trueValue当输入值等于正确答案时,走else语句判定得分情况,不然给出答题机会;每次做对一题

12、flag=1,统计做对题个数zen=zen+flag; sum统计分情况sum=sum+scorei;当第一次做对题则first=1表示仅一次做对题,first1=first1+first;统计仅一次做对题个数,second表示俩次做对题,second1=second1+second统计俩次做对题个数,third表示三次做对题third1=third1+third;统计三次做对题个数,那么答错题个数10-zen,而答题正确率为得分除以100乘以100%,3.3减法运算模块3.3.1.关键完成功效为:当用户选择了2减法测试,屏幕随机出现10道减法测试题进行计算。3.3.2.关键使用思想:for(

13、int i=1;i50 | a-b0 ; a=rand()%51,b=rand()%51)for(int j=1;j=3;j+) 控制三次答题机会STUDENT:Sub()函数Else 每次答对题得分if(scorei!=trueValue)控制有三次输入机会当用户选择2进行加法计算时,则选择了STUDENT:Sub()2函数for(int i=1;i50 | a-b50 | a-b0,a,b两数差大于0小于50,确保算式没有超出12年级水平,只许可进行50以内加减法,不许可两数之和或之差超出050范围,负数更是不许可;再用for(int j=1;j50 | a+b50 | a-b0; a=r

14、and()%51,b=rand()%51)for(int i=1;i=10;i+)函数控制题10道题STUDENT:addSub()函数c=rand()%3;C=1加法C=2减法;for(int j=1;j=3;j+) 控制三次答题机会Else 每次答对题得分if(scorei!=trueValue)控制有三次输入机会当用户选择1进行加法计算时,则选择了STUDENT:add()函数2for(int i=1;i50|a+b50|a-b50 | a+b50 | a-b0;a,b两数和,差大于0小于50,确保算式没有超出12年级水平,只许可进行50以内加减法,不许可两数之和或之差超出050范围,负

15、数更是不许可;再用for(int j=1;j=3;j+)控制三次答题机会,假如第一次学生答题错误系统会提醒还有答题错误,还有俩次机会,不然就给出第一次答题正确分数10分,假如第二次学生答题错误系统会提醒还有答题错误,还有一次机会,不然就给出第三次答题正确分数7分,假如第三次学生答题错误系统会提醒还有答题错误,没有做题机会,系统给出正确答案,不然就给出第三次答题正确分数5分,实现这几部很简单采取了if,else语句判定,scorei!=trueValue当输入值等于正确答案时,走else语句判定得分情况,不然给出答题机会;每次做对一题flag=1,统计做对题个数zen=zen+flag; sum

16、统计分情况sum=sum+scorei;当第一次做对题则first=1表示仅一次做对题,first1=first1+first;统计仅一次做对题个数,second表示俩次做对题,second1=second1+second统计俩次做对题个数,third表示三次做对题third1=third1+third;统计三次做对题个数,那么答错题个数10-zen,而答题正确率为得分除以100乘以100%,3.5每种运算试验结果3.5.1 加法运算试验结果3.5.2 减法运算试验结果3.5.3加减混合运算试验结果3.6 使用软件:Microsoft Visual C+ 6.0四课程设计感想这次课设使我受益匪

17、浅,得以把以前学凌乱知识点综合利用起来,对C+编程也有了更深一步体会,同时感到综合利用知识还有一定困难,发觉自己有部分基础知识还不很扎实,需要勤加训练,加强记忆。在近三周编程中我学到了很多,平时学习中不注意细节,在这次编程中深切体会到它关键性。对编程中错误自我更正,增强了自我调试程序,处理问题能力。总而言之,此次课设为我们提供了一个检测学习,锻炼能力,认识不足平台,很快乐能有这么一个机会锻炼自我! 小学生测验在很多情况下,尤其是在众多科学研究领域中,一个时间跨度较大程序是很有参考价值。C+面向对象程序设计语言充足发挥了其本身无和伦比优越性,用极短程序文本填补了这一领域空白,同时用铁事实强有力告

18、诉世人:C+面向对象程序设计语言作为计算机语言家族新生事物,其发展前景是极为宽广。 经过上一个学期对C+面向对象程序设计学习,我们学习了理论知识,了解了C+语言程序设计思想,这些知识全部为我们下一步学习打下了坚实基础。经过课程设计,首先是为了检验我们一个学期来我们学习结果,其次也是为了让我们深入掌握和利用它,同时也让我们认清自己不足之处和微弱步骤,加以填补和加强。在编写程序过程中也体会到了做事情一顶要细心、认真。愈加知道了要掌握好基础知识。还有体会到了成功感觉!在设计过程中愈加体会到了团体合作关键性,“一个诸葛亮比不上三个臭皮匠。”知道了只有团体合作才会愈加好完成设计!也体会到以后在工作中团体

19、合作必需性和关键性!经过本项课程设计也培养了我独立思索、 综合利用所学相关对应知识能力,掌握 工程软件设计基础方法,强化上机动手编程能力,闯过理论和实践相结合难关!因为C+语言是中国外得到快速推广应用一个语言。C+语言功效丰富,表示能力强,使用灵活方便,应用面广,目标程序效率高,可移植性好,既含有高级语言优点,又含有低级语言很多特点。经过这次c+语言程序设计愈加了解了c+语言好处和其可用性! 在这次课程设计中也知道了自己动手能力不强有待进一部提升!在设计过程中不能够把书本上知识和实践相结合,这也就增加了设计不好该程序想法!在设计过程中一次次设计错误增加了我放弃想法!不过经过大家努力最终完成了课

20、程设计!完成该程序后想起自己以前每一次对自己失去信心,就认为并不是在知识掌握上打败了,而是自己对自己缺乏信心!只要自己对自己不失去信心相信就能够完成那些以前认为完成不了事情!也让我知道了要想成功首先就必需有很强自信心!知道了自己以后要在做任何事情时全部要自信!当自己全部不相信自己能够成功时还可能会取得成功吗? 在C+语言程序设计过程中也知道了自己在以前学习中有很大不足造成在设计过程中出现了很多问题,有些地方看不懂也不知道怎么去设计,不过在设计过程中也学习了很多,掌握了自己以前没有学好知识,即使一时能够掌握完以前没有学好知识,不过也给自己敲响了警钟,在学习中不能够伏于表面,要想学好每一门课程全部

21、要踏扎实实,做什么全部不是给她人看!全部是要愈加好掌握该门知识,提升自己本身修养,提升自己能力!为以后工作打下良好知识基础和技能基础!五参考文件谭浩强.C+程序设计 清华大学出版社 郑振杰.C+程序设计 北京:人民邮电出版社,柴欣,C/C+程序设计 河北大学出版社, 余苏宁、王明福,C+程序设计 北京:高等教育出版社,吕凤翥.C+语言程序设计(第2版).电子工业出版社,.2李云清、杨庆红、揭安全.数据结构M.人民邮电大学出版社,.6六附件(程序代码)#include#include#include /用到了time函数,所以要有这个头文件#include/用到了srand函数,所以要有这个头文

22、件using namespace std;class STUDENT /定义一个STUDENT类 private: char Num20;/学号char Name10;/姓名int age;/年纪int Score;/成绩public:void Input();/信息输入void Output();/输出成绩void Add();void Sub();void AddSub();void Test();/进行选择,是加法,减法,还是全部有;void main()cout* n; cout*小学数学测试软件* endl;cout 一二年级测试题 endl;cout (Designed by CM

23、G) endl; cout*小学数学测试软件* endl; cout* n;STUDENT student ; /定义一个对象while(1) student.Input();/信息输入student.Test();/进行选择,是加法,减法,还是全部有coutch;if(ch=n|ch=N)break; /=void STUDENT:Input() coutNum;coutName;coutage;cout*endl;/=void STUDENT:Test() cout请选择测试项目:加法请按 1 ,减法请按 2 ,混合运算请按其它任意数字键.Stest; switch(Stest)case

24、1:Add();Output();break;case 2:Sub();Output();break;default: AddSub();Output();break;/=void STUDENT:Add()/加法运算int a,b,score10,trueValue,sum=0,zen=0,flag,first,second,third,first1=0,second1=0,third1=0; /*数a=rand()%51,b=rand()%51控制a,b值不超出50 sum累计分数,flag=1标志答案正确, zen为累计正确题个数,first第一次正确个数,second第二次正确个数,t

25、hird第三次正确个数, first1累计仅一次做对题个数,second1为俩次才能完成题个数,third1为三次做对题个数*/ for(int i=1;i50 | a+b0 ; a=rand()%51,b=rand()%51) for(int j=1;j=3;j+) /J控制得分情况 flag=0; first=0; second=0; third=0; cout第i个:a+bscorei; if(scorei!=trueValue) if(j=1) cout答案错误,你还有俩次机会,请重新输入endl; scorei=0; /清空上次错误答案 else if(j=2) cout答案错误,你

26、还有最终一次机会,请重新输入endl; scorei=0; /清空上次错误答案 else cout答案错误,很遗憾你没有做题机会了endl; cout正确答案是: : trueValueendl; scorei=0; else if(j=1) scorei=10; flag=1; first=1; else if(j=2) scorei=7; flag=1; second=1; else scorei=5; flag=1; third=1; break; sum=sum+scorei; zen=zen+flag; /做对题个数 first1=first1+first; second1=seco

27、nd1+second; third1=third1+third; Score=sum; /总分数 cout*统计*endl; cout共做对zen个题endl; cout共做错10-zen个题endl; cout仅一次做对first1个题endl; cout俩次才做对second1个题endl; cout三次才做对third1个题endl; cout此次正确率是:Score%endl;/=void STUDENT:Sub()/减法运算int a,b,score10,trueValue,sum=0,zen=0,flag,first,second,third,first1=0,second1=0,

28、third1=0; /*数a=rand()%51,b=rand()%51控制a,b值不超出50 sum累计分数,flag=1标志答案正确, zen为累计正确题个数,first第一次正确个数,second第二次正确个数,third第三次正确个数,first1累计仅一次做对题个数,second1为俩次才能完成题个数,third1为三次做对题个数*/ for(int i=1;i50|a-b0;a=rand()%51,b=rand()%51) for(int j=1;j=3;j+) /J控制得分情况 flag=0; first=0; second=0; third=0; cout第i个:a-bscor

29、ei; if(scorei!=trueValue) if(j=1) cout答案错误,你还有俩次机会,请重新输入endl; scorei=0; /清空上次错误答案 else if(j=2) cout答案错误,你还有最终一次机会,请重新输入endl; scorei=0; /清空上次错误答案 else cout答案错误,很遗憾你没有做题机会了endl; cout正确答案是: : trueValueendl; scorei=0; else if(j=1) scorei=10; flag=1; first=1; else if(j=2) scorei=7; flag=1; second=1; else scorei=5; flag=1; third=1; break; sum=sum+scorei; zen=zen+flag; /做对题个数 first1=first1+first; second1=second1+second; third1=third1+third; Score=sum; /总分数 cout*统计*endl; cout共做对zen个题endl; cout共做错10-zen个题endl; cout仅一次做对first1个题endl; cout俩次才做对second1个题endl; cout三次才做对third1个题endl; cout此次正确率是:Score%endl;

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服