#ifndef STUDENT_H
#define STUDENT_H
#include
using namespace std;
class Student
{
public:
int num; //公用数据成员用于记录类成员的编号
string name;//公用数据成员用于记录类成员的姓名
string sex;//公用数据成员用于记录类成员的性别
string clas;//公用数据成员用于记录类成员的班级
int age;//公用数据成员用于记录类成员的年龄
public:
Student(int n=0,string nm="",string s="",string cl="",int a=0):num(n),name(nm),sex(s),age(a),clas(cl){};
virtual void Input(){};
virtual void Output(){};
int GetNum(){return num;}//公有数据成员函数用于获得成员编号
string GetName(){return name;}//公有数据成员函数用于获得成员姓名
};
#endif
#ifndef PUPIL_H
#define PUPIL_H
#include
#include"Student.h"
#include
#include
using namespace std;
class Pupil:public Student
{
public:
float Chinese;//公有数据成员用于记录小学生的语文成绩
float Math;//公有数据成员用于记录类成员的数学成绩
float English;//英语成绩
float Sum;//总分
float Adv;//平均分
int choice2;//公有数据成员用于选择类成员的性别
public:
Pupil(int n=0,string nm="",string s="男",string cl="",int a=0,float l=0.0,float z=0.0,float e=0.0,float c=0.0,float d=0.0)
:Student(n,nm,s,cl,a),Chinese(l),Math(z),English(e),Sum(c),Adv(d){};
void Input()//成员函数用于输入成员信息
{
cout<<"请输入学号"<>num;
cout<<"请输入姓名"<>name;
cout<<"请输入性别";
cout<<"(1.男 2.女)"<>choice2;
switch(choice2)
{
case 1:sex="男";break;
case 2:sex="女";break;
default:cout<<"输入错误。"<>age;
cout<<"请输入班级"<>clas;
cout<<"请输入语文成绩"<>Chinese;
cout<<"请输入数学成绩"<>Math;
cout<<"请输入英语成绩"<>English;
Sum=Math+English+Chinese;
Adv=Sum/3;
}
void Output()//成员函数用于输出成员信息
{
cout<
#include//setw()
using namespace std;
class Middle:virtual public Student//避免二义性
{
public:
float Chinese;//公有数据成员用于记录中学生的语文成绩
float Math;//公有数据成员用于记录类成员的数学成绩
float geography;//公有数据成员用于记录类成员的地理成绩
float history;//公有数据成员用于记录类成员的历史成绩
float English;//公有数据成员用于记录类成员的英语成绩
float Sum;//公有数据成员用于记录类成员的成绩总分
float Adv;//公有数据成员用于记录类成员的成绩平均分
int choice2;//公有数据成员用于选择类成员的性别
public:
Middle(int n=0,string nm="",string s="男",string cl="",int a=0,float ge=0.0,float hi=0.0,float ad=0.0,float l=0.0,float z=0.0,float c=0.0,float d=0.0)
:Student(n,nm,s,cl,a),geography(ge),history(hi),English(ad),Chinese(l),Math(z),Sum(c),Adv(d){};
void Input()//成员函数用于输入成员信息
{
cout<<"请输入学号"<>num;
cout<<"请输入姓名"<>name;
cout<<"请输入性别";
cout<<"(1.男 2.女)"<>choice2;
switch(choice2)
{
case 1:sex="男";break;
case 2:sex="女";break;
default:cout<<"输入错误。"<>age;
cout<<"请输入班级"<>clas;
cout<<"请输入语文成绩"<>Chinese;
cout<<"请输入数学成绩"<>Math;
cout<<"请输入地理成绩"<>geography;
cout<<"请输入历史成绩"<>history;
cout<<"输入英语成绩"<>English;
Sum=English+history+geography+Chinese+Math;
Adv=Sum/5;
}
void Output()//成员函数用于输出成员信息
{
cout<
#include"Middle.h"
class Mid_Manage : public Student
{
Middle Mid[50]; //TMAX为常量,为数组中可存储的教师记录的最大数;
int top; //top表示当前系统中存储的记录个数;
public:
Mid_Manage(){top=0;} //初始时记录的个数为0,所以设置top=0;
void Add(); //实现该类记录的添加;
void Show(); //实现该类所有记录的显示;
void Search(); //实现该类记录的查询;
void Edit(); //实现该类记录的修改;
void Delete(); //实现 该类记录的删除;
void Total(); //实现该类记录的统计;
void Save(); //将该类记录保存到文件;
void Read(); //可从文件中将记录读取到该类的数组中;
void Sort(); //排序
};
#endif
#ifndef COLLEGE_MANAGE_H
#define COLLEGE_MANAGE_H
#include
#include"College.h"
#include
class College_Manage //: public Student
{
College Mid[50]; //TMAX为常量,为数组中可存储的中学生记录的最大数;
int top; //top表示当前系统中存储的记录个数;
public:
College_Manage(){top=0;} //初始时记录的个数为0,所以设置top=0;
void Add(); //实现该类记录的添加;
void Show(); //实现该类所有记录的显示;
void Search(); //实现该类记录的查询;
void Edit(); //实现该类记录的修改;
void Delete(); //实现该类记录的删除;
void Total(); //实现该类记录的统计;
void Save(); //将该类记录保存到文件;
void Read(); //可从文件中将记录读取到该类的数组中;
void Sort();
};
#endif
#include "Pup_Manage.h"
#include
void Pup_Manage::Add()//函数的实现进行添加功能
{
if(top>=50)
{
cout<<"用户已满"<>choice;
switch(choice)
{
case 1:
{//选择排序
Pupil temp;
int i,j,k;
for(i=0;iMid[k].Sum)
k=j;
if(k!=i)
{
temp=Mid[i];
Mid[i]=Mid[k];
Mid[k]=temp;
}
}
Show(); break;
}
case 2:
{
Pupil temp;
int i,j,k;
for(i=0;iMid[k].Chinese)
k=j;
if(k!=i)
{
temp=Mid[i];
Mid[i]=Mid[k];
Mid[k]=temp;
}
}
Show(); break;
}
case 3:
{
Pupil temp;
int i,j,k;
for(i=0;iMid[k].Math)
k=j;
if(k!=i)
{
temp=Mid[i];
Mid[i]=Mid[k];
Mid[k]=temp;
}
}
Show(); break;
}
case 4:
{
Pupil temp;
int i,j,k;
for(i=0;iMid[k].English)
k=j;
if(k!=i)
{
temp=Mid[i];
Mid[i]=Mid[k];
Mid[k]=temp;
}
}
Show(); break;
}
}
}
void Pup_Manage::Search()//查询功能:可根据编号、姓名等信息对已添加的记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。
{
if(top==0)
{
cout<<"当前系统中没有存储记录"<>choice;
switch(choice)
{
case 1:{
cout<<"请输入要查找的编号:"<>num;
for(int i=0;i>name;
for(int i=0;i>num;
for(int i=0;i>choice;
switch(choice)
{
case 1:
{
cout<<"请输入编号:";
int num;
cin>>num;
for(int i=0;i>choice;
switch(choice)
{
case 1:
{
for(int j=i;j>name;
for(int i=0;i>choice;
switch(choice)
{
case 1:
{
for(int j=i;j>choice;
switch(choice)
{
case 1:cout<<"学生人数为:"<Mid[i].num
>>Mid[i].name
>>Mid[i].sex
>>Mid[i].age
>>Mid[i].clas
>>Mid[i].Chinese
>>Mid[i].Math
>>Mid[i].English
>>Mid[i].Sum
>>Mid[i].Adv)
{
Mid[i].Output();
i++;
top++;
}
in.close();
};
#include "Mid_Manage.h"
#include
void Mid_Manage::Add()
{
if(top>=50)
{
cout<<"用户已满"<>choice;
switch(choice)
{
case 1:
{
Middle temp;
int i,j,k;
for(i=0;iMid[k].Sum)
k=j;
if(k!=i)
{
temp=Mid[i];
Mid[i]=Mid[k];
Mid[k]=temp;
}
}
Show(); break;
}
case 2:
{
Middle temp;
int i,j,k;
for(i=0;iMid[k].Chinese)
k=j;
if(k!=i)
{
temp=Mid[i];
Mid[i]=Mid[k];
Mid[k]=temp;
}
}
Show(); break;
}
case 3:
{
Middle temp;
int i,j,k;
for(i=0;iMid[k].Math)
k=j;
if(k!=i)
{
temp=Mid[i];
Mid[i]=Mid[k];
Mid[k]=temp;
}
}
Show(); break;
}
case 4:
{
Middle temp;
int i,j,k;
for(i=0;iMid[k].English)
k=j;
if(k!=i)
{
temp=Mid[i];
Mid[i]=Mid[k];
Mid[k]=temp;
}
}
Show(); break;
}
case 5:
{
Middle temp;
int i,j,k;
for(i=0;iMid[k].geography)
k=j;
if(k!=i)
{
temp=Mid[i];
Mid[i]=Mid[k];
Mid[k]=temp;
}
}
Show(); break;
}
case 6:
{
Middle temp;
int i,j,k;
for(i=0;iMid[k].history)
k=j;
if(k!=i)
{
temp=Mid[i];
Mid[i]=Mid[k];
Mid[k]=temp;
}
}
Show(); break;
}
}
}
void Mid_Manage::Search()
{ int i;
if(top==0)
{
cout<<"当前系统中没有存储记录"<>choice;
switch(choice)
{
case 1:{
cout<<"请输入要查找的编号:"<>num;
for(int i=0;i>name;
for(int i=0;i>num;
for(int i=0;i>choice;
switch(choice)
{
case 1:
{
cout<<"请输入编号:";
int num;
cin>>num;
for(int i=0;i>choice;
switch(choice)
{
case 1:
{
for(int j=i;j>name;
for(int i=0;i>choice;
switch(choice)
{
case 1:
{
for(int j=i;j>choice;
switch(choice)
{
case 1:cout<<"中学生人数为:"<>Mid[i].num
>>Mid[i].name
>>Mid[i].sex
>>Mid[i].age
>>Mid[i].clas
>>Mid[i].Chinese
>>Mid[i].Math
>>Mid[i].geography
>>Mid[i].history
>>Mid[i].English
>>Mid[i].Sum
>>Mid[i].Adv)
{
Mid[i].Output();
i++;
top++;
}
in.close();
};
#include "College_Manage.h"
#include
void College_Manage::Add()
{
if(top>=50)
{
cout<<"用户已满"<>choice;
switch(choice)
{
case 1:{
cout<<"请输入要查找的编号:"<>num;
for(int i=0;i>name;
for(int i=0;i>choice;
switch(choice)
{
case 1:
{
cout<<"请输入编号:";
int num;
cin>>num;
for(int i=0;i>choice;
switch(choice)
{
case 1:
{
for(int j=i;j>name;
for(int i=0;i>choice;
switch(choice)
{
case 1:
{
for(int j=i;j>num;
for(int i=0;i>choice;
switch(choice)
{
case 1:cout<<"大学生人数为:"<>choice;
switch(choice)
{
case 1:
{
College temp;
int i,j,k;
for(i=0;iMid[k].Sum)
k=j;
if(k!=i)
{
temp=Mid[i];
Mid[i]=Mid[k];
Mid[k]=temp;
}
}
Show(); break;
}
case 2:
{
College temp;
int i,j,k;
for(i=0;iMid[k].English)
k=j;
if(k!=i)
{
temp=Mid[i];
Mid[i]=Mid[k];
Mid[k]=temp;
}
}
Show(); break;
}
case 3:
{
College temp;
int i,j,k;
for(i=0;iMid[k].program)
k=j;
if(k!=i)
{
temp=Mid[i];
Mid[i]=Mid[k];
Mid[k]=temp;
}
}
Show(); break;
}
case 4:
{
College temp;
int i,j,k;
for(i=0;iMid[k].Gmath)
k=j;
if(k!=i)
{
temp=Mid[i];
Mid[i]=Mid[k];
Mid[k]=temp;
}
}
Show(); break;
}
}
}
void College_Manage::Save()
{
ofstream out("D:\ying3.txt",ios::out);
if(!out)
{
cout<<"打开失败!"<>Mid[i].num
>>Mid[i].name
>>Mid[i].sex
>>Mid[i].age
>>Mid[i].clas
>>Mid[i].speciailty
>>Mid[i].English
>>Mid[i].program
>>Mid[i].Gmath
>>Mid[i].Sum
>>Mid[i].Adv
)
{
Mid[i].Output();
i++;
top++;
}
in.close();
};
#include
#include
#include"Pup_Manage.h"
#include"Mid_Manage.h"
#include"College_Manage.h"
void PupMenu();
void MidMenu();
void CollegeMenu();
int main()
{
int choice;
do{
cout<<" 主菜单"<>choice;
switch(choice)
{
case 1:PupMenu();break;
case 2:MidMenu();break;
case 3:CollegeMenu();break;
case 0:cout<<"n您已安全退出系统."<>choice;
switch(choice)
{
case 1:t.Add();break;
case 2:t.Search();break;
case 3:t.Edit();break;
case 4:t.Delete();break;
case 5:t.Show();break;
case 6:t.Save();break;
case 7:t.Read();break;
case 8:t.Total();break;
case 9:t.Sort();break;
case 0:cout<<"退出成功!"<>choice;
switch(choice)
{
case 1:t.Add();break;
case 2:t.Search();break;
case 3:t.Edit();break;
case 4:t.Delete();break;
case 5:t.Show();break;
case 6:t.Save();break;
case 7:t.Read();break;
case 8:t.Total();break;
case 9:t.Sort();break;
case 0:cout<<"退出成功!"<>choice;
switch(choice)
{
case 1:t.Add();break;
case 2:t.Search();break;
case 3:t.Edit();break;
case 4:t.Delete();break;
case 5:t.Show();break;
case 6:t.Save();break;
case 7:t.Read();break;
case 8:t.Total();break;
case 9:t.Sort();break;
case 0:cout<<"退出成功!"<