小型学生信息管理系统10_第1页
小型学生信息管理系统10_第2页
小型学生信息管理系统10_第3页
小型学生信息管理系统10_第4页
小型学生信息管理系统10_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、编写一个小型的学生信息管理系统,可以对中学生,大学生你,研究生的信息进行简单的管理。每个学生类都包含学生名,成绩1,成绩2,成绩3和平均成绩,其中平均成绩为(1+2+3)/3。每类学生还有区别于其他类学生的特殊信息,例如中学生有家长,大学生有专业,研究生有导师。要求通过本系统实现以下功能:1 输入学生的基本信息2 根据学生名查询某个学生的信息3 计算并显示某个学生的平均成绩要求屏幕显示如下:*欢迎使用*小型学生信息管理系统*1. 输入学生信息2. 查询学生信息并显示3. 计算平均成绩并显示4. 退出请您选择(1-4):*按学生类别进行管理*学生类别选择*1 中学生类2 大学生类3 研究生类4

2、退出请您选择学生类别:1学生名:王大兵成绩1: 80成绩2 89成绩3 90家长:王大林 信息存储成功!是否继续输入(y/n)?*欢迎使用*小型学生信息管理系统*5. 输入学生信息6. 查询学生信息并显示7. 计算平均成绩并显示8. 退出请您选择(1-4):2*按学生类别进行管理*学生类别选择*1 中学生类2 大学生类3 研究生类4 退出请您选择学生类别:1请输入要查询的学生名:王大兵所要查看的学生信息:学生类别号:1学生名:王大兵成绩1: 80成绩2 89成绩3 90家长:王大林* 是否继续查询(y/n)?1.0版本代码如下:/*/* Author:TigerDate:6/13/2013Fu

3、nction:小型信息管理系统Version:1.0 */*/#include#include#include/学生基类class Studentprotected:char name20;/姓名float score1,score2,score3;/成绩1、2、3、public:void getname(char a);void set();void show();void average();void Student:getname(char a)strcpy(a,name);void Student:show()cout学生姓名:namen成绩1:score1n成绩2:score2n成绩

4、3:score3n;void Student:set()coutname;coutscore1;coutscore2;coutscore3;void Student:average()cout姓名:nameendl;cout平均成绩:(score1+score2+score3)/3endl;/中学生类class Middle_school_student:public Studentprotected:char householder20;/家长public:Middle_school_student();void set();void show();Middle_school_student

5、:Middle_school_student()strcpy(name,张三);score1=0;score2=0;score3=0;strcpy(householder,李四);void Middle_school_student:set()Student:set();couthouseholder;void Middle_school_student:show()Student:show();cout家长:householderendl;/大学生类class University_student:public Studentchar profession20;/专业public:Unive

6、rsity_student();void set();void show();University_student:University_student()strcpy(name,张三);score1=0;score2=0;score3=0;strcpy(profession,无);void University_student:set()Student:set();coutprofession;void University_student:show()Student:show();cout专业:professionendl;/研究生类class Postgraduate:public St

7、udentchar tutor20;public:Postgraduate();void set();void show();Postgraduate:Postgraduate()strcpy(name,张三);score1=0;score2=0;score3=0;strcpy(tutor,李四);void Postgraduate:set()Student:set();couttutor;void Postgraduate:show()Student:show();cout导师:tutorendl;/菜单界面int menu()int x;cout*欢迎使用*endl;cout*小型学生信息

8、管理系统*endl;cout1、输入学生信息n2、查询学生信息并显示n3、计算平均成绩并显示n4、退出nx;return x;/管理界面int manage()int x;cout*按学生类别进行管理*endl;cout*学生类别选择*endl;cout1 中学生类n2 大学生类n3 研究生类n4 退出nx;return x;/创建一个Middle_school_studentMiddle_school_student newmiddle()Middle_school_student m;m.set();return m;/将Middle_school_student对象写进D:middle.

9、txtvoid writeMiddle(Middle_school_student &m)fstream ft;ft.open(D:middle.txt,ios:out|ios:app);if (!ft)cout不能打开文件!endl;return ;ft.write(char*)&m,sizeof(Middle_school_student);ft.close();/读取一个Middle_school_student对象void readMiddle(int j)/*j=1进入查询学生信息、j=2查询学生平均成绩*/Middle_school_student s;fstream ft;cha

10、r temp120,temp220;couttemp1;ft.open(D:middle.txt,ios:in);if (!ft)cout不能打开文件!endl;return ;/计算Middle_school_student记录的个数Numft.seekp(0,ios:end);long Num=ft.tellp()/sizeof(Middle_school_student);for (int i=0;iNum;i+)ft.seekp(sizeof(Middle_school_student)*i);ft.read(char*)&s,sizeof(Middle_school_student)

11、;s.getname(temp2);int tbb=strcmp(temp1,temp2); if (!tbb) if(j=1)s.show();break;else if(j=2)s.average();break; else cout错误!endl;break; cout没有该学生!endl;ft.close();/创建一个University_studentUniversity_student newuniversity()University_student u;u.set();return u;/将University_student对象写进D:university.txtvoid

12、writeUniversity(University_student &u)fstream ft;ft.open(D:university.txt,ios:out|ios:app);if (!ft)cout不能打开文件!endl;return ;ft.write(char*)&u,sizeof(University_student);ft.close();/读取一个University_student对象void readUniversity(int j)/*j=1进入查询学生信息、j=2查询学生平均成绩*/University_student s;fstream ft;char temp12

13、0,temp220;couttemp1;ft.open(D:university.txt,ios:in);if (!ft)cout不能打开文件!endl;return ;/计算University_student记录的个数ft.seekp(0,ios:end);long Num=ft.tellp()/sizeof(University_student);for (int i=0;iNum;i+)ft.seekp(sizeof(University_student)*i);ft.read(char*)&s,sizeof(University_student);s.getname(temp2);i

14、nt tbb=strcmp(temp1,temp2); if (!tbb) if(j=1)s.show();break;else if(j=2)s.average();break; else cout错误!endl;break; cout没有该学生!endl;ft.close();/创建一个PostgraduatePostgraduate newpostgraduate()Postgraduate p;p.set();return p;/将Postgraduate对象写进D:postgraduate.txtvoid writePostgraduate(Postgraduate &p)fstre

15、am ft;ft.open(D:postgraduate.txt,ios:out|ios:app);if (!ft)cout不能打开文件!endl;return ;ft.write(char*)&p,sizeof(Postgraduate);ft.close();/读取一个Postgraduate对象void readPostgraduate(int j)/*j=1进入查询学生信息、j=2查询学生平均成绩*/Postgraduate s;fstream ft;char temp120,temp220;couttemp1;ft.open(D:postgraduate.txt,ios:in);if

16、 (!ft)cout不能打开文件!endl;return ;/计算Postgraduate记录的个数ft.seekp(0,ios:end);long Num=ft.tellp()/sizeof(Postgraduate);for (int i=0;iNum;i+)ft.seekp(sizeof(Postgraduate)*i);ft.read(char*)&s,sizeof(Postgraduate);s.getname(temp2);int tbb=strcmp(temp1,temp2); if (!tbb) if(j=1)s.show();break;else if(j=2)s.avera

17、ge();break; else cout错误!endl;break; cout没有该学生!endl;ft.close();/判断函数、判断是否继续输入void check_enter(int i)/*i的取值决定输入的学生的类型*/char ce;coutce;if (ce=y)switch(i)case 1:writeMiddle(newmiddle();check_enter(i);break;case 2:writeUniversity(newuniversity();check_enter(i);break;case 3:writePostgraduate(newpostgradua

18、te();check_enter(i);break;default:cout错误!endl;break;else if(ce=n)return;else cout输入错误!endl;/判断函数、判断是否继续查询void check_find(int i)/*i的值决定查询的学生的类型*/char cf;cout是否继续查询(y/n)?cf;if (cf=y)switch(i)case 1:readMiddle(1);check_find(i);break;case 2:readUniversity(1);check_find(i);break;case 3:readPostgraduate(1

19、);check_find(i);break;default:cout错误!endl;break;else if(cf=n)return; else cout输入错误!endl;/判断函数、判断是否继续查询void check_average(int i)/*i的值决定查询的学生的类型*/char ca;cout是否继续查询(y/n)?ca;if (ca=y)switch(i)case 1:readMiddle(2);check_find(i);break;case 2:readUniversity(2);check_find(i);break;case 3:readPostgraduate(2);check_find(i);break;default:cout错误!endl;break;else if(ca=n)return; else cout输入错误!endl;void window()switch (menu()case 1:switch(manage() case 1:writeMiddle(newmiddle();check_enter(1);break;case 2:writeUniversity(newuniversit

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论