ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:264.43KB ,
资源ID:4506695      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4506695.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(面向对象程序设计小学生测验课程设计报告及程序.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

面向对象程序设计小学生测验课程设计报告及程序.docx

1、面向对象程序设计小学生测验课程设计报告及程序 小学生测验课程设计报告一、课程设计目的及要求1设计目的(1)提高和加强自己的计算机应用与软件开发能力,使自己由初学者向专业的程序员过渡。(2)培养自己独立分析问题、解决问题、查阅资料以及自学能力,以适应计算机产业日新月异发展的形势,综合运用所学知识,解决实际问题,全面提高学生的程序设计能力和开发能力。(3)学习和掌握C+面向对象程序设计方法以及上机调试技巧,为今后学习其它专业课程打好坚实的基础。(4)检测自己在这一学期对C+面向对象的学习及掌握情况。知道自己的不足,及时的弥补。为以后的学习打下一定的基础,也为自己以后如何制定学习计划做一铺垫。2设计

2、要求功能齐全:界面操作灵活方便,至少实现以下基本功能: 电脑随机出10道题,每题10分,程序结束时显示学生得分; 确保算式没有超出12年级水平,只允许进行50以内的加减法,不允许两数之和或之差超出050的范围,负数更是不允许的; 每道题学生有三次机会输入答案,当学生输入错误答案时,提醒学生重新输入,如果三次机会结束则输出正确答案; 对于每道题目,学生第一次输入正确答案得10分,第二次输入正确答案得7分,第三次输入正确答案得5分,否则不得分; 总成绩90分以上现实“SMART”,8090分显示“GOOD”,7080分显示“OK”,6070分显示“PASS”,60分以下显示“TRY AGAIN”。

3、二. 课程设计具体实1.课程设计框图及主要程序构架main()主函数 1 2 任意键STUDENT:Sub()函数STUDENT:addSub()函数STUDENT:aad()函数 1. 课程设计设计思 想在main()主函数中定义STUDENT student;对象,并调用student.Input();信息输入,在登录模块程序采用了调用以及输入输出函数!当用户输入自己的学号以及姓名开始使用本系统,进入登陆模块。屏幕显示菜单提示,用户可根据需要选择相应功能。体如下:请选择测试项目,加法请按 1 ,减法请按 2 ,混合运算请按任意键。student.Test();进行选择,是加法,减法,还是加

4、减法都有,student.Test()调用add()函数,sub函数,addsub函数,当用户选择1进行加法计算,选择2进行加法运算,选择任意键进行加减混合运算选择相应的函数其思路相同,用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

5、=3;j+)控制三次答题机会,如果第一次学生答题错误系统会提示还有答题错误,还有俩次机会,否则就给出第一次答题正确的分数10分,如果第二次学生答题错误系统会提示还有答题错误,还有一次机会,否则就给出第三次答题正确的分数7分,如果第三次学生答题错误系统会提示还有答题错误,没有做题机会,系统给出正确的答案,否则就给出第三次答题正确的分数5分,实现这几部很简单采用了if,else语句判断,scorei!=trueValue当输入值等于正确答案时,走else语句判断得分情况,否则给出答题机会;每次做对一题flag=1,统计做对题的个数zen=zen+flag; sum统计的分情况sum=sum+sco

6、rei;当第一次做对题则first=1表示仅一次做对题,first1=first1+first;统计仅一次做对题的个数,second表示俩次做对题,second1=second1+second统计俩次做对题的个数,third表示三次做对题third1=third1+third;统计三次做对题的个数,那么答错题的个数10-zen,而答题的正确率为得分除以100乘以100%,3.详细设计3.1登录模块 3.11登录模块程序void main() cout 一二年级测试题 endlendl; cout *小学数学测试软件* endl; cout 计科0811 张彩娟 学号:35号 endl; cou

7、t * n; STUDENT student; /定义一个对象 while(1) student.Input();/信息输入 student.Test();/进行选择,是加法,减法,还是都有 coutch; if(ch=n|ch=N) break; /=void STUDENT:Input() coutNum; coutName; cout*endl;/=void STUDENT:Test() cout请选择测试项目,加法请按 1 ,减法请按 2 ,混合运算请按任意键。Stest; switch(Stest) case 1: Add(); Output(); break; case 2: Su

8、b(); Output(); break; default: AddSub(); Output(); break; 3.1.2.主要完成功能为:当用户输入自己的学号以及姓名开始使用本系统,进入登陆模块。屏幕显示菜单提示,用户可根据需要选择相应功能。具体如下:请选择测试项目,加法请按 1 ,减法请按 2 ,混合运算请按任意键1。3.1.3.主要使用思想:在main()主函数中定义STUDENT student对象2,并调用student.Input();信息输入,student.Test();进行选择,是加法,减法,还是加减法都有,在登录模块程序采用了调用以及输入输出函数!关键代码STUDENT

9、 student; /定义一个对象2 while(1) student.Input();/信息输入 student.Test();/进行选择,是加法,减法,还是都有 coutch; if(ch=n|ch=N) break;3.2加法运算模块3.2.1.主要完成功能为:当用户选择了1加法测试,屏幕随机出现10道加法测试题进行计算。3.2.2.主要使用思想:当用户选择1进行加法计算时,则选择了STUDENT:add()函数for(int i=1;i50 | a-b50 | a+b0,a,b两数的和大于0小于50,确保算式没有超出12年级水平,只允许进行50以内的加减法,不允许两数之和或之差超出05

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

11、en+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.主要使用思想:当用户选择2进行加法计算时,则选择

12、了STUDENT:Sub()2函数for(int i=1;i50 | a-b50 | a-b0,a,b两数的差大于0小于50,确保算式没有超出12年级水平,只允许进行50以内的加减法,不允许两数之和或之差超出050的范围,负数更是不允许的;再用for(int j=1;j=3;j+)控制三次答题机会,如果第一次学生答题错误系统会提示还有答题错误,还有俩次机会,否则就给出第一次答题正确的分数10分,如果第二次学生答题错误系统会提示还有答题错误,还有一次机会,否则就给出第三次答题正确的分数7分,如果第三次学生答题错误系统会提示还有答题错误,没有做题机会,系统给出正确的答案,否则就给出第三次答题正确的

13、分数5分,实现这几部很简单采用了if,else语句判断,scorei!=trueValue当输入值等于正确答案时,走else语句判断得分情况,否则给出答题机会;每次做对一题flag=1,统计做对题的个数zen=zen+flag; sum统计的分情况sum=sum+scorei;当第一次做对题则first=1表示仅一次做对题,first1=first1+first;统计仅一次做对题的个数,second表示俩次做对题,second1=second1+second统计俩次做对题的个数,third表示三次做对题third1=third1+third;统计三次做对题的个数,那么答错题的个数10-zen,

14、而答题的正确率为得分除以100乘以100%,3.4加减混合运算模块3.4.1.主要完成功能为:当用户选择了其它任意数字键加减混合法测试,屏幕随机出现10道加减法测试题进行计算。3.4.2主要使用思想:当用户选择1进行加法计算时,则选择了STUDENT:add()函数2for(int i=1;i50|a+b50|a-b50 | a+b50 | a-b0;a,b两数的和,差大于0小于50,确保算式没有超出12年级水平,只允许进行50以内的加减法,不允许两数之和或之差超出050的范围,负数更是不允许的;再用for(int j=1;j=3;j+)控制三次答题机会,如果第一次学生答题错误系统会提示还有答

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

16、=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、搜索得到答案,在用#include 用到了time函数3,所以要有这个头文#include用到了srand函数3,所以要有这个头文件类和结构体的声明一般写在头文件中,因此需再声明一个class类以避免在包含头文件时发生错误2,最大的困难是怎样用面向对象实现着个程序,而且能优化程序,使程序简单明了,经过多次上网及看书上的类题和老师的指点解决了这一问题,但是小问题还是存在的,如怎样判断分数控制题10道题,怎样控制进行加法还是减法运算for(a=rand()%51,b=rand()%51;a+b50|a+b50|a-b50 | a+b50 | a-b0;a,b两数的和,差大于0小于50,确保算式没有

18、超出12年级水平,只允许进行50以内的加减法,不允许两数之和或之差超出050的范围,负数更是不允许的;统计三次做对题的个数,那么答错题的个数10-zen,而答题的正确率为得分除以100乘以100%,把各个细节问题解决了就能完成这个程序! 四 课程设计感想这次课设使我受益匪浅,得以把以前学的凌乱知识点综合运用起来,对C+编程也有了更深一步的体会,同时感到综合运用知识还有一定的困难,发现自己有一些基础知识还不很扎实,需要勤加训练,加强记忆。在近三周的编程中我学到了很多,平时学习中不注意的细节,在这次编程中深切体会到它的重要性。对编程中错误的自我更正,增强了自我调试程序,解决问题的能力。总之,本次课

19、设为我们提供了一个检测学习,锻炼能力,认识不足的平台,很高兴能有这样一个机会锻炼自我! 小学生测验在很多情况下,特别是在众多的科学研究领域中,一个时间跨度较大的程序是很有参考价值的。C+面向对象程序设计语言充分发挥了其自身无与伦比的优越性,用极短的程序文本填补了这一领域的空白,同时用铁的事实强有力的告诉世人:C+面向对象程序设计语言作为计算机语言家族的新生事物,其发展前景是极为广阔的。 经过上一个学期对C+面向对象程序设计的学习,我们学习了理论知识,了解了C+语言程序设计的思想,这些知识都为我们的下一步学习打下了坚实的基础。通过课程设计,一方面是为了检查我们一个学期来我们学习的成果,另一方面也

20、是为了让我们进一步的掌握和运用它,同时也让我们认清自己的不足之处和薄弱环节,加以弥补和加强。在编写程序过程中也体会到了做事情一顶要细心、认真。更加知道了要掌握好基础知识。还有体会到了成功的感觉!在的设计过程中更加体会到了团队合作的重要性,“一个诸葛亮比不上三个臭皮匠。”知道了只有团队合作才会更好的完成设计!也体会到以后在工作中团队合作的必要性和重要性!通过本项课程设计也培养了我独立思考、 综合运用所学有关相应知识的能力,掌握 工程软件设计的基本方法,强化上机动手编程能力,闯过理论与实践相结合的难关!由于C+语言是国内外得到迅速推广应用的一种语言。C+语言功能丰富,表达能力强,使用灵活方便,应用

21、面广,目标程序效率高,可移植性好,既具有高级语言的优点,又具有低级语言的许多特点。通过这次的c+语言程序设计更加了解了c+语言的好处和其可用性! 在这次课程设计中也知道了自己的动手能力不强有待进一部的提高!在设计过程中不能够把书本上的知识与实践相结合,这也就增加了设计不好该程序的想法!在设计过程中的一次次设计错误增加了我放弃的想法!不过经过大家的努力终于完成了课程设计!完成该程序后想起自己以前的每一次对自己失去信心,就觉得并不是在知识掌握上打败了,而是自己对自己缺乏信心!只要自己对自己不失去信心相信就可以完成那些以前认为完成不了的事情!也让我懂得了要想成功首先就必须有很强的自信心!懂得了自己以

22、后要在做任何事情时都要自信!当自己都不相信自己能够成功时还可能会获得成功吗? 在C+语言程序设计的过程中也知道了自己在以前的学习中有很大的不足导致在设计过程中出现了很多的问题,有些地方看不懂也不知道怎么去设计,但是在设计过程中也学习了很多,掌握了自己以前没有学好的知识,虽然一时可以掌握完以前没有学好的知识,不过也给自己敲响了警钟,在学习中不可以伏于表面,要想学好每一门课程都要踏踏实实,做什么都不是给别人看的!都是要更好的掌握该门知识,提高自己的自身的修养,提高自己的能力!为以后的工作打下良好的知识基础和技能基础!五参考文献1.C程序设计第二版谭浩强编著 北京:清华大学出版社,19992 C+程

23、序设计教程 第二版 钱能编著 3 电脑知识与技术学术交流版(备注:来自网络资源)六程序代码 #include#include#include /用到了time函数,所以要有这个头文件#include/用到了srand函数,所以要有这个头文件using namespace std;class STUDENT /定义一个STUDENT类 private: int Num;/学号 char Name10;/姓名 int Score;/成绩public: void Input();/信息输入 void Output();/输出成绩 void Add(); void Sub(); v oid AddSu

24、b(); void Test();/进行选择,是加法,减法,还是都有;void main() cout 一二年级测试题 endlendl; cout*小学数学测试软件* endl; cout 计科0811 张彩娟 学号:35号 endl; cout* n; STUDENT student; /定义一个对象 while(1) student.Input();/信息输入 student.Test();/进行选择,是加法,减法,还是都有 coutch; if(ch=n|ch=N) break; /=void STUDENT:Input() coutNum; coutName; cout*endl;/

25、=void STUDENT:Test() cout请选择测试项目,加法请按 1 ,减法请按 2 ,混合运算请按任意数字键。Stest; switch(Stest) case 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=

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1