您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 绩效管理 > c++课程设计报告模板
成绩课程名称:C++课程设计设计题目:输入一批学生某门课程考试的各题分数,计算每个人的总分,统计各分数段0-49、50-59、60-69、70-79、80-89、90-100的人数及占总人数的百分比姓名:王丹学号:1108020204专业班级:网络1102班完成日期:2012年06月25日1设计任务1.1设计目的输入一批学生某门课程考试的各题分数,计算每个人的总分,统计各分数段0-49、50-59、60-69、70-79、80-89、90-100的人数及占总人数的百分比。1.2设计内容输入一批学生某门课程考试的各题分数,计算每个人的总分,统计各分数段0-49、50-59、60-69、70-79、80-89、90-100的人数及占总人数的百分比。要求输入:课程名称,考试日期,学生班号,学生姓名,学号,课程考试得分。要求输出:课程名称,考试日期,学生班号;各分数段的人数及百分比。1.3设计指标或者要求要求输入:课程名称,考试日期,学生班号,学生姓名,学号,课程考试得分。要求输出:课程名称,考试日期,学生班号;各分数段的人数及百分比。2设计过程2.1程序功能输入一批学生某门课程考试的各题分数,计算每个人的总分,统计各分数段0-49、50-59、60-69、70-79、80-89、90-100的人数及占总人数的百分比。2.2算法原理2.3程序流程图如图2—3(右图)(图2—3)开始Flag1=1输入时间(年,月、日)输入学生信息输入各题成绩0总成绩100各分数段人数百分比Flag1=1结束否否是2.4程序主要模块或者函数classCourse{//Course类的定义public:voidsetTime(intnewY=0,intnewM=0,intnewD=0){year=newY;month=newM;day=newD;}intgetYear(){returnyear;}intgetMonth(){returnmonth;}intgetDay(){returnday;}voidsetName(stringcName){courseName=cName;}stringgetName(){returncourseName;}private:stringcourseName;intyear;intmonth;intday;//intrecord;};/************************************************************类名:Student函数:setName()getName()等************************************************************/classStudent{//Course类的友元类Friend类的定义public:voidsetName(stringsName){studentName=sName;}stringgetName(){returnstudentName;}voidsetId(stringId){studentId=Id;}stringgetId(){returnstudentId;}voidsetGrade(stringgrade){studentGrade=grade;}stringgetGrade(){returnstudentGrade;}voidsetRecord(intrecord_0=0,intrecord_1=0,intrecord_2=0,intrecord_3=0,intrecord_4=0){studentRecord=record_0+record_1+record_2+record_3+record_4;}intgetRecord(){returnstudentRecord;}private:stringstudentName;stringstudentId;stringstudentGrade;intstudentRecord;};/********************************************************函数名:main()返回值:int********************************************************/intmain(){intcount_0=0;//各分数段人数为零intcount_1=0;intcount_2=0;intcount_3=0;intcount_4=0;intcount_5=0;intcount_6=0;intflag1=1;intstudentNum;//学生人数intarr;//各分数段学生人数stringcName;//课程名称stringsName;//学生姓名intday,month,year;//考试时间stringId;//学生学号stringgrade;//学生班级intrecord_0,record_1,record_2,record_3,record_4;//各题分数charpd;//是否继续cout----------------------学生成绩管理系统--------------------------endl;//学生成绩管理系统while(flag1){Coursecourse;//定义对象courseStudentstudent[100];//定义对象studentcout请输入课程名:\t;cincName;course.setName(cName);cout请输入班级人数:\t;cinstudentNum;cout请输入考试时间(年):;cinyear;intflag;//判断输入时间(年)是否为闰年if(year%400==0||(year%4==0&&year%100!=0)){cout闰年endl;flag=1;}else{cout不是闰年;flag=0;}cout请输入考试时间(月):;//输入考试时间(年)cinmonth;while(month12||month0){//判断月份输入是否正确cout月份输入错误,请重新输入endl;cout请输入考试时间(月):;cinmonth;}cout请输入考试时间(日):;//输入考试时间(日)cinday;switch(month){//每月有31天的月份case1:case3:case5:case7:case8:case10:case12:{while(day0||day31){//判断日期输入是否正确cout日期输入错误,请重新输入endl;cout请输入考试时间(日):;cinday;}}break;case4://每月有30天的月份case6:case9:case11:{while(day0||day30){//判断日期输入是否正确cout日期输入错误,请重新输入endl;cout请输入考试时间(日):;cinday;}}break;case2:{//判断2月的天数switch(flag){case1:{//非闰年2月日期输入if(day0||day29){//判断日期输入是否正确cout日期输入错误,请重新输入endl;cout请输入考试时间(日):;cinday;}}break;case0:{//闰年2月日期输入if(day0||day28){//判断时期输入是否正确cout日期输入错误,请重新输入endl;cout请输入考试时间(日):;cinday;}}break;}}break;}course.setTime(year,month,day);//访问类Course的对象course的函数成员setTime()for(arr=0;arrstudentNum;arr++){//学生相关信息的输入cout请输入第arr+1个学生姓名:\t;cinsName;student[arr].setName(sName);cout请输入学生学号:\t;cinId;student[arr].setId(Id);cout请输入学生班级:\t;cingrade;student[arr].setGrade(grade);cout请输入第一题得分:\t;cinrecord_0;cout请输入第二题得分:\t;cinrecord_1;cout请输入第三题得分:\t;cinrecord_2;cout请输入第四题得分:\t;cinrecord_3;cout请输入第五题得分:\t;cinrecord_4;student[arr].setRecord(record_0,record_1,record_2,record_3,record_4);//学生各题得分count_0+=student[arr].getRecord();//学生各题得分累加while(student[arr].getRecord()0||student[arr].getRecord()100){//判断学生输入是否正确cout\t\t\t第arr+1个同学成绩输入错误,请重新输入endl;cout请输入第一题得分:\t;cinrecord_0;cout请输入第二题得分:\t;cinrecord_1;cout请输入第三题得分:\t;cinrecord_2;cout请输入第四题得分:\t;cinrecord_3;cout请输入第五题得分:\t;cinrecord_4;student[arr].setRecord(record_0,record_1,record_2,record_3,record_4);}switch((student[arr].getRecord()/10)){//各分数段人数统计case0:case1:case2:case3:case4:{count_1++;}break;//0-49分数段人数case5:{count_2++;}break;//50-59分数段人数case6:{count_3++;}break;//60-69分数段人数case7:{count_4++;}break;//70-79分数段人数case8:{count_5++;}break;//80-89分数段人数case9:{count_6++;}break;//90-100分数段人数}}cout-------------------------------------------------endl;cout课程名\tcourse.getName()\t考试人数studentNum\t时间course.getYear()-course.getMonth()-course.getDay()endl;cout-------------------------------------------------endl;cout姓名\t学号\t班级\t成绩endl;for(arr=0;arrstudentNum;arr++){//各分数段人数累加cout-------------------------------------------------endl;coutstudent[arr].getName()\t;coutstudent[arr].getId()\t;coutstudent[arr].getGrade()\t;coutstudent[arr].getRecord()\t;coutendl;}cout------------------------------------------------
本文标题:c++课程设计报告模板
链接地址:https://www.777doc.com/doc-2904402 .html