欢迎来到天天文库
浏览记录
ID:40651917
大小:171.00 KB
页数:11页
时间:2019-08-05
《英语46级判卷系统》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《C++程序设计》实验报告一实验内容:英语46级判卷系统学号: 姓名: 一、上机实验的问题和要求(需求分析):题目;英语46级判卷系统要求:实现英语46级选择题的判断人数支持40-50人,题目40-60道输出学生答案,输出成绩、评分,并判断试卷难易等。二、程序设计的基本思想,原理和算法描述:基本思想:构造一个学生类,类包过静态数据:学生学号(number)、答案数组(select[])、分数(score)和成绩评分(grade)。和一些函数:构造函数Student()、显示学生成绩的函数show()、比较函数ju
2、dge(chara[])、成绩评分函数setGrade()、显示学生答案函数showSlect()、获取成绩评分函数getGrade(),利用这些函数去实现要求。实现功能特色:1.采用菜单方式方便用户操作2.方便查看采用随机函数产生学生答案也可手动输入(手动部分在代码部分已经注释掉)3.人数支持很多设置的最大为1000个,学生信息输入支持分多次存入随机产生标准答案并输出创建学生对象数组输入学生个数原理:与标准答案比较得出分数初始化学生信息输出学生答案根据学生的评分分布判断试卷难易得出试卷分析输出学生成绩和评分重要算法描述:1,for(inti=0;i<50;i
3、++){select[i]=rand()%4+'a';}利用随机函数rand()产生随机数,再对这个随机数除4求余再加上字符a,得出abcd四个字符2.for(inti=0;i<50;i++){if(select[i]==a[i])k++;}将学生答案与标准答案一一比较若一样则使正确答案个数加一,根据正确答案数算出成绩3.for(inti=1;i<=50;i++){cout<
4、式输入成绩要输入大量的数据,会因为输出错误而重新输入,解决措施:学生成绩也加入随机函数产生答案方式。2:问题:随机函数产生的学生答案一样解决措施:加入静态变量snumber作为srand()函数的初值,每调用一次加一;3.问题:string类型学号不能随机产生采取措施:加入静态变量snumber使初值snumber=1000,1000作为学号初值,然后snumber++;std::stringstreamss;std::stringstr;ss<>str;将int型snumber转化成string最后赋值给number,number=s
5、tr;4.问题:每次调用操作2后对象数组的都被重新初始化采取措施:采用循环for(inti=n;i#include#include#includeusingnamespacestd;classStudent{public:Student();voidshow();voidjudge(chara[]);voidsetGrade();stringgetGrade(){retu
6、rngrade;};voidshowSlect();private:stringnumber;stringname;charselect[60];intscore;stringgrade;};staticintsnumber=1000;Student::Student(){//手动输入答案/*score=0;cout<<"请输入4位学号:";cin>>number;score=0;cout<<"请输入10个听力题答案:";for(inti=0;i<10;i++){cin>>select[i];}cout<<"请输入20个单项选择答案:";for(inti=10
7、;i<30;i++){cin>>select[i];}cout<<"请输入20个阅读理解答案:";for(inti=30;i<50;i++){cin>>select[i];}*///随机产生答案score=40;//由于随机产生答案得分在25分左右,为了使得分更真实默认初始分数为40srand(snumber);snumber++;//将int型的值转化为string作为学生学号std::stringstreamss;std::stringstr;ss<>str;number=str;for(inti=0;i<50;i++){selec
8、t[i]=rand()%4+'a';}
此文档下载收益归作者所有