c学生成绩管理系统.docx
- 文档编号:30057095
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:19
- 大小:16.89KB
c学生成绩管理系统.docx
《c学生成绩管理系统.docx》由会员分享,可在线阅读,更多相关《c学生成绩管理系统.docx(19页珍藏版)》请在冰豆网上搜索。
c学生成绩管理系统
#include
#include
#include
#include
usingnamespacestd;
//声明抽象类Person类
classPerson
{
public:
};
//声明学生信息类
classStudent:
publicPerson
{
public:
Student(){};
~Student(){};
voidsetnumber(intnum){number=num;}
voidsetname(char*n){strcpy(name,n);}
voidsetgrade(char*g){strcpy(grade,g);}
intgetnumber(){returnnumber;}
char*getname(){returnname;}
char*getgrade(){returngrade;}
voidsetstudent()//输入函数
{
cout<<"请输入学生学号:
";//公有继承
Person(){};
~Person(){};
virtualvoidsetperson()=0;
virtualvoidgetperson()=0;//纯虚函数输入信息
//纯虚函数输出信息
cin>>number;
cout<<"请输入学生姓名:
";
cin>>name;
cout<<"请输入学生所在班级:
";
cin>>grade;
}
charname[20];
chargrade[20];//学生姓名
//学生所在班级
private:
};intnumber;//学生学号
//声明成绩类
classScore
{
public:
};
floatScore:
:
total()Score(){};
~Score(){};
voidsetenglish(floatE){english=E;}
voidsetmath(floatM){math=M;}
voidsetphysics(floatP){physics=P;}
voidsetsports(floatS){sports=S;}
voidsetcomputer(floatC){computer=C;}
floatgetmath(){returnmath;}
floatgetphysics(){returnphysics;}
floatgetsports(){returnsports;}
floatgetcomputer(){returncomputer;}
voidsetscore()//输入函数
{
cout<<"请输入英语成绩:
";
cin>>english;
cin>>math;
cout<<"请输入物理成绩:
";
cin>>physics;
cout<<"请输入体育成绩:
";
cin>>sports;
cout<<"请输入C++成绩:
";
cin>>computer;
}
floattotal();
floatenglish;
floatmath;
floatphysics;
floatsports;
floatcomputer;//计算学分绩
floatgetenglish(){returnenglish;}
cout<<"请输入数学成绩:
";
private:
{floatzong;
zong=english*2+math*4+physics*4+sports*1+computer*3;
}
//声明学生成绩信息类
classstuscore:
publicStudent,publicScore
{
public:
};
voidstuscore:
:
setstuscore()
{
}
voidmenu();
intfunc1(stuscorestusco[]);
voidfunc2(stuscorestusco[],intm);
voidfunc3(stuscorestusco[],intm);
voidfunc4(stuscorestusco[],intm);
voidfunc5(stuscorestusco[],intm);
inti=-1;
intf;
intnumber;setstudent();
setscore();//定义输入函数
stuscore(){};
~stuscore(){};
voidsetstuscore();//输入学生成绩信息//多重继承
returnzong/14.0;
voidprintf1(){cout<<""< voidprintf2(){cout<<""< voidprintf3(){cout<<""< voidprinft4(){cout<<""< voidprintf5(){cout<<""< voidprint() }cout<<""< "< charname[20]; floatenglish; floatmath; floatphysics; floatsports; floatcomputer; //主函数 voidmain() { } //主菜单函数 voidmenu() { system("colorD"); cout<<"欢迎进入学生成绩管理系统! "< cout<<"*********************************************************"< cout<<"-------------------学生成绩管理系统----------------------"< cout<<"*********************************************************"< cout<<"*1.学生成绩录入*"< cout<<"*2.学生成绩查询*"< cout<<"*3.学生成绩修改*"< stuscorestusco[20]; intn; menu(); cout<<"请输入菜单选项: "; cin>>n; while (1) { switch(n) { case1: f=func1(stusco);break; case2: func2(stusco,f);break; case3: func3(stusco,f);break; case4: func4(stusco,f);break; case5: func5(stusco,f);break; case7: exit(0); } cout<<"请输入1~7之间的数字"< } }cout<<"*4.单科所有学生成绩查询*"< cout<<"*5.单科成绩统计*"< cout<<"*(平均成绩及各个成绩区间所占比例)*"< cout<<"*6.学生总成绩排名*"< cout<<"*7.退出系统*"< cout< //录入成绩函数 intfunc1(stuscorestusco[]) {charp; do{ } //查询成绩函数 voidfunc2(stuscorestusco[]) { intk; cout<<"--------[1]按姓名查询------------"< cout<<"--------[2]按学号查询------------"< cout<<"请输入查询方式(1或2): "; cin>>k; if(k==1) { charn='y'; intu[10]; while(n=='y') { intj=0; cout<<"请输入要查询的学生姓名: "; cin>>name; intt=0; for(;t if(strcmp(name,stusco[t].getname())==0) i++; stusco[i].setstuscore(); cout<<"输入成功! "; cout<<"是否还要继续输入(继续输入请按y,退出请按n): "< cin>>p; }while(p=='y'); returni+1; {u[j]=t; } {cout<<"没有你要查询的学生名字! ";//没有找到 cin>>n; } for(intb=0;b { if(j<2) { t=u[b]; j++; if(j==0) cout<<"是否退出? 退出请按n"< cout<<"学号"<<"姓名"<<"英语"<<"数学"<<"物理"<<"体育"<<"C++"<<"学分绩"< cout<<" <<" if(k==2) { charn='y'; { intj=0; cout<<"请输入要查询的学生的学号: "; cin>>number; intt=0; while(n=='y')"< "< "< cout<<"是否继续查询(继续请按y,退出按n): "< }cin>>n; }}} } else { t=u[b]; for(;t { if(number==stusco[t].getnumber()) { cout<<"学号"<<"姓名"<<"英语"<<"数学"<<"物理"<<"体育"<<"C++"<<"学分绩"< cout<<""< "< <<""< "< cout<<"是否继续查询(继续请按y,退出按n): "< cin>>n; } else {cout<<"没有你要查询的学生! "; cout<<"是否退出? 退出请按n"< cin>>n; } } } } } //修改信息函数 voidfunc3(stuscorestusco[],intm) { intj=0,b[20],r; intflag; charn='y'; while(n=='y') { cout<<"请输入要修改成绩的学生学号: "; cin>>number; flag=0; intd; for(intt=0;t if(number==stusco[t].getnumber()) do{ b[j]=t; cout<<"请选择要修改的信息: "< cout<<"1.修改英语成绩"< cout<<"3.修改物理成绩"< cout<<"4.修改体育成绩"< cout<<"5.修改C++成绩"< cout<<"请选择1~5之间的数字: "; cin>>d; if(d==1) { } elseif(d==2) { } elseif(d==3) { } elseif(d==4) { } elseif(d==5) { } flag=1; j++; if(flag==0) { cout<<"请输入新的C++成绩: "; cin>>computer; stusco[t].setcomputer(computer); cout<<"请输入新的体育成绩: "; cin>>sports; stusco[t].setsports(sports); cout<<"请输入新的物理成绩: "; cin>>physics; stusco[t].setphysics(physics); cout<<"请输入新的数学成绩: "; cin>>math; stusco[t].setmath(math); cout<<"请输入新的英语成绩: "; cin>>english; stusco[t].setenglish(english); }while(d<1||d>5); }}}cout<<"没有您要找的学生! "< cout<<"请重新输入(退出请按n)"; cin>>n; else { }cout<<"是否继续修改(继续请按y,退出请按n): "; cin>>n; cout<<"修改后的学生成绩: "< cout<<"学号姓名英语数学物理体育C++"< for(intt=0;t { }r=b[t]; stusco[r].print(); //单科所有学生成绩查询 voidfunc4(stuscorestusco[],intm) { cout<<"1.英语"< cout<<"2.数学"< cout<<"3.物理"< cout<<"4.体育"< cout<<"5.C++"< cout< cout<<"请输入1~5之间的数字选择查询的科目: "; cin>>k; if(k==1) { for(intt=0;t stusco[t].printf1(); } intk; charn='y'; while(n=='y') { elseif(k==2) }{ for(intt=0;t stusco[t].printf2(); } elseif(k==3) { }for(intt=0;t stusco[t].printf3(); } elseif(k==4) for(intt=0;t stusco[t].prinft4(); { } elseif(k==5) for(intt=0;t stusco[t].printf5(); { } cout<<"是否继续查询? (继续请是按y,退出请按n): "; cin>>n; voidfunc5(stuscorestusco[],intm) { intk; floatexcellence; floatwell; floatpass; floatfail; cout<<"1.英语"< cout<<"2.数学"< cout<<"3.物理"< cout<<"4.体育"< cout<<"5.C++"< cout< cout<<"请输入1~5之间的数字选择需要统计的科目: "; cin>>k; if(k==1) intexc=0,wel=0,pas=0,fai=0; { } elseif(k==2) } elseif(k==3) { for(intt=0;t {if(stuscco[t].getphysics()>=85)++exc; elseif(stusco[t].getphysics()>=70)++wel; elseif(stusco[t].getphysics()>=60)++pas; for(intt=0;t {if(stusco[t].getmath()>=85)++exc; elseif(stusco[t].getmath()>=70)++wel; elseif(stusco[t].getmath()>=60)++pas; elseif(stusco[t].getmath()<60)++fai; } excellence=exc/m; pass=pas/m; cout<<"数学成绩统计结果为"< cout<<"优秀率: "< cout<<"良好率: "< cout<<"及格率: "< cout<<"不及格率: "< for(intt=0;t {if(stusco[t].getenglish()>=85)++exc; elseif(stusco[t].getenglish()>=70)++wel; elseif(stusco[t].getenglish()>=60)++pas; elseif(stusco[t].getenglish()<60)++fai; } excellence=exc/m; pass=pas/m; cout<<"英语成绩统计结果为"< cout<<"优秀率: "< cout<<"良好率: "< cout<<"及格率: "< cout<<"不及格率: "< well=wel/m; fail=fai/m; { well=wel/m; fail=fai/m; }elseif(stusco[t].getphysics()<60)++fai; } excellence=exc/m; pass=pas/m; cout<<"物理成绩统计结果为"< cout<<"优秀率: "< cout<<"良好率: "< cout<<"及格率: "< cout<<"不及格率: "< well=wel/m; fail=fai/m; elseif(k==4) { } elseif(k==5) { for(intt=0;t {if(stuscco[t].getcomputer()>=85)++exc; elseif(stusco[t].getcomputer()>=70)++wel; elseif(stusco[t].getcomputer()>=60)++pas; elseif(stusco[t].getcomputer()<60)++fai; } excellence=exc/m; pass=pas/m; for(intt=0;t {if(stuscco[t].getsports()>=85)++exc; elseif(stusco[t].getsports()>=70)++wel; elseif(stusco[t].getsports()>=60)++pas; elseif(stusco[t].getsports()<60)++fai; } excellence=exc/m; pass=pas/m; cout<<"体育成绩统计结果为"< cout<<"优秀率: "< cout<<"良好率: "< cout<<"及格率: "< cout<<"不及格率: "< well=wel/m; fail=fai/m; well=wel/m; fail=fai/m; }}cout<<"C++成绩统计结果为"< cout<<"优秀率: "< cout<<"良好率: "< cout<<"及格率: "< cout<<"不及格率: "<
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 成绩管理系统