intStest;
cin>>Stest;
switch(Stest)
{
case1:
Add();
Output();
break;
case2:
Sub();
Output();
break;
default:
AddSub();
Output();
break;
}
}
3.1.2.主要完成功能为:
当用户输入自己的学号以及姓名开始使用本系统,进入登陆模块。
屏幕显示菜单提示,用户可根据需要选择相应功能。
具体如下:
请选择测试项目,加法请按1,减法请按2,混合运算请按任意键]。
3.1.3.主要使用思想:
在main()主函数中定义STUDENTstudent对象[2],并调用student.Input();信息输入,student.Test();进行选择,是加法,减法,还是加减法都有,在登录模块程序采用了调用以及输入输出函数!
关键代码STUDENTstudent;//定义一个对象[2]
while
(1)
{student.Input();//信息输入
student.Test();//进行选择,是加法,减法,还是都有
cout<<"doyouwanttocontinue?
(Y/N)";
charch;
cin>>ch;
if(ch=='n'||ch=='N')
break;}
3.2加法运算模块
3.2.1.主要完成功能为:
当用户选择了1加法测试,屏幕随机出现10道加法测试题进行计算。
3.2.2.主要使用思想:
当用户选择1进行加法计算时,则选择了STUDENT:
:
add()函数for(inti=1;i<=10;i++)函数控制题10道题,for(a=rand()%51,b=rand()%51;a-b>50||a-b<0;a=rand()%51,b=rand()%51产生)随机数的函数rand,rand()%51是产生的随机数都小于50,a+b>50||a+b<0,a,b两数的和大于0小于50,确保算式没有超出1~2年级水平,只允许进行50以内的加减法,不允许两数之和或之差超出0~50的范围,负数更是不允许的;再用for(intj=1;j<=3;j++)控制三次答题机会,如果第一次学生答题错误系统会提示还有答题错误,还有俩次机会,否则就给出第一次答题正确的分数10分,如果第二次学生答题错误系统会提示还有答题错误,还有一次机会,否则就给出第三次答题正确的分数7分,如果第三次学生答题错误系统会提示还有答题错误,没有做题机会,系统给出正确的答案,否则就给出第三次答题正确的分数5分,实现这几部很简单采用了if,else语句判断,score[i]!
=trueValue当输入值等于正确答案时,走else语句判断得分情况,否则给出答题机会;每次做对一题flag=1,统计做对题的个数zen=zen+flag;sum统计的分情况sum=sum+score[i];当第一次做对题则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进行加法计算时,则选择了STUDENT:
:
Sub()[2]函数for(inti=1;i<=10;i++)函数控制题10道题,for(a=rand()%51,b=rand()%51;a-b>50||a-b<0;a=rand()%51,b=rand()%51产生)随机数的函数rand[3],rand()%51是产生的随机数都小于50,a-b>50||a-b<0,a,b两数的差大于0小于50,确保算式没有超出1~2年级水平,只允许进行50以内的加减法,不允许两数之和或之差超出0~50的范围,负数更是不允许的;再用for(intj=1;j<=3;j++)控制三次答题机会,如果第一次学生答题错误系统会提示还有答题错误,还有俩次机会,否则就给出第一次答题正确的分数10分,如果第二次学生答题错误系统会提示还有答题错误,还有一次机会,否则就给出第三次答题正确的分数7分,如果第三次学生答题错误系统会提示还有答题错误,没有做题机会,系统给出正确的答案,否则就给出第三次答题正确的分数5分,实现这几部很简单采用了if,else语句判断,score[i]!
=trueValue当输入值等于正确答案时,走else语句判断得分情况,否则给出答题机会;每次做对一题flag=1,统计做对题的个数zen=zen+flag;sum统计的分情况sum=sum+score[i];当第一次做对题则first=1表示仅一次做对题,first1=first1+first;统计仅一次做对题的个数,second表示俩次做对题,second1=second1+second统计俩次做对题的个数,third表示三次做对题third1=third1+third;统计三次做对题的个数,那么答错题的个数10-zen,而答题的正确率为得分除以100乘以100%,
3.4加减混合运算模块
3.4.1.主要完成功能为:
当用户选择了其它任意数字键加减混合法测试,屏幕随机出现10道加减法测试题进行计算。
3.4.2主要使用思想:
当用户选择1进行加法计算时,则选择了STUDENT:
:
add()函数[2]for(inti=1;i<=10;i++)函数控制题10道题,c=rand()%3[3],控制进行加法还是减法运算for(a=rand()%51,b=rand()%51;a+b>50||a+b<0||a-b>50||a-b<0;a=rand()%51,b=rand()%51)产生)随机数的函数rand[3],rand()%51是产生的随机数都小于50,a+b>50||a+b<0||a-b>50||a-b<0;a,b两数的和,差大于0小于50,确保算式没有超出1~2年级水平,只允许进行50以内的加减法,不允许两数之和或之差超出0~50的范围,负数更是不允许的;再用for(intj=1;j<=3;j++)控制三次答题机会,如果第一次学生答题错误系统会提示还有答题错误,还有俩次机会,否则就给出第一次答题正确的分数10分,如果第二次学生答题错误系统会提示还有答题错误,还有一次机会,否则就给出第三次答题正确的分数7分,如果第三次学生答题错误系统会提示还有答题错误,没有做题机会,系统给出正确的答案,否则就给出第三次答题正确的分数5分,实现这几部很简单采用了if,else语句判断,score[i]!
=trueValue当输入值等于正确答案时,走else语句判断得分情况,否则给出答题机会;每次做对一题flag=1,统计做对题的个数zen=zen+flag;sum统计的分情况sum=sum+score[i];当第一次做对题则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使用软件:
MicrosoftVisualC++6.0
四.课程设计感想
这次课设使我受益匪浅,得以把以前学的凌乱知识点综合运用起来,对C++编程也有了更深一步的体会,同时感到综合运用知识还有一定的困难,发现自己有一些基础知识还不很扎实,需要勤加训练,加强记忆。
在近三周的编程中我学到了很多,平时学习中不注意的细节,在这次编程中深切体会到它的重要性。
对编程中错误的自我更正,增强了自我调试程序,解决问题的能力。
总之,本次课设为我们提供了一个检测学习,锻炼能力,认识不足的平台,很高兴能有这样一个机会锻炼自我!
小学生测验在很多情况下,特别是在众多的科学研究领域中,一个时间跨度较大的程序是很有参考价值的。
C++面向对象程序设计语言充分发挥了其自身无与伦比的优越性,用极短的程序文本填补了这一领域的空白,同时用铁的事实强有力的告诉世人:
C++面向对象程序设计语言作为计算机语言家族的新生事物,其发展前景是极为广阔的。
经过上一个学期对《C++面向对象程序设计》的学习,我们学习了理论知识,了解了C++语言程序设计的思想,这些知识都为我们的下一步学习打下了坚实的基础。
通过课程设计,一方面是为了检查我们一个学期来我们学习的成果,另一方面也是为了让我们进一步的掌握和运用它,同时也让我们认清自己的不足之处和薄弱环节,加以弥补和加强。
在编写程序过程中也体会到了做事情一顶要细心、认真。
更加知道了要掌握好基础知识。
还有体会到了成功的感觉!
在的设计过程中更加体会到了团队合作的重要性,“一个诸葛亮比不上三个臭皮匠。
”知道了只有团队合作才会更好的完成设计!
也体会到以后在工作中团队合作的必要性和重要性!
通过本项课程设计也培养了我独立思考、综合运用所学有关相应知识的能力,掌握工程软件设计的基本方法,强化上机动手编程能力,闯过理论与实践相结合的难关!
由于C++语言是国内外得到迅速推广应用的一种语言。
C++语言功能丰富,表达能力强,使用灵活方便,应用面广,目标程序效率高,可移植性好,既具有高级语言的优点,又具有低级语言的许多特点。
通过这次的c++语言程序设计更加了解了c++语言的好处和其可用性!
在这次课程设计中也知道了自己的动手能力不强有待进一部的提高!
在设计过程中不能够把书本上的知识与实践相结合,这也就增加了设计不好该程序的想法!
在设计过程中的一次次设计错误增加了我放弃的想法!
不过经过大家的努力终于完成了课程设计!
完成该程序后想起自己以前的每一次对自己失去信心,就觉得并不是在知识掌握上打败了,而是自己对自己缺乏信心!
只要自己对自己不失去信心相信就可以完成那些以前认为完成不了的事情!
也让我懂得了要想成功首先就必须有很强的自信心!
懂得了自己以后要在做任何事情时都要自信!
当自己都不相信自己能够成功时还可能会获得成功吗?
在C++语言程序设计的过程中也知道了自己在以前的学习中有很大的不足导致在设计过程中出现了很多的问题,有些地方看不懂也不知道怎么去设计,但是在设计过程中也学习了很多,掌握了自己以前没有学好的知识,虽然一时可以掌握完以前没有学好的知识,不过也给自己敲响了警钟,在学习中不可以伏于表面,要想学好每一门课程都要踏踏实实,做什么都不是给别人看的!
都是要更好的掌握该门知识,提高自己的自身的修养,提高自己的能力!
为以后的工作打下良好的知识基础和技能基础!
五.参考文献
谭浩强.C++程序设计清华大学出版社2006
郑振杰.C++程序设计北京:
人民邮电出版社,2005
柴欣,C/C++程序设计河北大学出版社,2002
余苏宁、王明福,C++程序设计北京:
高等教育出版社,2003
吕凤翥.C++语言程序设计(第2版).电子工业出版社,2007.2
李云清、杨庆红、揭安全.数据结构[M].人民邮电大学出版社,2004.6
六.附件(程序代码)
#include
#include
#include//用到了time函数,所以要有这个头文件
#include//用到了srand函数,所以要有这个头文件
usingnamespacestd;
classSTUDENT//定义一个STUDENT类
{private:
charNum[20];//学号
charName[10];//姓名
intage;//年龄
intScore;//成绩
public:
voidInput();//信息输入
voidOutput();//输出成绩
voidAdd();
voidSub();
voidAddSub();
voidTest();//进行选择,是加法,减法,还是都有
};
voidmain()
{cout<<"**************************************************\n";
cout<<"*☆☆☆☆☆☆☆小学数学测试软件☆☆☆☆☆☆☆☆☆*"<cout<<"一二年级测试题"<cout<<"(DesignedbyCMG)"<cout<<"*☆☆☆☆☆☆☆小学数学测试软件☆☆☆☆☆☆☆☆☆*"<cout<<"**************************************************\n";
STUDENTstudent;//定义一个对象
while
(1)
{student.Input();//信息输入
student.Test();//进行选择,是加法,减法,还是都有
cout<<"doyouwanttocontinue?
(Y/N)";
charch;
cin>>ch;
if(ch=='n'||ch=='N')
break;
}}
//=====================================================================
voidSTUDENT:
:
Input()
{cout<<"请输入你的学号:
";
cin>>Num;
cout<<"请输入你的姓名:
";
cin>>Name;
cout<<"请输入你的年龄:
";
cin>>age;
cout<<"**************************************************"<}
//=====================================================================
voidSTUDENT:
:
Test()
{cout<<"请选择测试项目:
加法请按1,减法请按2,混合运算请按其他任意数字键..."<intStest;
cin>>Stest;
switch(Stest)
{case1:
Add();
Output();
break;
case2:
Sub();
Output();
break;
default:
AddSub();
Output();
break;
}}
//=====================================================================
voidSTUDENT:
:
Add()//加法运算
{inta,b,