学生信息管理例题.docx
《学生信息管理例题.docx》由会员分享,可在线阅读,更多相关《学生信息管理例题.docx(16页珍藏版)》请在冰豆网上搜索。
![学生信息管理例题.docx](https://file1.bdocx.com/fileroot1/2023-8/20/2aec31d0-7df8-45d9-be01-09057e7400ac/2aec31d0-7df8-45d9-be01-09057e7400ac1.gif)
学生信息管理例题
#include
#include
usingnamespacestd;
classstudent{
public:
intxuehao;
charxingming[20];
charxingbie;
floatyuwen,shuxue,yinyu;
intshengri;
virtualintgetnianji()=0;
virtualvoidset()=0;
virtualvoiddisplay()=0;
intgetxuehao(){returnxuehao;}
char*getxingming(){returnxingming;}
chargetxingbie(){returnxingbie;}
floatgetyuwen(){returnyuwen;}
floatgetshuxue(){returnshuxue;}
floatgetyinyu(){returnyinyu;}
floatgetsum(){
return(yuwen+shuxue+yinyu);}
intgetshengri(){returnshengri;}
};
classostudent:
publicstudent{
public:
intnianji;
charzhuanye[25];
ostudent(){nianji=0;}
intgetnianji(){returnnianji;}
char*getzhuanye(){returnzhuanye;}
voidset(){cout<<"输入一年级学生信息\n"
<<"学号姓名性别(m/w)专业语文数学英语出生年\n";
cin>>xuehao>>xingming>>xingbie>>zhuanye>>yuwen>>shuxue>>yinyu>>shengri;
}
voiddisplay(){
cout<<"\n一年级学生:
\n"<<}
friendostream&operator<<(ostream&out,ostudent&right){
out<<<<(2009-right.shengri)<returnout;
}
friendistream&operator>>(istream&in,ostudent&right){
in>>right.xuehao>>right.xingming>>right.xingbie>>right.zhuanye>>right.yuwen
>>right.shuxue>>right.yinyu>>right.shengri;
returnin;
}
};
clasststudent:
publicstudent{
public:
intnianji;
charteacher[25];
tstudent(){nianji=1;}
char*getteacher()
{returnteacher;}
intgetnianji(){returnnianji;}
voidset()
{
cout<<"输入二年级学生信息\n"
<<"学号姓名性别(m/w)老师语文数学英语出生年\n";
cin>>xuehao>>xingming>>xingbie>>teacher>>yuwen>>shuxue>>yinyu>>shengri;
}
voiddisplay(){
cout<<"\n二年级学生:
\n"<<}
friendostream&operator<<(ostream&out,tstudent&right){
out<<<<(2009-right.shengri)<returnout;
}
friendistream&operator>>(istream&in,tstudent&right){
in>>right.xuehao>>right.xingming>>right.xingbie>>right.teacher>>right.yuwen
>>right.shuxue>>right.yinyu>>right.shengri;
returnin;
}
};
intmain()
{
intgetin,j;
intc1,c2,c3,c4,c5,c6,c7;
student*p[100];
inthao[100],htp;
intm,n;
doublezong[100],ztp;
staticinti=0;
lab2:
cout<<"1.录入信息\n";
cout<<"2.显示全部学生\n";
cout<<"3.计算平均成绩\n";
cout<<"4.删除一个学生\n";
cout<<"5.按年级输出学生信息\n";
cout<<"6.按姓名检索学生\n";
cout<<"7.按总分排序\n";
cout<<"\n\n输入您的选择(1to7):
";
cin>>getin;
switch(getin)
{
case1:
lab1:
cout<<"1.录入一年级学生信息"<cout<<"2.录入二年级学生信息"<cout<<"3.保存所有信息"<cout<<"4.返回上一级菜单"<cout<<"选择:
";
cin>>c1;
cout<switch(c1)
{
case1:
{
p[i]=newostudent;
p[i]->set();
i++;
gotolab1;
}
case2:
{
p[i]=newtstudent;
p[i]->set();
i++;
gotolab1;
}
case3:
for(j=0;j
{
if(p[j]->getnianji()==1)
cout<
getxuehao()<<""<
getxingming()<<""
<
getxingbie()<<""<
getyuwen()<<""<
getshuxue()
<<""<
getyinyu()<<""<<2009-p[j]->getshengri()<if(p[j]->getnianji()==0)
cout<
getxuehao()<<""<
getxingming()<<""
<
getxingbie()<<""<
getyuwen()<<""<
getshuxue()
<<""<
getyinyu()<<""<<2009-p[j]->getshengri()<}
cout<<"保存成功!
\n";
gotolab1;
default:
gotolab2;
}
break;
case2:
cout<<"学生信息\n"
<<"学号姓名性别(m/w)专业/老师平均成绩年龄\n";
for(j=0;j
{
p[j]->display();
}
cout<<"\n\n输入任意数字返回主菜单:
";
cin>>c2;
switch(c2)
{
case1:
case2:
case3:
default:
gotolab2;
}
case3:
cout<cout<<"------计算平均成绩-----\n";
cout<<"1.语文平均成绩\n";
cout<<"2.数学平均成绩\n";
cout<<"3.英语平均成绩\n";
cout<<"-----------------------\n";
cout<<"你的选择:
";
cin>>c3;
switch(c3)
{
case1:
{
doublesumy=0;
for(j=0;j
{
sumy=sumy+p[j]->getyuwen();
}
cout<<"\n语文平均成绩:
"<<(sumy/i)<break;
}
case2:
{
doublesume=0;
for(j=0;j
{
sume=sume+p[j]->getshuxue();
}
cout<<"\n数学平均成绩:
"<<(sume/i)<break;
}
case3:
{
doublesumm=0;
for(j=0;j
{
summ=summ+p[j]->getyinyu();
}
cout<<"\n英语平均成绩:
"<<(summ/i)<break;
}
default:
gotolab2;
}
cout<<"\n\n输入任意数字返回主菜单:
";
cin>>c3;
switch(c3)
{
case1:
case2:
case3:
default:
gotolab2;
}
case4:
cout<cout<<"------删除一个学生-----\n";
cout<<"1.按学号删除\n";
cout<<"2.按姓名删除\n";
cout<<"3.返回上级\n";
cout<<"-----------------------\n";
cout<<"你的选择:
";
cin>>c4;
switch(c4)
{
case1:
intxuehao;
cout<<"输入学生的学号:
";
cin>>xuehao;
for(j=0;j
{
if(p[j]->getxuehao()==xuehao)
{
for(intdel=j;del
p[del]=p[del+1];
i--;
}
}
cout<<"\n成功删除.......!
\n";
cout<<"\n\n输入任意数字返回主菜单:
";
cin>>c3;
switch(c3)
{
case1:
case2:
case3:
default:
gotolab2;
}
case2:
charming[20];
cout<<"输入学生的姓名:
";
cin>>ming;
for(j=0;j
{
if(strcmp(p[j]->getxingming(),ming)==0)
{
for(intdel=j;del
p[del]=p[del+1];
i--;
}
}
cout<<"\n成功删除........!
\n";
cout<<"\n\n输入任意数字返回主菜单:
";
cin>>c3;
switch(c3)
{
case1:
case2:
case3:
default:
gotolab2;
}
default:
gotolab2;
}
case5:
cout<<"\n\n\n";
cout<<"---------按年级输出学生信息---------\n";
cout<<"1.按一年级学生输出学生信息\n";
cout<<"2.按二年级学生输出学生信息\n";
cout<<"------------------------------------\n";
cout<<"你的选择:
";
cin>>c5;
switch(c5)
{
case1:
cout<<"学号姓名性别专业平均成绩年龄\n";
for(j=0;j
{
if(p[j]->getnianji()==0)
p[j]->display();
}
cout<<"\n输入任意数字返回主菜单:
";
cin>>c5;
switch(c5)
{
case1:
case2:
case3:
default:
gotolab2;
}
case2:
cout<<"学号姓名性别老师平均成绩年龄\n";
for(j=0;j
{
if(p[j]->getnianji()==1)
p[j]->display();
}
cout<<"\n输入任意数字返回主菜单:
";
cin>>c5;
switch(c5)
{
case1:
case2:
case3:
default:
gotolab2;
}
default:
cout<<"\n输入错误!
\n";
break;
cout<<"\n输入任意数字返回主菜单:
";
cin>>c5;
switch(c5)
{
case1:
case2:
case3:
default:
gotolab2;
}
}
case6:
cout<<"\n\n\n\n\n\n";
charxingm[20];
cout<<"输入学生的姓名:
";
cin>>xingm;
for(j=0;j
{
if(strcmp(p[j]->getxingming(),xingm)==0)
{
p[j]->display();
}
}
cout<<"\n\n输入任意数字返回主菜单:
";
cin>>c6;
switch(c6)
{
case1:
case2:
case3:
default:
gotolab2;
}
case7:
for(intci=0;ci
{
hao[ci]=p[ci]->getxuehao();
zong[ci]=p[ci]->getsum();
}
for(n=0;n
{
for(m=n+1;m
{
if(zong[n]>zong[m])
{
htp=hao[m];
hao[m]=hao[n];
hao[n]=htp;
ztp=zong[m];
zong[m]=zong[n];
zong[n]=ztp;
}
}
}
cout<cout<<"---------按总分排序--------\n";
cout<<"学生学号总分\n";
for(j=0;j
{
cout<<""<<}
cout<<"\n\n输入任意数字返回主菜单:
";
cin>>c7;
switch(c7)
{
case1:
case2:
case3:
default:
gotolab2;
}
}
for(j=0;j
deletep[j];
return0;
}