📄 bgrade.cpp
字号:
#include "bGrade.h"
#include<iostream.h>
#include<fstream.h>
#include<stdlib.h>
#include<iomanip.h>
#include<string.h>
bGrade::bGrade()
:ChaoWei4("成绩.txt",ios::in),YanZi4("b成绩Modify.txt",ios::in)
{
XueHao=12;
name[30]=NULL;
nianji=1;
banji=1;
c=70;
English=70;
math=70;
wuli=250;
ChaoWei4.close();
YanZi4.close();
}
void bGrade::bubblesort()
{
struct GradeB{
long XueHao;
char name[30];
int nianji;
int banji;
int c;
int English;
int math;
int wuli;
};
GradeB 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].c=70;
Grade[i].English=70;
Grade[i].math=70;
Grade[i].wuli=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;
ChaoWei4.open("成绩.txt",ios::in);
while(ChaoWei4>>XueHao>>name>>nianji>>banji>>c>>English>>math>>wuli)
{
if(nianji==NianJi)
{
Grade[b].XueHao=XueHao;
strcpy(Grade[b].name,name);
Grade[b].nianji=nianji;
Grade[b].banji=banji;
Grade[b].c=c;
Grade[b].English=English;
Grade[b].math=math;
Grade[b].wuli=wuli;
b=b+1;
}
}
ChaoWei4.close();
int pass,Sub;
if(b>2)
{
switch(t)
{
case 1:
{
cout<<" +---------------------------------+\n";
cout<<" | 1. 对c++排序 |\n";
cout<<" | 2. 对英语统计 |\n";
cout<<" | 3. 对数学统计 |\n";
cout<<" | 4. 对物理统计 |\n";
cout<<" +---------------------------------+\n";
cout<<" 请输入1-4:";
cin>>Sub;
switch(Sub)
{
case 1:
{
cout<<"对c++排序:"<<endl<<endl;
for(pass=0;pass<b-1;pass++)
{
for(i=0;i<b-1;i++)
{
if(Grade[i].c>Grade[i+1].c)
{
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].c,&Grade[i+1].c);
JiaoHuan(&Grade[i].English,&Grade[i+1].English);
JiaoHuan(&Grade[i].math,&Grade[i+1].math);
JiaoHuan(&Grade[i].wuli,&Grade[i+1].wuli);
}
}
}
cout<<setiosflags(ios::left)<<setw(10)<<"学号"<<setw(10)
<<"姓名"<<setw(10)<<"年级"<<setw(10)<<"班级"
<<setw(10)<<"C++"<<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].c<<setw(10)
<<Grade[i].English<<setw(10)<<Grade[i].math<<setw(10)
<<Grade[i].wuli<<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].c,&Grade[i+1].c);
JiaoHuan(&Grade[i].English,&Grade[i+1].English);
JiaoHuan(&Grade[i].math,&Grade[i+1].math);
JiaoHuan(&Grade[i].wuli,&Grade[i+1].wuli);
}
cout<<setiosflags(ios::left)<<setw(10)<<"学号"<<setw(10)
<<"姓名"<<setw(10)<<"年级"<<setw(10)<<"班级"
<<setw(10)<<"C++"<<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].c<<setw(10)
<<Grade[i].English<<setw(10)<<Grade[i].math<<setw(10)
<<Grade[i].wuli<<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].c,&Grade[i+1].c);
JiaoHuan(&Grade[i].English,&Grade[i+1].English);
JiaoHuan(&Grade[i].math,&Grade[i+1].math);
JiaoHuan(&Grade[i].wuli,&Grade[i+1].wuli);
}
cout<<setiosflags(ios::left)<<setw(10)<<"学号"<<setw(10)
<<"姓名"<<setw(10)<<"年级"<<setw(10)<<"班级"
<<setw(10)<<"C++"<<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].c<<setw(10)
<<Grade[i].English<<setw(10)<<Grade[i].math<<setw(10)
<<Grade[i].wuli<<endl;
}
break;
case 4:
{
cout<<"对物理排序:"<<endl<<endl;
for(pass=0;pass<b-1;pass++)
for(i=0;i<b-1;i++)
if(Grade[i].wuli>Grade[i+1].wuli)
{
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].c,&Grade[i+1].c);
JiaoHuan(&Grade[i].English,&Grade[i+1].English);
JiaoHuan(&Grade[i].math,&Grade[i+1].math);
JiaoHuan(&Grade[i].wuli,&Grade[i+1].wuli);
}
cout<<setiosflags(ios::left)<<setw(10)<<"学号"<<setw(10)
<<"姓名"<<setw(10)<<"年级"<<setw(10)<<"班级"
<<setw(10)<<"C++"<<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].c<<setw(10)
<<Grade[i].English<<setw(10)<<Grade[i].math<<setw(10)
<<Grade[i].wuli<<endl;
}
break;
}
}
break;
case 2:
{
int BanJi;
cout<<"请输入要统计的班级:";
cin>>BanJi;
b=0;
ChaoWei4.open("成绩.txt",ios::in);
while(ChaoWei4>>XueHao>>name>>nianji>>banji>>c>>English>>math>>wuli)
{
if(nianji==NianJi&&banji==BanJi)
{
Grade[b].XueHao=XueHao;
strcpy(Grade[b].name,name);
Grade[b].nianji=nianji;
Grade[b].banji=banji;
Grade[b].c=c;
Grade[b].English=English;
Grade[b].math=math;
Grade[b].wuli=wuli;
b=b+1;
}
}
ChaoWei4.close();
if(b>2)
{
cout<<" +---------------------------------+\n";
cout<<" | 1. 对c++排序 |\n";
cout<<" | 2. 对英语统计 |\n";
cout<<" | 3. 对数学统计 |\n";
cout<<" | 4. 对物理统计 |\n";
cout<<" +---------------------------------+\n";
cout<<" 请输入1-4:";
cin>>Sub;
switch(Sub)
{
case 1:
{
cout<<"对C++排序:"<<endl<<endl;
for(pass=0;pass<b-1;pass++)
for(i=0;i<b-1;i++)
if(Grade[i].c>Grade[i+1].c)
{
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].c,&Grade[i+1].c);
JiaoHuan(&Grade[i].English,&Grade[i+1].English);
JiaoHuan(&Grade[i].math,&Grade[i+1].math);
JiaoHuan(&Grade[i].wuli,&Grade[i+1].wuli);
}
cout<<setiosflags(ios::left)<<setw(10)<<"学号"<<setw(10)
<<"姓名"<<setw(10)<<"年级"<<setw(10)<<"班级"
<<setw(10)<<"C++"<<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].c<<setw(10)
<<Grade[i].English<<setw(10)<<Grade[i].math<<setw(10)
<<Grade[i].wuli<<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].c,&Grade[i+1].c);
JiaoHuan(&Grade[i].English,&Grade[i+1].English);
JiaoHuan(&Grade[i].math,&Grade[i+1].math);
JiaoHuan(&Grade[i].wuli,&Grade[i+1].wuli);
}
cout<<setiosflags(ios::left)<<setw(10)<<"学号"<<setw(10)
<<"姓名"<<setw(10)<<"年级"<<setw(10)<<"班级"
<<setw(10)<<"C++"<<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].c<<setw(10)
<<Grade[i].English<<setw(10)<<Grade[i].math<<setw(10)
<<Grade[i].wuli<<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].c,&Grade[i+1].c);
JiaoHuan(&Grade[i].English,&Grade[i+1].English);
JiaoHuan(&Grade[i].math,&Grade[i+1].math);
JiaoHuan(&Grade[i].wuli,&Grade[i+1].wuli);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -