C++学生信息管理Word文档格式.docx
《C++学生信息管理Word文档格式.docx》由会员分享,可在线阅读,更多相关《C++学生信息管理Word文档格式.docx(21页珍藏版)》请在冰点文库上搜索。
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;
};
2定义一二年级继承类
classostudent:
publicstudent
3重载函数
riendostream&
operator<
<
(ostream&
out,ostudent&
right){
out<
right.xuehao<
"
"
right.xingming<
right.xingbie<
right.zhuanye<
(right.yuwen+right.shuxue+right.yinyu)/3<
(2009-right.shengri)<
endl;
returnout;
friendistream&
operator>
>
(istream&
in,ostudent&
in>
right.xuehao>
right.xingming>
right.xingbie>
right.zhuanye>
right.yuwen
>
right.shuxue>
right.yinyu>
right.shengri;
returnin;
4功能选择函数
switch()
case1:
case2:
……
分别实现
输入函数
打印函数
查找函数
删除函数
排序函数
5主函数
实现整合
3详细设计与编码:
#include<
iostream>
string>
usingnamespacestd;
classstudent//基类
{
char
xingbie;
virtualint
getnianji()=0;
virtualvoid
set()=0;
display()=0;
getxingbie(){returnxingbie;
float
getyuwen(){returnyuwen;
getshuxue(){return
shuxue;
getyinyu(){return
yinyu;
getsum(){
publicstudent//一年级继承类
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"
xuehao<
xingming<
xingbie<
<
zhuanye<
(yuwen+shuxue+yinyu)/3<
(2009-shengri、10000)<
friendostream&
clasststudent:
publicstudent//二年级继承类
int
nianji;
char
teacher[25];
tstudent(){nianji=1;
char*getteacher()
{returnteacher;
voidset()
{
输入二年级学生信息\n"
老师
数学
英语
teacher>
voiddisplay(){
\n二年级学生:
teacher<
(2009-shengri/10000)<
out,tstudent&
right.teacher<
in,tstudent&
right)//重载运算符
right.teacher>
intmain()
intgetin,j;
intc1,c2,c3,c4,c5,c6,c7;
student*p[100];
inthao[100],htp;
intm,n;
doublezong[100],ztp;
staticinti=0;
lab2:
1.录入信息\n"
2.显示全部学生\n"
3.计算平均成绩\n"
4.删除一个学生\n"
5.按年级输出学生信息\n"
6.按姓名检索学生\n"
7.按总分排序\n"
\n\n输入您的选择(1to7):
cin>
getin;
switch(getin)//功能选择函数
case1:
lab1:
//录入
1.录入一年级学生信息"
2.录入二年级学生信息"
3.保存所有信息"
4.返回上一级菜单"
选择:
c1;
switch(c1)
p[i]=newostudent;
p[i]->
set();
i++;
gotolab1;
}
case2:
p[i]=newtstudent;
case3:
for(j=0;
j<
i;
j++)
if(p[j]->
getnianji()==1)
p[j]->
getxuehao()<
getxingming()<
getxingbie()<
getyuwen()<
getshuxue()
getyinyu()<
2009-p[j]->
getshengri()<
getnianji()==0)
cout<
保存成功!
gotolab1;
default:
gotolab2;
break;
//输出数据
学生信息\n"
专业/老师
平均成绩
年龄\n"
for(j=0;
p[j]->
display();
\n\n输入任意数字返回主菜单:
c2;
switch(c2)
case3:
default:
//平均成绩输出
endl<
------计算平均成绩-----\n"
1.语文平均成绩\n"
2.数学平均成绩\n"
3.英语平均成绩\n"
-----------------------\n"
你的选择:
c3;
switch(c3)
doublesumy=0;
sumy=sumy+p[j]->
getyuwen();
\n语文平均成绩:
(sumy/i)<
doublesume=0;
sume=sume+p[j]->
getshuxue();
\n数学平均成绩:
(sume/i)<
doublesumm=0;
summ=summ+p[j]->
getyinyu();
\n英语平均成绩:
(summ/i)<
default:
case4:
//删除操作
------删除一个学生-----\n"
1.按学号删除\n"
2.按姓名删除\n"
3.返回上级\n"
c4;
switch(c4)
输入学生的学号:
xuehao;
getxuehao()==xuehao)
for(intdel=j;
del<
del++)
p[del]=p[del+1];
i--;
\n成功删除.......!
charming[20];
输入学生的姓名:
ming;
if(strcmp(p[j]->
getxingming(),ming)==0)