小型学生信息管理系统10.docx

上传人:b****6 文档编号:8214053 上传时间:2023-01-29 格式:DOCX 页数:18 大小:17.35KB
下载 相关 举报
小型学生信息管理系统10.docx_第1页
第1页 / 共18页
小型学生信息管理系统10.docx_第2页
第2页 / 共18页
小型学生信息管理系统10.docx_第3页
第3页 / 共18页
小型学生信息管理系统10.docx_第4页
第4页 / 共18页
小型学生信息管理系统10.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

小型学生信息管理系统10.docx

《小型学生信息管理系统10.docx》由会员分享,可在线阅读,更多相关《小型学生信息管理系统10.docx(18页珍藏版)》请在冰豆网上搜索。

小型学生信息管理系统10.docx

小型学生信息管理系统10

编写一个小型的学生信息管理系统,可以对中学生,大学生你,研究生的信息进行简单的管理。

每个学生类都包含学生名,成绩1,成绩2,成绩3和平均成绩,其中平均成绩为(1+2+3)/3。

每类学生还有区别于其他类学生的特殊信息,例如中学生有家长,大学生有专业,研究生有导师。

要求通过本系统实现以下功能:

1输入学生的基本信息

2根据学生名查询某个学生的信息

3计算并显示某个学生的平均成绩

要求屏幕显示如下:

*************欢迎使用*************

*******小型学生信息管理系统*******

1.输入学生信息

2.查询学生信息并显示

3.计算平均成绩并显示

4.退出

请您选择(1-4):

**********按学生类别进行管理**************

***************学生类别选择***************

1中学生类

2大学生类

3研究生类

4退出

请您选择学生类别:

1

学生名:

王大兵

成绩1:

80

成绩289

成绩390

家长:

王大林

信息存储成功!

是否继续输入(y/n)?

*************欢迎使用*************

*******小型学生信息管理系统*******

5.输入学生信息

6.查询学生信息并显示

7.计算平均成绩并显示

8.退出

请您选择(1-4):

2

**********按学生类别进行管理**************

***************学生类别选择***************

1中学生类

2大学生类

3研究生类

4退出

请您选择学生类别:

1

请输入要查询的学生名:

王大兵

所要查看的学生信息:

学生类别号:

1

学生名:

王大兵

成绩1:

80

成绩289

成绩390

家长:

王大林

*****************************

是否继续查询(y/n)?

1.0版本代码如下:

/************************************************************************/

/*

Author:

Tiger

Date:

6/13/2013

Function:

小型信息管理系统

Version:

1.0

*/

/************************************************************************/

#include

#include

#include

//学生基类

classStudent

{

protected:

charname[20];//姓名

floatscore1,score2,score3;//成绩1、2、3、

public:

voidgetname(chara[]);

voidset();

voidshow();

voidaverage();

};

voidStudent:

:

getname(chara[])

{

strcpy(a,name);

}

voidStudent:

:

show()

{

cout<<"学生姓名:

"<

<<"成绩1:

"<

<<"成绩2:

"<

<<"成绩3:

"<

}

voidStudent:

:

set()

{

cout<<"学生姓名:

";

cin>>name;

cout<<"成绩1:

";

cin>>score1;

cout<<"成绩2:

";

cin>>score2;

cout<<"成绩3:

";

cin>>score3;

}

voidStudent:

:

average()

{

cout<<"姓名:

"<

cout<<"平均成绩:

"<<(score1+score2+score3)/3<

}

//中学生类

classMiddle_school_student:

publicStudent

{

protected:

charhouseholder[20];//家长

public:

Middle_school_student();

voidset();

voidshow();

};

Middle_school_student:

:

Middle_school_student()

{

strcpy(name,"张三");

score1=0;

score2=0;

score3=0;

strcpy(householder,"李四");

}

voidMiddle_school_student:

:

set()

{

Student:

:

set();

cout<<"家长:

";

cin>>householder;

}

voidMiddle_school_student:

:

show()

{

Student:

:

show();

cout<<"家长:

"<

}

//大学生类

classUniversity_student:

publicStudent

{

charprofession[20];//专业

public:

University_student();

voidset();

voidshow();

};

University_student:

:

University_student()

{

strcpy(name,"张三");

score1=0;

score2=0;

score3=0;

strcpy(profession,"无");

}

voidUniversity_student:

:

set()

{

Student:

:

set();

cout<<"专业:

";

cin>>profession;

}

voidUniversity_student:

:

show()

{

Student:

:

show();

cout<<"专业:

"<

}

//研究生类

classPostgraduate:

publicStudent

{

chartutor[20];

public:

Postgraduate();

voidset();

voidshow();

};

Postgraduate:

:

Postgraduate()

{

strcpy(name,"张三");

score1=0;

score2=0;

score3=0;

strcpy(tutor,"李四");

}

voidPostgraduate:

:

set()

{

Student:

:

set();

cout<<"导师:

";

cin>>tutor;

}

voidPostgraduate:

:

show()

{

Student:

:

show();

cout<<"导师:

"<

}

//菜单界面

intmenu()

{

intx;

cout<<"*************欢迎使用*************"<

cout<<"*******小型学生信息管理系统*******"<

cout<<"1、输入学生信息"<<'\n'<<"2、查询学生信息并显示"<<'\n'

<<"3、计算平均成绩并显示"<<'\n'<<"4、退出"<<'\n'<<"请您选择(1-4):

";

cin>>x;

returnx;

}

//管理界面

intmanage()

{

intx;

cout<<"**********按学生类别进行管理**************"<

cout<<"***************学生类别选择***************"<

cout<<"1中学生类"<<'\n'<<"2大学生类"<<'\n'

<<"3研究生类"<<'\n'<<"4退出"<<'\n'<<"请您选择学生类别:

";

cin>>x;

returnx;

}

//创建一个Middle_school_student

Middle_school_studentnewmiddle()

{

Middle_school_studentm;

m.set();

returnm;

}

//将Middle_school_student对象写进D:

\\middle.txt

voidwriteMiddle(Middle_school_student&m)

{

fstreamft;

ft.open("D:

\\middle.txt",ios:

:

out|ios:

:

app);

if(!

ft)

{

cout<<"不能打开文件!

"<

return;

}

ft.write((char*)&m,sizeof(Middle_school_student));

ft.close();

}

//读取一个Middle_school_student对象

voidreadMiddle(intj)/*j=1进入查询学生信息、j=2查询学生平均成绩*/

{

Middle_school_students;

fstreamft;

chartemp1[20],temp2[20];

cout<<"请输入要查询的学生名:

";

cin>>temp1;

ft.open("D:

\\middle.txt",ios:

:

in);

if(!

ft)

{

cout<<"不能打开文件!

"<

return;

}

//计算Middle_school_student记录的个数Num

ft.seekp(0,ios:

:

end);

longNum=ft.tellp()/sizeof(Middle_school_student);

for(inti=0;i

{

ft.seekp(sizeof(Middle_school_student)*i);

ft.read((char*)&s,sizeof(Middle_school_student));

s.getname(temp2);

inttbb=strcmp(temp1,temp2);

if(!

tbb)

{

if(j==1){s.show();break;}

elseif(j==2){s.average();break;}

else{cout<<"错误!

"<

}

}

cout<<"没有该学生!

"<

ft.close();

}

//创建一个University_student

University_studentnewuniversity()

{

University_studentu;

u.set();

returnu;

}

//将University_student对象写进D:

\\university.txt

voidwriteUniversity(University_student&u)

{

fstreamft;

ft.open("D:

\\university.txt",ios:

:

out|ios:

:

app);

if(!

ft)

{

cout<<"不能打开文件!

"<

return;

}

ft.write((char*)&u,sizeof(University_student));

ft.close();

}

//读取一个University_student对象

voidreadUniversity(intj)/*j=1进入查询学生信息、j=2查询学生平均成绩*/

{

University_students;

fstreamft;

chartemp1[20],temp2[20];

cout<<"请输入要查询的学生名:

";

cin>>temp1;

ft.open("D:

\\university.txt",ios:

:

in);

if(!

ft)

{

cout<<"不能打开文件!

"<

return;

}

//计算University_student记录的个数

ft.seekp(0,ios:

:

end);

longNum=ft.tellp()/sizeof(University_student);

for(inti=0;i

{

ft.seekp(sizeof(University_student)*i);

ft.read((char*)&s,sizeof(University_student));

s.getname(temp2);

inttbb=strcmp(temp1,temp2);

if(!

tbb)

{

if(j==1){s.show();break;}

elseif(j==2){s.average();break;}

else{cout<<"错误!

"<

}

}

cout<<"没有该学生!

"<

ft.close();

}

//创建一个Postgraduate

Postgraduatenewpostgraduate()

{

Postgraduatep;

p.set();

returnp;

}

//将Postgraduate对象写进D:

\\postgraduate.txt

voidwritePostgraduate(Postgraduate&p)

{

fstreamft;

ft.open("D:

\\postgraduate.txt",ios:

:

out|ios:

:

app);

if(!

ft)

{

cout<<"不能打开文件!

"<

return;

}

ft.write((char*)&p,sizeof(Postgraduate));

ft.close();

}

//读取一个Postgraduate对象

voidreadPostgraduate(intj)/*j=1进入查询学生信息、j=2查询学生平均成绩*/

{

Postgraduates;

fstreamft;

chartemp1[20],temp2[20];

cout<<"请输入要查询的学生名:

";

cin>>temp1;

ft.open("D:

\\postgraduate.txt",ios:

:

in);

if(!

ft)

{

cout<<"不能打开文件!

"<

return;

}

//计算Postgraduate记录的个数

ft.seekp(0,ios:

:

end);

longNum=ft.tellp()/sizeof(Postgraduate);

for(inti=0;i

{

ft.seekp(sizeof(Postgraduate)*i);

ft.read((char*)&s,sizeof(Postgraduate));

s.getname(temp2);

inttbb=strcmp(temp1,temp2);

if(!

tbb)

{

if(j==1){s.show();break;}

elseif(j==2){s.average();break;}

else{cout<<"错误!

"<

}

}

cout<<"没有该学生!

"<

ft.close();

}

//判断函数、判断是否继续输入

voidcheck_enter(inti)/*i的取值决定输入的学生的类型*/

{

charce;

cout<<"信息存储成功!

是否继续输入(y/n)?

";

cin>>ce;

if(ce=='y')

{

switch(i)

{

case1:

writeMiddle(newmiddle());

check_enter(i);

break;

case2:

writeUniversity(newuniversity());

check_enter(i);

break;

case3:

writePostgraduate(newpostgraduate());

check_enter(i);

break;

default:

cout<<"错误!

"<

break;

}

}elseif(ce=='n')return;

elsecout<<"输入错误!

"<

}

//判断函数、判断是否继续查询

voidcheck_find(inti)/*i的值决定查询的学生的类型*/

{

charcf;

cout<<"是否继续查询(y/n)?

"<

cin>>cf;

if(cf=='y')

{

switch(i)

{

case1:

readMiddle

(1);

check_find(i);

break;

case2:

readUniversity

(1);

check_find(i);

break;

case3:

readPostgraduate

(1);

check_find(i);

break;

default:

cout<<"错误!

"<

break;

}

}elseif(cf=='n')return;

elsecout<<"输入错误!

"<

}

//判断函数、判断是否继续查询

voidcheck_average(inti)/*i的值决定查询的学生的类型*/

{

charca;

cout<<"是否继续查询(y/n)?

"<

cin>>ca;

if(ca=='y')

{

switch(i)

{

case1:

readMiddle

(2);

check_find(i);

break;

case2:

readUniversity

(2);

check_find(i);

break;

case3:

readPostgraduate

(2);

check_find(i);

break;

default:

cout<<"错误!

"<

break;

}

}elseif(ca=='n')return;

elsecout<<"输入错误!

"<

}

voidwindow()

{

switch(menu())

{

case1:

switch(manage())

{

case1:

writeMiddle(newmiddle());

check_enter

(1);

break;

case2:

writeUniversity(newuniversity());

check_enter

(2);

break;

case3:

writePostgraduate(newpostgraduate());

check_enter(3);

break;

case4:

break;

default:

cout<<"输入错误"<

}

window();break;

case2:

switch(manage())

{

case1:

readMiddle

(1);

check_find

(1);

break;

case2:

readUniversity

(1);

check_find

(2);

break;

case3:

readPostgraduate

(1);

check_find(3);

break;

case4:

break;

default:

cout<<"输入错误"<

}

window();break;

case3:

switch(manage())

{

case1:

readMiddle

(2);

check_average

(1);

break;

case2:

readUniversity

(2);

check_average

(2);

break;

case3:

readPostgraduate

(2);

check_average(3);

break;

default:

cout<<"输入错误"<

}

window();break;

case4:

cout<<"已退出!

"<

break;

default:

cout<<"输入错误"<

break;

}

}

intmain()

{

window();

return0;

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 工学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1