已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C+程序设计实验报告一实验内容: 英语46级判卷系统 学号: 姓名: 1、 上机实验的问题和要求(需求分析):题目;英语46级判卷系统 要求:实现英语46级选择题的判断 人数支持40-50人,题目40-60道 输出学生答案,输出成绩、评分,并判断试卷难易等。二、程序设计的基本思想,原理和算法描述:基本思想:构造一个学生类,类包过静态数据:学生学号(number)、答案数组(select )、分数(score)和成绩评分(grade)。和一些函数:构造函数Student()、显示学生成绩的函数show()、比较函数judge(char a)、成绩评分函数setGrade()、显示学生答案函数showSlect()、获取成绩评分函数getGrade(),利用这些函数去实现要求。实现功能特色:1.采用菜单方式方便用户操作 2.方便查看采用随机函数产生学生答案也可手动输入(手动部分在代码部分已经注释掉) 3.人数支持很多设置的最大为1000个,学生信息输入支持分多次存入随机产生标准答案并输出创建学生对象数组输入学生个数原理:与标准答案比较得出分数初始化学生信息输出学生答案根据学生的评分分布判断试卷难易得出试卷分析输出学生成绩和评分重要算法描述:1,for(int i=0;i50;i+)selecti=rand()%4+a;利用随机函数rand()产生随机数,再对这个随机数除4求余再加上字符 a ,得出abcd四个字符2. for(int i=0;i50;i+) if(selecti=ai) k+; 将学生答案与标准答案一一比较若一样则使正确答案个数加一,根据正确答案数算出成绩3. for(int i=1;i=50;i+) coutbi-1; 一个一个的输出答案if(i%5=0) 利用求余每输出5个cout ; 输出一个空格 使结果利于观看三、调试和运行程序过程中产生的问题及采取的措施:1:问题:采用输入的方式输入成绩要输入大量的数据,会因为输出错误而重新输入, 解决措施:学生成绩也加入随机函数产生答案方式。2:问题:随机函数产生的学生答案一样解决措施:加入静态变量snumber作为srand()函数的初值,每调用一次加一;3.问题:string类型学号不能随机产生采取措施:加入静态变量snumber使初值snumber=1000,1000作为学号初值,然后snumber+; std:stringstream ss; std:string str;ssstr; 将int型snumber转化成 string 最后赋值给number ,number=str;4. 问题:每次调用操作2后对象数组的都被重新初始化 采取措施:采用循环for(int i=n;in+l;i+) 本次要输入的学生人数为 l,到现在为止总人数为n,循环后 n=n+l;四、源程序及注释代码#include#include#include #include using namespace std; class Studentpublic:Student();void show();void judge(char a); void setGrade(); string getGrade()return grade; void showSlect(); private:string number;string name;char select60;int score; string grade;static int snumber=1000;Student:Student()/手动输入答案 /*score=0;coutnumber;score=0;cout请输入10个听力题答案:;for(int i=0;iselecti;cout请输入20个单项选择答案:;for(int i=10;iselecti;cout请输入20个阅读理解答案:;for(int i=30;iselecti;*/ /随机产生答案 score=40;/由于随机产生答案得分在25分左右,为了使得分更真实默认初始分数为40 srand(snumber); snumber+; /将int型的值转化为string 作为学生学号 std:stringstream ss; std:string str; ssstr; number=str; for(int i=0;i50;i+) selecti=rand()%4+a; /比较函数,与正确答案比较 void Student:judge(char a)int k=0;for(int i=0;i50;i+)if(selecti=ai)k+;score+=k*2;/不同的分数不同的等级 void Student:setGrade()if(score=90)grade=优秀;else if(score=70) grade=良好;else if(score=60)grade=及格;else if(score60) grade=不及格; void Student:show()coutnumber score gradeendl;void Student:showSlect()coutnumber:答案:;for(int i=1;i=50;i+)coutselecti-1;if(i%5=0)cout ;coutendl;int main()int l,n=0,m;cout*endl;cout* *英语46级判卷系统* *endl; cout*endl;cout* 1.-查看标准答案-endl; cout* 2.-录入学生答案-endl; cout* 3.-查询学生答案-endl; cout* 4.-查询学生成绩-endl; cout* 5.-查看试卷分析-endl; cout* 0.-退出系统-endl; cout*endl;srand(1);char b50; for(int i=0;i50;i+)/标准答案为随机产生 bi=rand()%4+a; Student* student1000; while(1) coutm; switch(m) case 1 :cout标准答案:; for(int i=1;i=50;i+) coutbi-1; if(i%5=0) cout ; coutendl; break; case 2: coutl; for(int i=n;in+l;i+) studenti=new Student(); for(int i=n;ijudge(b); studenti-setGrade();n=n+l;break; case 3: if(n=0) cout未输入学生答案,请先输入学生答案。endl; else cout*endl;for(int i=0;ishowSlect(); cout*endl; break;case 4 :if(n=0) cout未输入学生答案,请先输入学生答案。 endl; else cout*endl;cout学号 成绩 评分 endl; for(int i=0;ishow(); cout*endl; break; case 5 : if(n=0) cout未输入学生答案,请先输入学生答案。 endl; else int a=0,b=0,c=0,d=0; for(int i=0;igetGrade()=优秀) a+; else if(studenti-getGrade()=良好) b+; else if(studenti-getGrade()=及格) c+; else if(studenti-getGrade()=不及格) d+;cout*endl; cout试卷分析endl; cout总人数: nendl; cout优秀: aendl;cout良好: bendl;cout及格: cendl;cout不及格: dc+d)/如
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年4月广西梧州市苍梧县城镇公益性岗位人员招聘2人备考题库及答案详解(新)
- 2026广东广州南沙人力资源发展有限公司现向社会招聘编外人员备考题库含答案详解(考试直接用)
- 2026重庆大学输变电装备技术全国重点实验室劳务派遣科研助理招聘2人备考题库带答案详解(基础题)
- 2026春季广西百色市西林县国控林业投资有限公司招聘编外人员4人备考题库及答案详解【各地真题】
- 2026贵州黔南州荔波县事业单位引进高层次人才和急需紧缺专业人才18人备考题库及一套完整答案详解
- 2026年岗前培训心得体会收费岗高频考点
- 2026华侨城集团春季校园招聘备考题库含答案详解(预热题)
- 2026广东惠州市博罗县榕盛城市建设投资有限公司下属全资子公司招聘4人备考题库及答案详解一套
- 2026山西农业大学招聘博士研究生116人备考题库及答案详解(全优)
- 2026黑龙江哈尔滨工业大学机电工程学院机械设计系招聘备考题库带答案详解(能力提升)
- (正式版)DB42∕T 2413-2025 《退役军人志愿服务队伍建设与管理规范》
- JJF(晋) 150-2025 肠内营养泵校准规范
- 饲料标签培训
- 《公路雪害防治技术指南》
- 转租鱼塘合同协议书范本
- 《医学影像检查技术学》课件-口腔X线摄影
- 委托书代办发工资范本
- 2024低温阀门深冷处理规范
- 房屋抵押个人借款协议样式
- 2023年新高考河北卷政治高考真题解析(参考版)
- 部编人教版四年级下册小学数学全册课时练(一课一练)
评论
0/150
提交评论