#include<iostream>
#include<string>
#include<fstream>
#include<iomanip>
int NN;
using namespace std;
template <class T>//类模板
class array
{  T *p;
int size;
public:
array();
array(int n);
~array();
T &operator [](int i);
};
template <class T>
array<T>::array(int n)
{size=n;
p=new T[size];}
template <class T>
array<T>::~array()
{delete []p;}
template <class T>
T &array<T>::operator [](int i)
{return p[i];}
class student
{ string name;//姓名
int IDnumber;//准考证号
string sex;//性别
string T;//是否为应届(1为是,0为否)
int special;//(专业代码:计算机专业:001,经济学专业:002,机械制造专业:003)
double scorePolitics;//政治
double scoreMaths;//数学
double scoreEnglish;//英语
double scoreSpecial;//专业
double scoresum;//总分
public:
string Getname()          {return name;}
int GetIDnumber()          {return IDnumber;}
string  Getsex()          {return sex;}
string GetT()              {return T;}
2022年考研报名入口int Getspecial()          {return special;}
double GetscorePolitics()  {return scorePolitics;}
double GetscoreMaths()    {return scoreMaths;}
double GetscoreEnglish()  {return scoreEnglish;}
double GetscoreSpecial()  {return scoreSpecial;}
double Getsum()            {return scoresum=scorePolitics+scoreMaths+scoreEnglish+scoreSpecial;}
friend void Insert();//添加
friend void Delete();//删除
friend void Sort();//排序
friend void Search();//查询
friend void Showscore();//分数线显示
friend void display();//录取结果显示
friend istream &operator>>(istream &cin, student &p)//输入流重载
{ cin>>p.name;
cin>>p.IDnumber;
cin>>p.sex;
cin>>p.T;
cin>>p.special;研究生专业目录一览表2022最新
cin>>p.scorePolitics;
cin>>p.scoreMaths;
cin>>p.scoreEnglish;
cin>>p.scoreSpecial;
return cin;
}
friend ostream  &operator<<(ostream &cout,student a)//输出流重载
{cout<<a.name<<setw(5)<<a.IDnumber<<setw(5)<<a.sex<<setw(5)<<a.T<<setw(5)<<a.special<<setw(5)<<
a.scorePolitics<<setw(5)<<a.scoreMaths<<setw(5)<<a.scoreEnglish<<setw(5)<<a.scoreSpecial;
return cout;
}
};
void Insert()//添加
student key;
int k=1;广东省省考报名入口
while(k==1)
{cout<<"请输入要添加的考生信息:"<<endl;
cout<<"请按下列顺序输入:"<<endl;
cout<<"姓名---->"<<"准考证号---->"<<"性别(w/m)---->"<<"是否应届(1是/0否)---->"
<<"专业代码(001计算机专业/002经济学专业/003机械制造专业)---->"
<<"政治成绩---->"<<"数学成绩---->"<<"英语成绩---->"<<"专业课成绩"<<endl;
cin>>key;
ofstream f1("考生信息.txt",ios::app);
f1<<key<<endl;
f1.close();
cout<<"考生信息已成功添加!"<<endl;
cout<<" 是否要继续?(选择1继续,其他任意数字键返回) "<<endl;
cin>>k;}
void Delete()//删除
{
int i,m,k=1;NN=100;int y=0;
i
nt num;
array<student> stu(NN);
ifstream f2("考生信息.txt");
for(i=0;i<NN;i++) 
{f2>>stu[i];
f()){NN=i;break;}
}
f2.close();
while(k==1)
{cout<<"请输入您要删除的学生准考证号:"<<endl;
cin>>num;
for(i=0;i<NN;i++)
if (stu[i].GetIDnumber()==num)
{ y=1; m=i;}
for(i=m;i<NN;i++)
stu[i]=stu[i+1];
ofstream f3("考生信息.txt");
for(i=0;i<NN-1;i++)
f3<<stu[i]<<endl;
f3.close();
if(y==1)
cout<<"信息已被删除!"<<endl;
else
cout<<"不存在该生!"<<endl;
cout<<" 是否要继续?(选择1继续,其他任意数字键返回) "<<endl;
cin>>k;}
}
void Sort()//排序
{
int i,j,key=0,k=1;
student t;
char d;
NN=100;
array<student> stu1(NN);
array<student> stu2(NN);
ifstream f4("考生信息.txt");
for(i=0;i<NN;i++)
{f4>>stu1[i];
f())
{NN=i;break;}
}
f4.close();
while(k==1)
{ cout<<"-------------请选择专业:------------"<<endl;
cout<<"**********1**********计算机专业"<<endl;
cout<<"**********2**********经济学专业"<<endl;
cout<<"**********3**********机械制造专业"<<endl;
cout<<"**********4**********所有考生"<<endl;
cin>>d;
key=0;
switch(d)
{case '1':
{for(i=0;i<=NN;i++)
if (stu1[i].Getspecial()==001) 
{stu2[key]=stu1[i];
key++;}
for(i=0;i<key-1;i++)
for(j=i+1;j<key;j++)
if(stu2[j].Getsum()<stu2[i].Getsum())
{t=stu2[i];stu2[i]=stu2[j];stu2[j]=t;}
for(i=0;i<key;i++)
cout<<stu2[i]<<endl;
}break;
case '2':
{for(i=0;i<=NN;i++)
if (stu1[i].Getspecial()==002) 
{stu2[key]=stu1[i];
key++;}
for(i=0;i<key-1;i++)
for(j=i+1;j<key;j++)
if(stu2[j].Getsum()<stu2[i].Getsum())
{t=stu2[i];stu2[i]=stu2[j];stu2[j]=t;}
for(i=0;i<key;i++)
cout<<stu2[i]<<endl;
}break;
case '3':
{for(i=0;i<=NN;i++)
if (stu1[i].Getspecial()==003) 
{stu2[key]=stu1[i];
key++;}
for(i=0;i<key-1;i++)
for(j=i+1;j<key;j++)
if(stu2[j].Getsum()<stu2[i].Getsum())
{t=stu2[i];stu2[i]=stu2[j];stu2[j]=t;}
for(i=0;i<key;i++)
cout<<stu2[i]<<endl;
}break;
case '4':
{for(i=0;i<=NN;i++)
for(j=i+1;j<NN;j++)
if(stu1[j].Getsum()<stu1[i].Getsum())
{t=stu1[i];stu1[i]=stu1[j];stu1[j]=t;}
for(i=0;i<NN;i++)
cout<<stu1[i]<<endl;}break;
default:cout<<"数据输入错误!"<<endl;
}
cout<<" 是否要继续?(选择1继续,其他任意数字键返回) "<<endl;
cin>>k;
}
}
void Search()//查询
{
int key,i,k=1;
NN=100;
array<student> stu(NN);
int m;
ifstream f5("考生信息.txt");
for(i=0;i<NN;i++)
{f5>>stu[i];
f())
{NN=i;break;}}
while(k==1)
{key=-1;
cout<<"请输入你要查询学生的准考证号:"<<endl;
cin>>m;
for( i=0;i<=NN;i++)
if(stu[i].GetIDnumber()==m)
key
=i;
if(key==-1)cout<<" asa";
else cout<<"您要查询的学生是:"<<stu[key]<<endl;
cout<<" 是否要继续?(选择1继续,其他任意数字键返回) "<<endl;
cin>>k;
}
}
void Showscore()//分数线显示
{
cout<<"下列为**大学研究生初试各专业各科目最低分数要求:"<<endl;
cout<<"基础科目最低分数要求:"<<endl;
cout<<"政治"<<setw(3)<<"45"<<endl;
cout<<"数学"<<setw(3)<<"45"<<endl;
cout<<"英语"<<setw(3)<<"45"<<endl;
cout<<"各专业课最低分数要求:"<<endl;
cout<<"计算机专业:"<<setw(3)<<"65"<<endl;
cout<<"经济学专业:"<<setw(3)<<"65"<<endl;
cout<<"机械制造专业:"<<setw(3)<<"65"<<endl;
cout<<"计算机专业初试应届总分分数线为:"<<"310"<<endl;
cout<<"计算机专业初试历届总分分数线为:"<<"315"<<endl;
cout<<"经济学专业初试应届总分分数线为:"<<"310"<<endl;
cout<<"经济学专业初试历届总分分数线为:"<<"315"<<endl;
cout<<"机械制造专业初试应届总分分数线为:"<<"310"<<endl;
cout<<"机械制造专业初试历届总分分数线为:"<<"315"<<endl;
}
void display()//录取考生信息显示
{ifstream f6("考生信息.txt");int r,i,k=1,count=0;NN=100;
array<student> stu(NN);
for(i=0;i<NN;i++)
{f6>>stu[i];
f()){NN=i;break;}
}
while(k==1)
{cout<<"------------------------应届考生录取结果----------------------1"<<endl;
cout<<"------------------------ 历届考生录取结果----------------------2"<<endl;
cout<<"---------------------------所有录取结果------------------------3"<<endl;
count=0;
cin>>r;
switch(r)
{
case 1:
{cout<<"---------------------应届考生录取结果--------------------"<<endl;
cout<<" 姓名 "<<" 准考证号 "<<" 性别 "<<" 专业代码 "<<" 政治成绩 "<<" 数学成绩 "<<" 英语成绩 "<<" 专业课成绩 "
<<" 总分 "<<endl;
ofstream f7("录取结果.txt",ios_base::app);
for(i=0;i<=NN;i++)
if(stu[i].GetT()=="1")
{if((stu[i].Getsum()>=310)&&(stu[i].scorePolitics>=45)&&(stu[i].scoreMaths>=45)
&&(stu[i].scoreEnglish>=45)&&(stu[i].scoreSpecial>=65))23年考研分数线
{cout<<stu[i]<<endl;f7<<stu[i]<<endl;count++;}
职称证书在线查询系统
}cout<<" 应届考生中有 "<<count<<"人"<<"被录取!"<<endl;
f7.close();}break;
case 2:
{cout<<"---------------------历届考生录取结果--------------------"<<endl;
cout<<" 姓名 "<<" 准考证号 "<<" 性别 "<<" 专业代码 "<<" 政治成绩 "<<" 数学成绩 "<<" 英语成绩 "<<" 专业课成绩 "
<<" 总分 "<<endl;
ofstream f7("录取结果.txt",ios_base::app);
for(i=0;i<=NN;i++)
if(stu[i].GetT()=="0")
{if((stu[i].Getsum()>=315)&&(stu[i].scorePolitics>=45)&&(stu[i].scoreMaths>=45)
&&(stu[i].scoreEnglish>=45)&&(stu[i].scoreSpecial>=65))
{cout<<stu[i]<<endl;f7<<stu[i]<<endl;}
}
cout<<" 历届考生中有 "<<count<<"人
泗水教育网
"<<"被录取!"<<endl;
f7.close();}break;
case 3:
{cout<<"---------------------研究生初试录取结果------------------------"<<endl;
cout<<" 姓名 "<<" 准考证号 "<<" 性别 "<<" 专业代码 "<<" 政治成绩 "<<" 数学成绩 "<<" 英语成绩 "<<" 专业课成绩 "
<<" 总分 "<<endl;
ofstream f7("录取结果.txt",ios_base::app);
for(i=0;i<=NN;i++)
{if(((stu[i].Getsum()>=315)&&(stu[i].scorePolitics>=45)&&(stu[i].scoreMaths>=45)
&&(stu[i].scoreEnglish>=45)&&(stu[i].scoreSpecial>=65))||((stu[i].Getsum()>=310)&&(stu[i].scorePolitics>=45)&&(stu[i].scoreMaths>=45)
&&(stu[i].scoreEnglish>=45)&&(stu[i].scoreSpecial>=65)))
{cout<<stu[i]<<endl;f7<<stu[i]<<endl;count++;}
}
cout<<" 所有考生中有 "<<count<<"人"<<"被录取!"<<endl;
f7.close();}break;
default:cout<<"数据输入错误!"<<endl;}
cout<<" 是否要继续?(选择1继续,其他任意数字键返回) "<<endl;
cin>>k;
}
f6.close();
}
void main()//主函数
{
int i,k=1;
cout<<"          ______________________________________________"<<endl;
cout<<"        |                                              |"<<endl;
cout<<"        |      欢迎进入研究生初试录取管理系统!        |"<<endl;
cout<<"        |______________________________________________|"<<endl;
while(k==1){
cout<<"        *---------------------^@^--------------------*"<<endl;
cout<<"        *----------------1插入考生信息---------------*"<<endl;
cout<<"        *----------------2删除考生信息---------------*"<<endl;
cout<<"        *----------------3查询考生信息---------------*"<<endl;
cout<<"        *----------------4考生成绩排序---------------*"<<endl;
cout<<"        *----------------5录取分数线-----------------*"<<endl;
cout<<"        *----------------6合格考生名单---------------*"<<endl;
cout<<"        *------------------7退出系统-----------------*"<<endl;
cin>>i;
switch(i)
{case 1: Insert();
break;     
case 2:Delete();
break;
case 3: Search();
break;
case 4:Sort();
break;
case 5:Showscore();
break;
case 6: display();
break;
case 7: k=0;
break;
}
}
}