C++学生成绩管理系统

这是我刚改的代码,增加了求平均分的功能。

# include & ltiostream.h & gt

# include & ltstring.h & gt

# include & ltfstream.h & gt

班级学生

{

char name[20];

int ba

双数、数、中、英、均、和;

公共:

斯图()

{

}

stu(char n[20],int ban,double nu,double ma,double chin,double eng)

{

strcpy(名称,n);

ba = ban

数字= nu

数学=马;

中文=下巴;

英语= eng

}

double getsum()

{

sum =语文+英语+数学;

返回总和;

}

double getaver()

{

average = getsum()/3;

回报平均值;

}

朋友void main();

};

void main()

{

cout & lt& lt“(0)数据录入(1)增加人员”

cout & lt& lt“(2)删除人员(3)修改数据”

cout & lt& lt“(4)按学号查询(5)按姓名查询”

cout & lt& lt“(6)输出所有学生的数据(7)根据总分查询排名”

cout & lt& lt“(8)通过语言查询排序(9)通过数学查询排序”

cout & lt& lt"(y)按英文查询排序"

cout & lt& lt"请在相关括号中输入阿拉伯数字或字母,以选择相关操作!"& lt& ltendl

char p;char w;

stu * s[50];

of stream * file[50];

int I = 0;

int j = 0;

bool flag 2 = 0;

{

CIN & gt;& gtp;

如果((p & gt= ' 0 ' & amp& ampp & lt='9'))

flag 2 = 1;

其他

cout & lt& lt“命令错误!请重新输入: "

} while(flag 2 = = 0);

做{

开关(p)

{

案例“0”:

{

char c;

char name[20];int ba双数,数学,语文,英语;

做{

cout & lt& lt"请输入一个名称"

CIN & gt;& gt姓名;

cout & lt& lt"请输入一个类别:"

CIN & gt;& gt巴;

cout & lt& lt"请输入您要添加的学生的学号:"

CIN & gt;& gt号码;

cout & lt& lt"请输入你的数学分数:"

CIN & gt;& gt数学;

cout & lt& lt"请输入语言分数:"

CIN & gt;& gt中文;

cout & lt& lt"请输入外语分数:"

CIN & gt;& gt英语;

file[j]= new of stream(" d:\ \ document ",IOs::ate);

* file[j]& lt;& lt"名称"

j++;

s[i]=new stu(姓名、ba、数字、数学、语文、英语);

i++;

cout & lt& lt“数据输入成功,是否继续输入(y/n)”& lt;& ltendl

CIN & gt;& gtc;

{

如果(c!= ' y ' & amp& ampc!='n ')

{

cout & lt& lt“命令错误!请重新输入!”& lt& ltendl

CIN & gt;& gtc;

}

其他

flag 2 = 1;

} while(flag 2 = = 0);

} while(c = = ' y ');

打破;

}

案例“1”:

{

char name[20];int ba双数,数学,语文,英语;

char c;

{

cout & lt& lt"请输入您想添加的学生姓名:"

CIN & gt;& gt姓名;

cout & lt& lt"请输入要添加的学生的班级:"

CIN & gt;& gt巴;

cout & lt& lt"请输入您要添加的学生的学号:"

CIN & gt;& gt号码;

cout & lt& lt"请输入你的数学分数:"

CIN & gt;& gt数学;

cout & lt& lt"请输入语言分数:"

CIN & gt;& gt中文;

cout & lt& lt"请输入外语分数:"

CIN & gt;& gt英语;

file[j]= new of stream(" d:\ \ document ",IOs::ate);

* file[j]& lt;& lt"名称"

j++;

s[i]=new stu(姓名、ba、数字、数学、语文、英语);

i++;

cout & lt& lt“数据输入成功,是否继续输入(y/n)”& lt;& ltendl

CIN & gt;& gtc;

如果(c!= ' y ' & amp& ampc!='n ')

{

cout & lt& lt“命令错误!请重新输入!”& lt& ltendl

CIN & gt;& gtc;

}

} while(c = = ' y ');

打破;

}

案例“2”:

{

char name[20];布尔标志3 = 0;char c;

做{

cout & lt& lt"请输入您要删除的学生姓名:"

CIN & gt;& gt姓名;

for(int h = 0;h & lt我;h++)

{

if(strcmp(name,s[h]-& gt;name)==0)

{

flag 3 = 1;

I-;

做{

s[h]= s[h+1];

h++;

} while(h & lt;= I);

}

}

if(flag3==0)

cout & lt& lt"您请求删除的对象不存在!请检查输入的正确性!”;

cout & lt& lt"您想继续删除吗?(y/n)" & lt;& ltendl

CIN & gt;& gtc;

如果(c!= ' y ' & amp& ampc!='n ')

{

cout & lt& lt“命令错误!请重新输入!”& lt& ltendl

CIN & gt;& gtc;

}

} while(c = = ' y ');

打破;

}

案例“3”:

{

char name[20];双垫,下巴,引擎;flag 2 = 0;

char c;

{

cout & lt& lt"请输入您要修改的学生姓名:"

CIN & gt;& gt姓名;

for(int h = 0;h & lt我;h++)

{

if(strcmp(name,s[h]-& gt;name)==0)

{

flag 2 = 1;

cout & lt& lt"请输入新的数学分数:"

CIN & gt;& gt垫子;

cout & lt& lt请输入新的语言分数:“< & ltendl

CIN & gt;& gt下巴;

cout & lt& lt"请输入新的外语分数:"

CIN & gt;& gteng

s[h]-& gt;中文=下巴;

s[h]-& gt;数学= mat

s[h]-& gt;英语= eng

cout & lt& lt"数据修改成功!";

}

}

if(flag2==0)

{

cout & lt& lt“您要修改的学生不存在!请检查并重新输入!”& lt& ltendl

}

cout & lt& lt"是否要继续修改(y/n)"

CIN & gt;& gtc;

如果(c!= ' y ' & amp& ampc!='n ')

{

cout & lt& lt“命令错误!请重新输入!”& lt& ltendl

CIN & gt;& gtc;

}

} while(c = = ' y ');

打破;

}

案例“4”:

{

双t;char c;

{

int flag 1 = 0;

cout & lt& lt“请输入您要查询的学生的学号”< & ltendl

CIN & gt;& gtt;

for(int q = 0;q & lt我;q++)

{

if(s[q]-& gt;数量==t)

{

flag 1 = 1;

cout & lt& lt"您要查询的学生是:"

& lt& lt"数学成绩:"

& lt& lt"中文分数:"

& lt& lt“英语成绩是”< & lts[q]-& gt;英语

& lt& lt"总分:"

& lt& ltendl

}

}

if(flag1==0)

cout & lt& lt“对不起!您要查询的学生不存在!”& lt& ltendl

cout & lt& lt“要继续查询吗?(y/n)" & lt;& ltendl

CIN & gt;& gtc;

如果(c!= ' y ' & amp& ampc!='n ')

{

cout & lt& lt“命令错误!请重新输入!”& lt& ltendl

CIN & gt;& gtc;

}

}

while(c = = ' y ');

打破;

}

案例“5”:

{

char n[20];int j = 0;char c;

做{

int flag = 0;

cout & lt& lt"请输入您要查询的学生姓名"

CIN & gt;& gtn;

for(int j = 0;j & lt我;j++)

{

if(strcmp(n,(*s[j])。name)==0)

{

flag = 1;

cout & lt& lt"您要查询的学生是:"

& lt& ltendl

cout & lt& lt(*s[j])。名称& lt& lt“是”的总得分

& lt& lt"类别:"

& lt& lt"语言:"

& lt& lt"数学:"

& lt& lt"外语:"

& lt& lt"平均分数是:"

& lt& ltendl

}

}

如果(标志==0)

cout & lt& lt“对不起!您要查询的学生不存在!”& lt& ltendl

cout & lt& lt“要继续查询吗?(y/n)" & lt;& ltendl

CIN & gt;& gtc;

如果(c!= ' y ' & amp& ampc!='n ')

{

cout & lt& lt“命令错误!请重新输入!”& lt& ltendl

CIN & gt;& gtc;

}

}

while(c = = ' y ');

打破;

}

案例“6”:

{

cout & lt& lt"该系统中所有学生的数据如下:"

如果(i==0)

cout & lt& lt"管理系统中没有输入数据或数据已被删除!"& lt& ltendl

for(int k = 0;k & lt我;k++)

{

cout & lt& ltk+1 & lt;& lt" " " & lt& lt"名称:"

& lt& lt“类”

& lt& lt“学号”< & lts[k]-& gt;数字

& lt& lt"语言:"

& lt& lt" " " & lt& lts[k]-& gt;数学

& lt& lt"外语:"

& lt& lt"总分:"

& lt& lt"平均分数:"

& lt& ltendl

}

打破;

}

案例“7”:

{

int t;斯图b;

cout & lt& lt"本系统所有学生的总成绩排名如下:"

for(int x = 0;x & ltI-1;x++)

{

t = x;

for(int y = x+1;y & lt我;y++)

{

if((s[t]-& gt;getsum())& lt;(s[y]-& gt;getsum()))

t = y;

如果(t!=x)

{

b = * s[x];

* s[x]= * s[t];

* s[t]= b;

}

}

}

如果(i==0)

cout & lt& lt"管理系统中没有输入数据或数据已被删除!";

双o1,O2;

for(int k = 0;k & lt我;k++)

{

cout & lt& ltk+1 & lt;& lt" " " & lt& lt"名称:"

& lt& lt“类”

& lt& lt“学号”< & lts[k]-& gt;数字

& lt& lt"语言:"

& lt& lt"数学:"

& lt& lt"外语:"

& lt& lt"总分:"

& lt& lt"平均分数:"

& lt& ltendl

o 1 = s[k]-& gt;总和;

O2 = s[0]-& gt;总和;

}

cout & lt& lt“最高总分”

& lt& lt“最低总分”

& lt& ltendl

打破;

}

案例“8”:

{

int t;斯图b;

cout & lt& lt本系统所有学生的排名如下:“< & ltendl

for(int x = 0;x & ltI-1;x++)

{

t = x;

for(int y = x+1;y & lt我;y++)

{

if((s[t]-& gt;中文)& lt(s[y]-& gt;中文))

t = y;

如果(t!=x)

{

b = * s[t];

* s[t]= * s[x];

* s[x]= b;

}

}

}

如果(i==0)

cout & lt& lt"管理系统中没有输入数据或数据已被删除!";

双o1,O2;

for(int k = 0;k & lt我;k++)

{

cout & lt& ltk+1 & lt;& lt" " " & lt& lt"名称:"

& lt& lt“类”

& lt& lt“学号”< & lts[k]-& gt;数字

& lt& lt"语言:"

& lt& lt"数学:"

& lt& lt"外语:"

& lt& lt"总分:"

& lt& lt"平均分数:"

& lt& ltendl

o 1 = s[k]-& gt;中文;

O2 = s[0]-& gt;中文;

}

int v1=0,v2 = 0;双v3;

for(v2 = 0;v2 & lt= I-1;v2++)

{

if(s[v2]-& gt;英语& gt=60)

v 1++;

}

v3 =(v 1 * 100)/v2;

cout & lt& lt“语文最高分”

& lt& lt“最低中文分数”

& lt& lt“语文通过率”

& lt& ltendl

打破;

}

案例“9”:

{

int t;斯图b;

cout & lt& lt"该系统所有学生的数学排名如下:"

for(int x = 0;x & ltI-1;x++)

{

t = x;

for(int y = x+1;y & lt我;y++)

{

if((s[t]-& gt;数学)& lt(s[y]-& gt;数学))

t = y;

如果(t!=x)

{

b = * s[t];

* s[t]= * s[x];

* s[x]= b;

}

}

}

如果(i==0)

cout & lt& lt"管理系统中没有输入数据或数据已被删除!";

双o1,O2;

for(int k = 0;k & lt我;k++)

{

cout & lt& ltk+1 & lt;& lt" " " & lt& lt"名称:"

& lt& lt“类”

& lt& lt“学号”< & lts[k]-& gt;数字

& lt& lt"语言:"

& lt& lt"数学:"

& lt& lt"外语:"

& lt& lt"总分:"

& lt& lt"平均分数:"

& lt& ltendl

o 1 = s[k]-& gt;数学;

O2 = s[0]-& gt;数学;

}

int v1=0,v2 = 0;双v3;

for(v2 = 0;v2 & lt= I-1;v2++)

{

if(s[v2]-& gt;英语& gt=60)

v 1++;

}

v3 =(v 1 * 100)/v2;

cout & lt& lt“数学最高分”

& lt& lt“最低数学分数”

& lt& lt“数学通过率”

& lt& ltendl

打破;

}

案例“y”:

{

int t;斯图b;

cout & lt& lt"该系统所有学生的英语排名如下:"

for(int x = 0;x & ltI-1;x++)

{

t = x;

for(int y = x+1;y & lt我;y++)

{

if((s[t]-& gt;英语)& lt(s[y]-& gt;英语))

t = y;

如果(t!=x)

{

b = * s[t];

* s[t]= * s[x];

* s[x]= b;

}

}

}

如果(i==0)

cout & lt& lt"管理系统中没有输入数据或数据已被删除!";

双o1,O2;

for(int k = 0;k & lt我;k++)

{

cout & lt& ltk+1 & lt;& lt" " " & lt& lt"名称:"

& lt& lt“类”

& lt& lt“学号”< & lts[k]-& gt;数字

& lt& lt"语言:"

& lt& lt"数学:"

& lt& lt"外语:"

& lt& lt"总分:"

& lt& lt"平均分数:"

& lt& ltendl

o 1 = s[k]-& gt;英语;

O2 = s[0]-& gt;英语;

}

int v1=0,v2 = 0;双v3;

for(v2 = 0;v2 & lt= I-1;v2++)

{

if(s[v2]-& gt;英语& gt=60)

v 1++;

}

v3 =(v 1 * 100)/v2;

cout & lt& lt“英语最高分”

& lt& lt“最低英语分数”

& lt& lt“英语通过率”

& lt& ltendl

}

打破;

}

cout & lt& lt“您想继续其他操作吗?(y/n)" & lt;& ltendl

布尔标志4 = 0;

{

CIN & gt;& gtw;

如果(w!= ' y ' & amp& ampw!='n ')

cout & lt& lt“命令错误!请重新输入!”& lt& ltendl

其他

flag 4 = 1;

} while(flag 4 = = 0);

if(w=='y ')

cout & lt& lt"请输入操作代码:"

cout & lt& lt“0输入1增加人员,2删除人员”< & ltendl

cout & lt& lt“3修改数据4按学号查询5按姓名查询”

cout & lt& lt“6显示所有成员的数据;7按总分排名;8按语言排列”

cout & lt& lt“数学排名9,英语排名Y”< & lt;endl

CIN & gt;& gtp;

} while(w = = ' y ');

}