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 ');
}