📄 agrade.cpp
字号:
#include "aGrade.h"
#include<iostream.h>
#include<fstream.h>
#include<stdlib.h>
#include<iomanip.h>
#include<string.h>
aGrade::aGrade()
:ChaoWei5("入学成绩.txt",ios::in),YanZi5("a成绩Modify.txt",ios::in)
{
XueHao=12;
name[30]=NULL;
nianji=1;
banji=1;
chinese=70;
English=70;
math=70;
TT=250;
ChaoWei5.close();
YanZi5.close();
}
void aGrade::bubblesort()
{
struct GradeA{
long XueHao;
char name[30];
int nianji;
int banji;
int chinese;
int English;
int math;
int TT;
};
GradeA Grade[100];
for(int i=0;i<100;i++)
{
Grade[i].XueHao=12;
Grade[i].name[30]=NULL;
Grade[i].nianji=1;
Grade[i].banji=1;
Grade[i].chinese=70;
Grade[i].English=70;
Grade[i].math=70;
Grade[i].TT=250;
}
cout<<"输出数据:"<<endl<<endl;
Print();
int t;
cout<<" +---------------------------------+\n";
cout<<" | 1. 按年级统计 |\n";
cout<<" | 2. 按班级统计 |\n";
cout<<" +---------------------------------+\n";
cout<<" 请输入(1/2):";
cin>>t;
cout<<endl;
int NianJi,b=0;
long hold;
char holdname[30];
cout<<"输入年级(大一为“1”,依次类推):";
cin>>NianJi;
cout<<endl;
ChaoWei5.open("入学成绩.txt",ios::in);
while(ChaoWei5>>XueHao>>name>>nianji>>banji>>chinese>>English>>math>>TT)
{
if(nianji==NianJi)
{
Grade[b].XueHao=XueHao;
strcpy(Grade[b].name,name);
Grade[b].nianji=nianji;
Grade[b].banji=banji;
Grade[b].chinese=chinese;
Grade[b].English=English;
Grade[b].math=math;
Grade[b].TT=TT;
b=b+1;
}
}
ChaoWei5.close();
int pass,Sub;
if(b>2)
{
switch(t)
{
case 1:
{
cout<<" +---------------------------------+\n";
cout<<" | 1. 对语文排序 |\n";
cout<<" | 2. 对英语统计 |\n";
cout<<" | 3. 对数学统计 |\n";
cout<<" | 4. 对理综统计 |\n";
cout<<" +---------------------------------+\n";
cout<<" 请输入1-4:";
cin>>Sub;
switch(Sub)
{
case 1:
{
cout<<"对语文排序:"<<endl<<endl;
for(pass=0;pass<b-1;pass++)
{
for(i=0;i<b-1;i++)
{
if(Grade[i].chinese>Grade[i+1].chinese)
{
hold=Grade[i].XueHao;
Grade[i].XueHao=Grade[i+1].XueHao;
Grade[i+1].XueHao=hold;
strcpy(holdname,Grade[i].name);
strcpy(Grade[i].name,Grade[i+1].name);
strcpy(Grade[i+1].name,holdname);
JiaoHuan(&Grade[i].banji,&Grade[i+1].banji);
JiaoHuan(&Grade[i].chinese,&Grade[i+1].chinese);
JiaoHuan(&Grade[i].English,&Grade[i+1].English);
JiaoHuan(&Grade[i].math,&Grade[i+1].math);
JiaoHuan(&Grade[i].TT,&Grade[i+1].TT);
}
}
}
cout<<setiosflags(ios::left)<<setw(10)<<"学号"<<setw(10)
<<"姓名"<<setw(10)<<"年级"<<setw(10)<<"班级"
<<setw(10)<<"语文"<<setw(10)<<"英语"<<setw(10)
<<"数学"<<setw(10)<<"理综"<<endl;
for(i=0;i<b;i++)
cout<<setiosflags(ios::left)<<setw(10)<<Grade[i].XueHao
<<setw(10)<<Grade[i].name<<setw(10)<<Grade[i].nianji<<setw(10)
<<Grade[i].banji<<setw(10)<<Grade[i].chinese<<setw(10)
<<Grade[i].English<<setw(10)<<Grade[i].math<<setw(10)
<<Grade[i].TT<<endl;
}
break;
case 2:
{
cout<<"对英语排序:"<<endl<<endl;
for(pass=0;pass<b-1;pass++)
for(i=0;i<b-1;i++)
if(Grade[i].English>Grade[i+1].English)
{
hold=Grade[i].XueHao;
Grade[i].XueHao=Grade[i+1].XueHao;
Grade[i+1].XueHao=hold;
strcpy(holdname,Grade[i].name);
strcpy(Grade[i].name,Grade[i+1].name);
strcpy(Grade[i+1].name,holdname);
JiaoHuan(&Grade[i].banji,&Grade[i+1].banji);
JiaoHuan(&Grade[i].chinese,&Grade[i+1].chinese);
JiaoHuan(&Grade[i].English,&Grade[i+1].English);
JiaoHuan(&Grade[i].math,&Grade[i+1].math);
JiaoHuan(&Grade[i].TT,&Grade[i+1].TT);
}
cout<<setiosflags(ios::left)<<setw(10)<<"学号"<<setw(10)
<<"姓名"<<setw(10)<<"年级"<<setw(10)<<"班级"
<<setw(10)<<"语文"<<setw(10)<<"英语"<<setw(10)
<<"数学"<<setw(10)<<"理综"<<endl;
for(i=0;i<b;i++)
cout<<setiosflags(ios::left)<<setw(10)<<Grade[i].XueHao
<<setw(10)<<Grade[i].name<<setw(10)<<Grade[i].nianji<<setw(10)
<<Grade[i].banji<<setw(10)<<Grade[i].chinese<<setw(10)
<<Grade[i].English<<setw(10)<<Grade[i].math<<setw(10)
<<Grade[i].TT<<endl;
}
break;
case 3:
{
cout<<"对数学排序:"<<endl<<endl;
for(pass=0;pass<b-1;pass++)
for(i=0;i<b-1;i++)
if(Grade[i].math>Grade[i+1].math)
{
hold=Grade[i].XueHao;
Grade[i].XueHao=Grade[i+1].XueHao;
Grade[i+1].XueHao=hold;
strcpy(holdname,Grade[i].name);
strcpy(Grade[i].name,Grade[i+1].name);
strcpy(Grade[i+1].name,holdname);
JiaoHuan(&Grade[i].banji,&Grade[i+1].banji);
JiaoHuan(&Grade[i].chinese,&Grade[i+1].chinese);
JiaoHuan(&Grade[i].English,&Grade[i+1].English);
JiaoHuan(&Grade[i].math,&Grade[i+1].math);
JiaoHuan(&Grade[i].TT,&Grade[i+1].TT);
}
cout<<setiosflags(ios::left)<<setw(10)<<"学号"<<setw(10)
<<"姓名"<<setw(10)<<"年级"<<setw(10)<<"班级"
<<setw(10)<<"语文"<<setw(10)<<"英语"<<setw(10)
<<"数学"<<setw(10)<<"理综"<<endl;
for(i=0;i<b;i++)
cout<<setiosflags(ios::left)<<setw(10)<<Grade[i].XueHao
<<setw(10)<<Grade[i].name<<setw(10)<<Grade[i].nianji<<setw(10)
<<Grade[i].banji<<setw(10)<<Grade[i].chinese<<setw(10)
<<Grade[i].English<<setw(10)<<Grade[i].math<<setw(10)
<<Grade[i].TT<<endl;
}
break;
case 4:
{
cout<<"对理综排序:"<<endl<<endl;
for(pass=0;pass<b-1;pass++)
for(i=0;i<b-1;i++)
if(Grade[i].TT>Grade[i+1].TT)
{
hold=Grade[i].XueHao;
Grade[i].XueHao=Grade[i+1].XueHao;
Grade[i+1].XueHao=hold;
strcpy(holdname,Grade[i].name);
strcpy(Grade[i].name,Grade[i+1].name);
strcpy(Grade[i+1].name,holdname);
JiaoHuan(&Grade[i].banji,&Grade[i+1].banji);
JiaoHuan(&Grade[i].chinese,&Grade[i+1].chinese);
JiaoHuan(&Grade[i].English,&Grade[i+1].English);
JiaoHuan(&Grade[i].math,&Grade[i+1].math);
JiaoHuan(&Grade[i].TT,&Grade[i+1].TT);
}
cout<<setiosflags(ios::left)<<setw(10)<<"学号"<<setw(10)
<<"姓名"<<setw(10)<<"年级"<<setw(10)<<"班级"
<<setw(10)<<"语文"<<setw(10)<<"英语"<<setw(10)
<<"数学"<<setw(10)<<"理综"<<endl;
for(i=0;i<b;i++)
cout<<setiosflags(ios::left)<<setw(10)<<Grade[i].XueHao
<<setw(10)<<Grade[i].name<<setw(10)<<Grade[i].nianji<<setw(10)
<<Grade[i].banji<<setw(10)<<Grade[i].chinese<<setw(10)
<<Grade[i].English<<setw(10)<<Grade[i].math<<setw(10)
<<Grade[i].TT<<endl;
}
break;
}
}
break;
case 2:
{
int BanJi;
cout<<"请输入要统计的班级:";
cin>>BanJi;
b=0;
ChaoWei5.open("入学成绩.txt",ios::in);
while(ChaoWei5>>XueHao>>name>>nianji>>banji>>chinese>>English>>math>>TT)
{
if(nianji==NianJi&&banji==BanJi)
{
Grade[b].XueHao=XueHao;
strcpy(Grade[b].name,name);
Grade[b].nianji=nianji;
Grade[b].banji=banji;
Grade[b].chinese=chinese;
Grade[b].English=English;
Grade[b].math=math;
Grade[b].TT=TT;
b=b+1;
}
}
ChaoWei5.close();
if(b>2)
{
cout<<" +---------------------------------+\n";
cout<<" | 1. 对语文排序 |\n";
cout<<" | 2. 对英语统计 |\n";
cout<<" | 3. 对数学统计 |\n";
cout<<" | 4. 对理综统计 |\n";
cout<<" +---------------------------------+\n";
cout<<" 请输入1-4:";
cin>>Sub;
switch(Sub)
{
case 1:
{
cout<<"对语文排序:"<<endl<<endl;
for(pass=0;pass<b-1;pass++)
for(i=0;i<b-1;i++)
if(Grade[i].chinese>Grade[i+1].chinese)
{
hold=Grade[i].XueHao;
Grade[i].XueHao=Grade[i+1].XueHao;
Grade[i+1].XueHao=hold;
strcpy(holdname,Grade[i].name);
strcpy(Grade[i].name,Grade[i+1].name);
strcpy(Grade[i+1].name,holdname);
JiaoHuan(&Grade[i].banji,&Grade[i+1].banji);
JiaoHuan(&Grade[i].chinese,&Grade[i+1].chinese);
JiaoHuan(&Grade[i].English,&Grade[i+1].English);
JiaoHuan(&Grade[i].math,&Grade[i+1].math);
JiaoHuan(&Grade[i].TT,&Grade[i+1].TT);
}
cout<<setiosflags(ios::left)<<setw(10)<<"学号"<<setw(10)
<<"姓名"<<setw(10)<<"年级"<<setw(10)<<"班级"
<<setw(10)<<"语文"<<setw(10)<<"英语"<<setw(10)
<<"数学"<<setw(10)<<"理综"<<endl;
for(i=0;i<b;i++)
cout<<setiosflags(ios::left)<<setw(10)<<Grade[i].XueHao
<<setw(10)<<Grade[i].name<<setw(10)<<Grade[i].nianji<<setw(10)
<<Grade[i].banji<<setw(10)<<Grade[i].chinese<<setw(10)
<<Grade[i].English<<setw(10)<<Grade[i].math<<setw(10)
<<Grade[i].TT<<endl;
}
break;
case 2:
{
cout<<"对英语排序:"<<endl<<endl;
for(pass=0;pass<b-1;pass++)
for(i=0;i<b-1;i++)
if(Grade[i].English>Grade[i+1].English)
{
hold=Grade[i].XueHao;
Grade[i].XueHao=Grade[i+1].XueHao;
Grade[i+1].XueHao=hold;
strcpy(holdname,Grade[i].name);
strcpy(Grade[i].name,Grade[i+1].name);
strcpy(Grade[i+1].name,holdname);
JiaoHuan(&Grade[i].banji,&Grade[i+1].banji);
JiaoHuan(&Grade[i].chinese,&Grade[i+1].chinese);
JiaoHuan(&Grade[i].English,&Grade[i+1].English);
JiaoHuan(&Grade[i].math,&Grade[i+1].math);
JiaoHuan(&Grade[i].TT,&Grade[i+1].TT);
}
cout<<setiosflags(ios::left)<<setw(10)<<"学号"<<setw(10)
<<"姓名"<<setw(10)<<"年级"<<setw(10)<<"班级"
<<setw(10)<<"语文"<<setw(10)<<"英语"<<setw(10)
<<"数学"<<setw(10)<<"理综"<<endl;
for(i=0;i<b;i++)
cout<<setiosflags(ios::left)<<setw(10)<<Grade[i].XueHao
<<setw(10)<<Grade[i].name<<setw(10)<<Grade[i].nianji<<setw(10)
<<Grade[i].banji<<setw(10)<<Grade[i].chinese<<setw(10)
<<Grade[i].English<<setw(10)<<Grade[i].math<<setw(10)
<<Grade[i].TT<<endl;
}
break;
case 3:
{
cout<<"对数学排序:"<<endl<<endl;
for(pass=0;pass<b-1;pass++)
for(i=0;i<b-1;i++)
if(Grade[i].math>Grade[i+1].math)
{
hold=Grade[i].XueHao;
Grade[i].XueHao=Grade[i+1].XueHao;
Grade[i+1].XueHao=hold;
strcpy(holdname,Grade[i].name);
strcpy(Grade[i].name,Grade[i+1].name);
strcpy(Grade[i+1].name,holdname);
JiaoHuan(&Grade[i].banji,&Grade[i+1].banji);
JiaoHuan(&Grade[i].chinese,&Grade[i+1].chinese);
JiaoHuan(&Grade[i].English,&Grade[i+1].English);
JiaoHuan(&Grade[i].math,&Grade[i+1].math);
JiaoHuan(&Grade[i].TT,&Grade[i+1].TT);
}
cout<<setiosflags(ios::left)<<setw(10)<<"学号"<<setw(10)
<<"姓名"<<setw(10)<<"年级"<<setw(10)<<"班级"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -