一个简单的学生成绩管理系统的设计与实现.docx
- 文档编号:12026434
- 上传时间:2023-04-16
- 格式:DOCX
- 页数:15
- 大小:17.63KB
一个简单的学生成绩管理系统的设计与实现.docx
《一个简单的学生成绩管理系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《一个简单的学生成绩管理系统的设计与实现.docx(15页珍藏版)》请在冰豆网上搜索。
一个简单的学生成绩管理系统的设计与实现
一个简单的学生成绩管理系统的设计与实现一、总体功能
1〉每个学生学习三门课程:
数学,物理,化学
2〉以班为单位组织学生
3〉系统能够接收输入的*班每个学生所学习的三门课程成绩
4〉系统能够根据用户要求按升序或降序输出*班学生各门课的成绩
5〉能统计并输出系统中共有多少个班
2、工程任务
3〉学生类和班类的关系的设计与实现
要求:
给出学生类和班类关系的模型和实现构造
二、
本程序有如下类:
1、classTStudent//学生类
2、TSubjectsu;//等等
3、classTSubject//科目类
4、classTSort//排序类
分析
1、group(intnum_class,studentstu)//构造函数,初始化班号以及录入第一个学生
2、voidAddStu(studentstu)//录入学生操作
{
3、studentFindMa*(vector
4、voidSortStu(intinde*)//inde*决定是根据哪一科成绩来对学生进展排序取值为1~3排序
stu_list.push_back(ma*_temp);
//接下来删除已经找过的学生
5、
voidoutput(intinde*)//inde*决定是升序还是降序输出0升序,1降序
6、
for(inti=0;i 7、(class_s==Groups[i].GetClassnum())//班级存在 8、(class_e*ist==0)//班级不存在则创立班级 9、班类和学生类大致实现框架 //lass.h: interfacefortheClassclass. // ////////////////////////////////////////////////////////////////////// #if! defined(AF*_LASS_H__AA18E718_A5A5_47DE_B8A2_E6401CBEE93F__INCLUDED_) #defineAF*_LASS_H__AA18E718_A5A5_47DE_B8A2_E6401CBEE93F__INCLUDED_ #if_MSC_VER>1000 #pragmaonce #endif//_MSC_VER>1000 classClass { public: Class(); virtual~Class(); }; #endif//! defined(AF*_LASS_H__AA18E718_A5A5_47DE_B8A2_E6401CBEE93F__INCLUDED_) 三、主函数实现 #include #include #include #include #include usingnamespacestd; classstudent { public: student(std: : stringna,intma,intpy,intch,intclass_s) { name=na; score[0]=ma; score[1]=py; score[2]=ch; class_num=class_s; } intGetClass() { returnclass_num; } std: : stringgetname() { returnname; } intgetmath() { returnscore[0]; } intgetpyth() { returnscore[1]; } intgetche() { returnscore[2]; } int*GetScore() { returnscore; } voidSetName(stringname_s) { name=name_s; } voidSetMath(intmath_s) { score[0]=math_s; } voidSetPyth(intpyth_s) { score[1]=pyth_s; } voidSetChe(intche_s) { score[2]=che_s; } voidSetClass(intclass_s) { class_num=class_s; } private: std: : stringname; intclass_num; intscore[3]; }; classgroup { public: group(intnum_class,studentstu)//构造函数,初始化班号以及录入第一个学生 { classnum=num_class; stu_list.push_back(stu); } voidAddStu(studentstu)//录入学生操作 { stu_list.push_back(stu); } studentFindMa*(vector { studentMA*(temp[0].getname(),temp[0].getmath(),temp[0].getpyth(),temp[0].getche(),temp[0].GetClass()); for(inti=0;i {int*l1=temp[i].GetScore(); int*l2=MA*.GetScore(); if((*(l1+inde*-1))>(*(l2+inde*-1))) { MA*.SetName(temp[i].getname()); MA*.SetMath(temp[i].getmath()); MA*.SetPyth(temp[i].getpyth()); MA*.SetChe(temp[i].getche()); MA*.SetClass(temp[i].GetClass()); } } returnMA*; } voidSortStu(intinde*)//inde*决定是根据哪一科成绩来对学生进展排序取值为1~3排序方法为 { intsize=stu_list.size();//班级中现有学生总数 vector vector stu_list.clear(); for(inti=0;i { studentma*_temp=FindMa*(temp_list,inde*); stu_list.push_back(ma*_temp); //接下来删除已经找过的学生 for(intj=0;j { if(ma*_temp.GetClass()==temp_list[j].GetClass()&&ma*_temp.getname()==temp_list[j].getname() &&ma*_temp.getmath()==temp_list[j].getmath()&&ma*_temp.getpyth()==temp_list[j].getpyth() &&ma*_temp.getche()==temp_list[j].getche() ) continue; else temp_list2.push_back(temp_list[j]); } temp_list.clear(); temp_list=temp_list2; temp_list2.clear(); } } voidoutput(intinde*)//inde*决定是升序还是降序输出0升序,1降序 { if(inde*==0) { for(inti=0;i { cout<<"班级: "< "< "数学: "< "< "< } } else { for(inti=stu_list.size()-1;i>(-1);i--) { cout<<"班级: "< "< "数学: "< "< "< } } } intGetClassnum() { returnclassnum; } private: intclassnum; vector }; voidmain() { vector intoperation; charinputflag; intclass_num; stringname; intmath,phy,che; studentSTU("none",0,0,0,0); intrun=1; while(run) {cout<<"系统中共有"< cout<<"\t\t请选择操作类型: 录入信息请按1"< cout<<"\t\t从文本直接读入数据请按5"< cin>>operation; switch(operation) { case1: while (1) { cout<<"\t\t请输入学生班级"< "< cout<<"\t\t请输入学生**"< "< cout<<"\t\t请输入数学成绩: "< "<
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 一个 简单 学生 成绩管理系统 设计 实现