编写一个小型的学生信息管理系统,可以对中学生,大学生你,研究生的信息进行简单的管理。每个学生类都包含学生名,成绩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:TigerDate:6/13/2013Function:小型信息管理系统Version:1.0*//************************************************************************/#includeiostream.h#includefstream.h#includestring.h//学生基类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学生姓名:name'\n'成绩1:score1'\n'成绩2:score2'\n'成绩3:score3'\n';}voidStudent::set(){cout学生姓名:;cinname;cout成绩1:;cinscore1;cout成绩2:;cinscore2;cout成绩3:;cinscore3;}voidStudent::average(){cout姓名:nameendl;cout平均成绩:(score1+score2+score3)/3endl;}//中学生类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家长:;cinhouseholder;}voidMiddle_school_student::show(){Student::show();cout家长:householderendl;}//大学生类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专业:;cinprofession;}voidUniversity_student::show(){Student::show();cout专业:professionendl;}//研究生类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导师:;cintutor;}voidPostgraduate::show(){Student::show();cout导师:tutorendl;}//菜单界面intmenu(){intx;cout*************欢迎使用*************endl;cout*******小型学生信息管理系统*******endl;cout1、输入学生信息'\n'2、查询学生信息并显示'\n'3、计算平均成绩并显示'\n'4、退出'\n'请您选择(1-4):;cinx;returnx;}//管理界面intmanage(){intx;cout**********按学生类别进行管理**************endl;cout***************学生类别选择***************endl;cout1中学生类'\n'2大学生类'\n'3研究生类'\n'4退出'\n'请您选择学生类别:;cinx;returnx;}//创建一个Middle_school_studentMiddle_school_studentnewmiddle(){Middle_school_studentm;m.set();returnm;}//将Middle_school_student对象写进D:\\middle.txtvoidwriteMiddle(Middle_school_student&m){fstreamft;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对象voidreadMiddle(intj)/*j=1进入查询学生信息、j=2查询学生平均成绩*/{Middle_school_students;fstreamft;chartemp1[20],temp2[20];cout请输入要查询的学生名:;cintemp1;ft.open(D:\\middle.txt,ios::in);if(!ft){cout不能打开文件!endl;return;}//计算Middle_school_student记录的个数Numft.seekp(0,ios::end);longNum=ft.tellp()/sizeof(Middle_school_student);for(inti=0;iNum;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错误!endl;break;}}}cout没有该学生!endl;ft.close();}//创建一个University_studentUniversity_studentnewuniversity(){University_studentu;u.set();returnu;}//将University_student对象写进D:\\university.txtvoidwriteUniversity(University_student&u){fstreamft;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对象voidreadUniversity(intj)/*j=1进入查询学生信息、j=2查询学生平均成绩*/{University_students;fstreamft;chartemp1[20],temp2[20];cout请输入要查询的学生名:;cintemp1;ft.open(D:\\university.txt,ios::in);if(!ft){cout不能打开文件!endl;return;}//计算University_student记录的个数ft.seekp(0,ios::end);longNum=ft.tellp()/sizeof(University_student);for(inti=0;iNum;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错误!endl;break;}}}cout没有该学生!endl;ft.close();}//创建一个PostgraduatePostgraduatenewpostgraduate(){Postgraduatep;p.set();returnp;}//将Postgraduate对象写进D:\\postgraduate.tx