#include <iostream.h>
#include<string.h>
class student
{
double sno; //学号
char name[10]; //姓名
char sex[2]; //性别
double math; //数学成绩
double english; //英语成绩
double computer; //计算机成绩
double score;
public:
void input();//输入函数
void output();//输出
friend void paixu(student stu[50]);//程序的排序
friend void search(student stu[50]);//查找
friend void tongji(student stu[50]);//统计
friend void weihu(student stu[50]);//维护
};
void student::input()
{
cout<<"请输入学生的学号,姓名,性别,数学,英语,计算机成绩"<<endl;
cin>>sno>>name>>sex>>math>>english>>computer;
}
void student::output()
{
score=math+english+computer;
cout<<" "<<sno<<" "<<name<<" "<<sex<<" "<<math<<"
"<<english<<" "<<computer<<" "<<score<<endl;
}
void paixu(student stu[50])
{
student s;
for(int i=0;i<50;i++)
{
for(int j=0;j<50;j++)
if(stu[j].score<stu[j+1].score)
{
s=stu[j];
stu[j]=stu[j+1];
stu[j+1]=s;
}
}
}
void search(student stu[50] )
{
cout<<"输入要查找的学生学号"<<endl;
double t ;
cin>>t;
for(int i=0;i<50;i++)
if(stu[i].sno==t)
cout<<stu[i].sno<<"
,,"<<stu[i].name<<",,"<<stu[i].sex<<",,"<<stu[i].math<<
",,"<<stu[i].english<<",,"<<stu[i].computer<<",,"<<stu[i].score<<endl;
}
void tongji(student stu[50])
{
cout<<"输入 1.数学,2.英语,3.计算机"<<endl;
cout<<"输入课程"<<endl;
int t;cin>>t;
if(t==1)
{
cout<<"输入要找的分数段"<<endl;
int m,n;
cin>>m>>n;
if(m>n)
{
int t;
t=m;
m=n;
n=t;
}
for(int i=0;i<50;i++)
if(stu[i].math>m&&stu[i].math<n)
cout<<stu[i].math<<endl;
}
if(t==2)
{
cout<<"输入要找的分数段"<<endl;
int m,n;
cin>>m>>n;
if(m>n)
{
int t;
t=m;
m=n;
n=t;
}
for(int i=0;i<50;i++)
if(stu[i].english>m&&stu[i].english<n)
cout<<stu[i].english<<endl;
}
if(t==3)
{
cout<<"输入要找的分数段"<<endl;
int m,n;
cin>>m>>n;
if(m>n)
{
int t;
t=m;
m=n;
n=t;
}
for(int i=0;i<50;i++)
if(stu[i].computer>m&&stu[i].computer<n)
cout<<stu[i].computer<<endl;
}
}
void weihu(student stu[50])
{
cout<<"输入要维护的选项,1.增加,2.删除,3.修改"<<endl;
int n,t,i;
cin>>n;
switch(n)
{
case 1:cout<<"输入要增加的个数"<<endl;
int w;cin>>w;
for(t=0;t<w;t++)
stu[t].input();
break;
case 2:cout<<"输入要删除的人的学号"<<endl;
int k;cin>>k;
student s;
for( i=0;i<50;i++)
if(stu[i].sno==k)
{
s=stu[i];
stu[i]=stu[i+1];
}
break;
case 3:cout<<"输入要修改的学号"<< endl;
int e;cin>>e;
for(int i=0;i<50;i++)
if(stu[i].sno==e)
{
cout<<"输入要该的信息1.数学成绩,2.英语,3.计算机"
<< endl;
int p;cin>>p;
switch(p)
{
case 1:cout<<" 输入数学成绩"<<endl;
int n; cin>>n;
stu[i].math=n;break;
case 2:cout<<" 输入英语成绩"<<endl;
cin>>n;
stu[i].english=n;break;
case 3:cout<<" 输入计算机成绩"<<endl;
cin>>n;
stu[i].computer=n;break;
}
}
}
}
void main()
{
student stu[50];
cout<<"*************************输入学生基本信息
和成绩*************************"<<endl;
cout<<"输入学生的人数"<<endl;
int count;cin>>count;
for(int i=0;i<count;i++)
stu[i].input();
cout<<" 学号*姓名*性别*数学*英语* 计算机*总成绩"<<endl;
for( i=0;i<count;i++)
stu[i].output();
int choice;
lab: cout<<
"***********************学生学籍管理系统***************************************";
cout<< " 1.成绩排序,2.数据查询 3.统计数据 4.
维护系统,5.退出程序"<<endl;
cout<<
"******************************************************************************"<<endl;
cin>>choice;
while(choice!=5)
{
switch(choice)
{
case 1: paixu(stu);
for( i=0;i<count;i++)
stu[i].output();
break;
case 2:search(stu);
break;
case 3:tongji(stu);
break;
case 4:weihu(stu);
for( i=0;i<count-1;i++)
stu[i].output();
break;
}
cout<<"是否继续?1.继续,2.退出"<<endl;
int p;cin>>p;
if( p==1)
goto lab;
else
break;
}
}