📄 学生管理系统.cpp
字号:
#include<iostream>
#include<string>
using namespace std;
class stu
{
int num;
char class_o[20];
char name[20];
double elec,c_prog,media,eng,math,sport,polity,average,sum;
public:
stu()
{
}
stu(int m,char cl[20],char n[20],double el,double c_pro,double med,double en,double ma,double sp,double po)
{
num=m;
strcpy(name,n);
strcpy(class_o,cl);
elec=el;
c_prog=c_pro;
media=med;
eng=en;
math=ma;
sport=sp;
polity=po;
}
double getsum()
{
sum=c_prog+media+elec+eng+math+sport+polity;
return sum;
}
double getaver()
{
average=getsum()/7;
return average;
}
friend void main();
};
void main()
{
cout<<" "<<endl;
cout<<" * * * * * * * * * * * * 欢迎来到学籍管理系统 * * * * * * * * * * *"<<endl;
cout<<" * ★★★★ 请选择您要的操作 ★★★★ *"<<endl;
cout<<" * A: 操作: *"<<endl;
cout<<" * (0)数据录入 (1)增加人员 *"<<endl;
cout<<" * (2)删除人员 (3)修改数据 *"<<endl;
cout<<" * B: 查询: *"<<endl;
cout<<" * (4)按总成绩查询 (5)按姓名查询 *"<<endl;
cout<<" * (6)输出所有学生的数据 *"<<endl;
cout<<" * C: 成绩: *"<<endl;
cout<<" * (7)按总分查询排名 (8)按c++程序设计成绩查询排名 *"<<endl;
cout<<" * (9)按电子技术成绩查询排名 (10)按大学外语成绩查询排名 *"<<endl;
cout<<" * (11)按大学体育成绩查询排名 (12)按高等数学成绩查询排名*"<<endl;
cout<<" * (13)按马政经成绩查询排名 (y)按多媒体技术成绩查询排名*"<<endl;
cout<<" * *"<<endl;
cout<<" * ★★★★请输入相应的数字★★★★ *"<<endl;
cout<<" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *"<<endl;
char p;char w;
stu *s[50];
int i=0;
int j=0;
bool flag2=0;
do
{
cin>>p;
if((p>='0'&&p<='10'))
flag2=1;
else
cout<<"指令错误!请重新输入:"<<endl;
}while(flag2==0);
do{
switch(p)
{
case '0':
{
char c;
int num;
char class_o[20],name[20];double elec,c_prog,media,eng,math,sport,polity;
do{
cout<<"请输入班级:";
cin>>class_o;
cout<<"请输入学号:";
cin>>num;
cout<<"请输入姓名:";
cin>>name;
cout<<"请输入电子技术成绩:";
cin>>elec;
cout<<"请输入c++程序设计成绩:";
cin>>c_prog;
cout<<"请输入多媒体技术成绩:";
cin>>media;
cout<<"请输入大学外语成绩:";
cin>>eng;
cout<<"请输入高等数学成绩:";
cin>>math;
cout<<"请输入大学体育成绩:";
cin>>sport;
cout<<"请输入马政经成绩:";
cin>>polity;
cout<<"班级"<<class_o<<"学号"<<num<<"姓名"<<name<<"电子技术"<<elec<<"c++程序设计"<<c_prog<<"多媒体技术"<<media
<< "大学外语"<<eng<<"高等数学"<<math<<"大学体育"<<sport<<"马政经"<<polity<<endl;
j++;
s[i]=new stu(num,class_o,name, elec, c_prog, media,eng,math,sport,polity);
i++;
cout<<"数据录入成功,想继续录入吗(y/n)"<<endl;
cin>>c;
flag2=0;
do
{
if(c!='y'&&c!='n')
{
cout<<"指令错误!请重新输入!"<<endl;
cin>>c;
}
else
flag2=1;
}while(flag2==0);
}while(c=='y');
break;
}
case '4':
{
double t;char c;
do
{
int flag1=0;
cout<<"请输入你要查询学生的总成绩"<<endl;
cin>>t;
for(int q=0;q<i;q++)
{
if(s[q]->getsum()==t)
{
flag1=1;
cout<<"您要查询的学生是:"<<(*s[q]).name<<endl;
}
}
if(flag1==0)
cout<<"对不起!您要查询的学生不存在!"<<endl;
cout<<"您想继续查询吗?(y/n)"<<endl;
cin>>c;
if(c!='y'&&c!='n')
{
cout<<"指令错误!请重新输入!"<<endl;
cin>>c;
}
}
while(c=='y');
break;
}
case '5':
{
char n[20];int j=0;char c;
do{
int flag=0;
cout<<"请输入你要查询的学生姓名"<<endl;
cin>>n;
for(int j=0;j<i;j++)
{
if(strcmp(n,(*s[j]).name)==0)
{
flag=1;
cout<<"您要查询的学生是:"<<(*s[j]).name<<endl;
cout<<(*s[j]).name<<"的总成绩成绩是"<<(*s[j]).getsum()<<endl<<"平均成绩是:"<<(*s[j]).getaver()<<endl;
}
}
if(flag==0)
cout<<"对不起!您要查询的学生不存在!"<<endl;
cout<<"您想继续查询吗?(y/n)"<<endl;
cin>>c;
if(c!='y'&&c!='n')
{
cout<<"指令错误!请重新输入!"<<endl;
cin>>c;
}
}
while(c=='y');
break;
}
case '1':
{
int num;
char class_o[20],name[20];double elec,c_prog,media,eng,math,sport,polity;
char c;
do
{
cout<<"请输入您要增加的学生的班级、学号和姓名:"<<endl;
cin>>class_o>>num>>name;
cout<<"请输入电子技术成绩:"<<endl;
cin>>elec;
cout<<"请输入c++程序设计成绩:"<<endl;
cin>>c_prog;
cout<<"请输入多媒体技术成绩:"<<endl;
cin>>media;
cout<<"请输入大学外语成绩:"<<endl;
cin>>eng;
cout<<"请输入高等数学成绩:"<<endl;
cin>>math;
cout<<"请输入大学体育成绩:"<<endl;
cin>>sport;
cout<<"请输入马政经成绩:"<<endl;
cin>>polity;
cout<<"班级"<<class_o<<"学号"<<num<<"姓名"<<name<<"电子技术成绩"<<elec<<"c++程序设计成绩"<<c_prog<<"多媒体技术成绩"<<media
<<"大学外语"<<eng<<"高等数学"<<math<<"大学体育"<<sport<<"马政经"<<polity<<endl;
j++;
s[i]=new stu(num,class_o,name, elec, c_prog, media,eng,math,sport,polity);
i++;
cout<<"数据录入成功,想继续录入吗(y/n)"<<endl;
cin>>c;
if(c!='y'&&c!='n')
{
cout<<"指令错误!请重新输入!"<<endl;
cin>>c;
}
}while(c=='y');
break;
}
case '2':
{
char name[20];bool flag3=0;char c;
do{
cout<<"请输入您要删除的学生姓名:"<<endl;
cin>>name;
for(int h=0;h<i;h++)
{
if(strcmp(name,s[h]->name)==0)
{
flag3=1;
i--;
do{
s[h]=s[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 '3':
{
int num;
char name[20];double ele,c_pro,med,en,ma,sp,po;flag2=0;
char c;
do
{
cout<<"请输入您要修改的学生的姓名:"<<endl;
cin>>name;
for(int h=0;h<i;h++)
{
if(strcmp(name,s[h]->name)==0)
{
flag2=1;
cout<<"请输入新的电子技术成绩:"<<endl;
cin>>ele;
cout<<"请输入新的C++程序设计成绩:"<<endl;
cin>>c_pro;
cout<<"请输入新的多媒体技术成绩:"<<endl;
cin>>med;
cout<<"请输入新的大学外语成绩:"<<endl;
cin>>en;
cout<<"请输入新的高等数学成绩:"<<endl;
cin>>ma;
cout<<"请输入新的大学体育成绩:"<<endl;
cin>>sp;
cout<<"请输入新的马政经成绩:"<<endl;
cin>>po;
s[h]->c_prog=c_pro;
s[h]->elec=ele;
s[h]->media=med;
s[h]->eng=en;
s[h]->math=ma;
s[h]->sport=sp;
s[h]->polity=po;
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 '6':
{
cout<<"本系统所有学生数据如下:"<<endl;
if(i==0)
cout<<"管理系统中没有录入数据或者数据已经被删除!"<<endl;
for(int k=0;k<i;k++)
{
cout<<k+1<<" "<<"班级"<<" "<<s[k]->class_o<<"学号"<<" "<<s[k]->num<<"姓名:"<<" "<<s[k]->name<<
"c++程序设计:"<<" "<<s[k]->c_prog<<"电子技术:"<<" "<<s[k]->elec
<<"多媒体技术:"<<" "<<s[k]->media<<"大学外语: "<<" "<<s[k]->eng
<<"高等数学: "<<" "<<s[k]->math<<"大学体育: "<<" "<<s[k]->sport
<<"马政经: "<<" "<<s[k]->polity<<"总分:"<<" "<<(*s[k]).getsum()
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -