📄 学生管理系统_ b07020126.cpp
字号:
cout<<"指令错误!请重新输入!"<<endl;
cin>>c;
}
}while(c=='y');
break;
}
case 'c': //删除学生信息
{
char name[10];
bool flag3=0;
char c;
do
{
cout<<"请输入您要删除的学生姓名:"<<endl;
cin>>name;
for(int h=0;h<i;h++)
{
if(strcmp(name,st[h]->name)==0)
{
flag3=1;
i--;
do
{
st[h]=st[h+1];
h++;
}while(h<=i);
}
}
if(flag3==0)
cout<<"您要求删除的对象本来就不存在!请检查输入的正确性!";
cout<<"要继续删除吗?(y/n)"<<endl;
cin>>c;
if(c!='y'&&c!='n')
{
cout<<"指令错误!请重新输入!"<<endl;
cin>>c;
}
}while(c=='y');
break;
}
case 'd': //修改学生信息
{
char nu[10];
char name[10];
char se[3];
int y;
int m;
int d;
double mat;
double chin;
double c_lan;
char c;
do
{
cout<<"请输入您要修改的学生的姓名:"<<endl;
cin>>name;
for(int h=0;h<i;h++)
{
if(strcmp(name,st[h]->name)==0)
{
flag2=1;
cout<<"请输入新的学号:"<<endl;
cin>>nu;
cout<<"请输入新的性别:"<<endl;
cin>>se;
cout<<"请输入新的出生年:"<<endl;
cin>>y;
cout<<"请输入新的出生月:"<<endl;
cin>>m;
cout<<"请输入新的出生日:"<<endl;
cin>>d;
cout<<"请输入新的数学成绩:"<<endl;
cin>>mat;
cout<<"请输入新的语文成绩:"<<endl;
cin>>chin;
cout<<"请输入新的C语言成绩:"<<endl;
cin>>c_lan;
strcpy(st[h]->num,nu);
strcpy(st[h]->sex,se);
st[h]->year=y;
st[h]->month=m;
st[h]->day=d;
st[h]->chinese=chin;
st[h]->math=mat;
st[h]->c_language=c_lan;
cout<<"数据修改成功!";
}
}
if(flag2==0)
{
cout<<"您要修改的学生本来就不存在!请检查重新输入!"<<endl;
}
cout<<"想继续修改吗(y/n)"<<endl;
cin>>c;
if(c!='y'&&c!='n')
{
cout<<"指令错误!请重新输入!"<<endl;
cin>>c;
}
}while(c=='y');
break;
}
case 'g': //显示所有学生的信息
{
cout<<"本系统所有学生数据如下:"<<endl;
if(i==0)
cout<<"管理系统中没有录入数据或者数据已经被删除!"<<endl;
for(int k=0;k<i;k++)
{
cout<<k+1<<"."<<"学号:"<<st[k]->num<<" "<<"姓名:"<<st[k]->name<<" "<<"性别:"<<st[k]->sex<<" "<<"出生时间:"<<st[k]->year<<"年"<<st[k]->month<<"月"<<st[k]->day<<"日"<<" "<<endl;
cout<<"语文:"<<st[k]->chinese<<" "<<"数学:"<<st[k]->math<<" "<<"C语言:"<<st[k]->c_language<<" "<<"总分:"<<(*st[k]).getsum()<<" "<<"平均分:"<<(*st[k]).getaver()<<endl;
}
break;
}
case 'w': //按姓名排序
{
int m;
stu b;
cout<<"本系统按姓名排序如下:"<<endl;
for(int x=0;x<i-1;x++)
{
m=x;
for(int y=x+1;y<i;y++)
{
if(strcmp(((*st[m]).name),((*st[y]).name))>0)
m=y;
if(m!=x)
{
b=*st[x];
*st[x]=*st[m];
*st[m]=b;
}
}
}
if(i==0)
cout<<"管理系统中没有录入数据或者数据已经被删除!";
for(int k=0;k<i;k++)
{
cout<<k+1<<"."<<"学号:"<<st[k]->num<<" "<<"姓名:"<<st[k]->name<<" "<<"性别:"<<st[k]->sex<<" "<<"出生时间:"<<st[k]->year<<"年"<<st[k]->month<<"月"<<st[k]->day<<"日"<<" "<<endl;
cout<<"语文:"<<st[k]->chinese<<" "<<"数学:"<<st[k]->math<<" "<<"C语言:"<<st[k]->c_language<<" "<<"总分:"<<(*st[k]).getsum()<<" "<<"平均分:"<<(*st[k]).getaver()<<endl;
}
break;
}
case 'h': //所有学生按总分排名
{
int t;
stu b;
cout<<"本系统所有学生排名如下:"<<endl;
for(int x=0;x<i-1;x++)
{
t=x;
for(int y=x+1;y<i;y++)
{
if((st[t]->getsum())<(st[y]->getsum()))
t=y;
if(t!=x)
{
b=*st[x];
*st[x]=*st[t];
*st[t]=b;
}
}
}
if(i==0)
cout<<"管理系统中没有录入数据或者数据已经被删除!";
for(int k=0;k<i;k++)
{
cout<<k+1<<"."<<"学号:"<<st[k]->num<<" "<<"姓名:"<<st[k]->name<<" "<<"性别:"<<st[k]->sex<<" "<<"出生时间:"<<st[k]->year<<"年"<<st[k]->month<<"月"<<st[k]->day<<"日"<<" "<<endl;
cout<<"语文:"<<st[k]->chinese<<" "<<"数学:"<<st[k]->math<<" "<<"C语言:"<<st[k]->c_language<<" "<<"总分:"<<(*st[k]).getsum()<<" "<<"平均分:"<<(*st[k]).getaver()<<endl;
}
break;
}
case 'i': //所有学生语文排名
{
int t;
stu b;
cout<<"本系统所有学生语文排名如下:"<<endl;
for(int x=0;x<i-1;x++)
{
t=x;
for(int y=x+1;y<i;y++)
{
if((st[t]->chinese)<(st[y]->chinese))
t=y;
if(t!=x)
{
b=*st[t];
*st[t]=*st[x];
*st[x]=b;
}
}
}
if(i==0)
cout<<"管理系统中没有录入数据或者数据已经被删除!";
for(int k=0;k<i;k++)
{
cout<<k+1<<"."<<"学号:"<<st[k]->num<<" "<<"姓名:"<<st[k]->name<<" "<<"性别:"<<st[k]->sex<<" "<<"出生时间:"<<st[k]->year<<"年"<<st[k]->month<<"月"<<st[k]->day<<"日"<<" "<<endl;
cout<<"语文:"<<st[k]->chinese<<" "<<"数学:"<<st[k]->math<<" "<<"C语言:"<<st[k]->c_language<<" "<<"总分:"<<(*st[k]).getsum()<<" "<<"平均分:"<<(*st[k]).getaver()<<endl;
}
break;
}
case 'j': //所有学生语文排名
{
int t;
stu b;
cout<<"本系统所有学生语文排名如下:"<<endl;
for(int x=0;x<i-1;x++)
{
t=x;
for(int y=x+1;y<i;y++)
{
if((st[t]->math)<(st[y]->math))
t=y;
if(t!=x)
{
b=*st[t];
*st[t]=*st[x];
*st[x]=b;
}
}
}
if(i==0)
cout<<"管理系统中没有录入数据或者数据已经被删除!";
for(int k=0;k<i;k++)
{
cout<<k+1<<"."<<"学号:"<<st[k]->num<<" "<<"姓名:"<<st[k]->name<<" "<<"性别:"<<st[k]->sex<<" "<<"出生时间:"<<st[k]->year<<"年"<<st[k]->month<<"月"<<st[k]->day<<"日"<<" "<<endl;
cout<<"语文:"<<st[k]->chinese<<" "<<"数学:"<<st[k]->math<<" "<<"C语言:"<<st[k]->c_language<<" "<<"总分:"<<(*st[k]).getsum()<<" "<<"平均分:"<<(*st[k]).getaver()<<endl;
}
break;
}
case 'y': //所有学生C语言排名
{
int t;
stu b;
cout<<"本系统所有学生C语言排名如下:"<<endl;
for(int x=0;x<i-1;x++)
{
t=x;
for(int y=x+1;y<i;y++)
{
if((st[t]->c_language)<(st[y]->c_language))
t=y;
if(t!=x)
{
b=*st[t];
*st[t]=*st[x];
*st[x]=b;
}
}
}
if(i==0)
cout<<"管理系统中没有录入数据或者数据已经被删除!";
for(int k=0;k<i;k++)
{
cout<<k+1<<"."<<"学号:"<<st[k]->num<<" "<<"姓名:"<<st[k]->name<<" "<<"性别:"<<st[k]->sex<<" "<<"出生时间:"<<st[k]->year<<"年"<<st[k]->month<<"月"<<st[k]->day<<"日"<<" "<<endl;
cout<<"语文:"<<st[k]->chinese<<" "<<"数学:"<<st[k]->math<<" "<<"C语言:"<<st[k]->c_language<<" "<<"总分:"<<(*st[k]).getsum()<<" "<<"平均分:"<<(*st[k]).getaver()<<endl;
}
}
break;
}
cout<<"您想继续进行其他操作吗?(y/n)"<<endl;
bool flag4=0;
do
{
cin>>w;
if(w!='y'&&w!='n')
cout<<"指令错误!请重新输入!"<<endl;
else
flag4=1;
}while(flag4==0);
if(w=='y')
cout<<"请输入操作代码(a 录入/e 按总分查询/ x 按学号查询 /f 按姓名查询 / p 各门平均分/b 增加人员/c 删除人员/d 修改数据/g 显示所有成员数据/w 按姓名排序 /h 按总分排名/i 按语文排名/j按数学排名/ k 女生人数/ n 男生人数 / m 总人数/y按C语言排名)"<<endl;
cin>>p;
}while(w=='y');
for (int x=0;x<i;x++)
{
delete st[x];
cout<<"delete all members!"<<endl;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -