小型学生信息管理系统10Word文档下载推荐.docx
- 文档编号:21350346
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:18
- 大小:17.35KB
小型学生信息管理系统10Word文档下载推荐.docx
《小型学生信息管理系统10Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《小型学生信息管理系统10Word文档下载推荐.docx(18页珍藏版)》请在冰豆网上搜索。
6.查询学生信息并显示
7.计算平均成绩并显示
8.退出
2
请输入要查询的学生名:
所要查看的学生信息:
学生类别号:
*****************************
是否继续查询(y/n)?
1.0版本代码如下:
/************************************************************************/
/*
Author:
Tiger
Date:
6/13/2013
Function:
小型信息管理系统
Version:
1.0
*/
#include<
iostream.h>
fstream.h>
string.h>
//学生基类
classStudent
{
protected:
charname[20];
//姓名
floatscore1,score2,score3;
//成绩1、2、3、
public:
voidgetname(chara[]);
voidset();
voidshow();
voidaverage();
};
voidStudent:
:
getname(chara[])
strcpy(a,name);
}
show()
cout<
<
"
学生姓名:
name<
'
\n'
<
成绩1:
score1<
成绩2:
score2<
成绩3:
score3<
;
set()
cin>
>
name;
score1;
score2;
score3;
average()
姓名:
endl;
平均成绩:
(score1+score2+score3)/3<
//中学生类
classMiddle_school_student:
publicStudent
charhouseholder[20];
//家长
Middle_school_student();
Middle_school_student:
Middle_school_student()
strcpy(name,"
张三"
);
score1=0;
score2=0;
score3=0;
strcpy(householder,"
李四"
voidMiddle_school_student:
Student:
set();
householder;
show();
householder<
//大学生类
classUniversity_student:
charprofession[20];
//专业
University_student();
University_student:
University_student()
strcpy(profession,"
无"
voidUniversity_student:
专业:
profession;
profession<
//研究生类
classPostgraduate:
chartutor[20];
Postgraduate();
Postgraduate:
Postgraduate()
strcpy(tutor,"
voidPostgraduate:
导师:
tutor;
tutor<
//菜单界面
intmenu()
intx;
*************欢迎使用*************"
*******小型学生信息管理系统*******"
1、输入学生信息"
2、查询学生信息并显示"
3、计算平均成绩并显示"
4、退出"
x;
returnx;
//管理界面
intmanage()
**********按学生类别进行管理**************"
***************学生类别选择***************"
1中学生类"
2大学生类"
3研究生类"
4退出"
//创建一个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;
chartemp1[20],temp2[20];
cin>
temp1;
in);
//计算Middle_school_student记录的个数Num
ft.seekp(0,ios:
end);
longNum=ft.tellp()/sizeof(Middle_school_student);
for(inti=0;
i<
Num;
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();
else{cout<
错误!
}
没有该学生!
//创建一个University_student
University_studentnewuniversity()
University_studentu;
u.set();
returnu;
//将University_student对象写进D:
\\university.txt
voidwriteUniversity(University_student&
u)
\\university.txt"
u,sizeof(University_student));
//读取一个University_student对象
voidreadUniversity(intj)/*j=1进入查询学生信息、j=2查询学生平均成绩*/
University_students;
//计算University_student记录的个数
longNum=ft.tellp()/sizeof(University_student);
ft.seekp(sizeof(University_student)*i);
s,sizeof(University_student));
else{cout<
}
//创建一个Postgraduate
Postgraduatenewpostgraduate()
Postgraduatep;
p.set();
returnp;
//将Postgraduate对象写进D:
\\postgraduate.txt
voidwritePostgraduate(Postgraduate&
p)
\\postgraduate.txt"
p,sizeof(Postgraduate));
//读取一个Postgraduate对象
voidreadPostgraduate(intj)/*j=1进入查询学生信息、j=2查询学生平均成绩*/
Postgraduates;
//计算Postgraduate记录的个数
longNum=ft.tellp()/sizeof(Postgraduate);
ft.seekp(sizeof(Postgraduate)*i);
s,sizeof(Postgraduate));
else{cout<
//判断函数、判断是否继续输入
voidcheck_enter(inti)/*i的取值决定输入的学生的类型*/
charce;
信息存储成功!
ce;
if(ce=='
y'
)
switch(i)
{
case1:
writeMiddle(newmiddle());
check_enter(i);
break;
case2:
writeUniversity(newuniversity());
case3:
writePostgraduate(newpostgraduate());
default:
cout<
}
}elseif(ce=='
n'
)return;
elsecout<
输入错误!
//判断函数、判断是否继续查询
voidcheck_find(inti)/*i的值决定查询的学生的类型*/
charcf;
是否继续查询(y/n)?
cf;
if(cf=='
readMiddle
(1);
check_find(i);
readUniversity
(1);
readPostgraduate
(1);
}elseif(cf=='
voidcheck_average(inti)/*i的值决定查询的学生的类型*/
charca;
ca;
if(ca=='
readMiddle
(2);
readUniversity
(2);
readPostgraduate
(2);
}elseif(ca=='
voidwindow()
switch(menu())
case1:
switch(manage())
case1:
writeMiddle(newmiddle());
check_enter
(1);
break;
case2:
writeUniversity(newuniversity());
check_enter
(2);
case3:
writePostgraduate(newpostgraduate());
check_enter(3);
case4:
default:
cout<
输入错误"
window();
case2:
readMiddle
(1);
check_find
(1);
readUniversity
(1);
check_find
(2);
readPostgraduate
(1);
check_find(3);
case3:
case1:
readMiddle
(2);
check_average
(1);
break;
case2:
readUniversity
(2);
check_average
(2);
case3:
readPostgraduate
(2);
check_average(3);
default:
case4:
已退出!
break;
default:
intmain()
window();
return0;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 小型 学生 信息管理 系统 10