您的位置:首页 > 教程文章 > 编程开发

C++课程设计之学生成绩管理系统

:0 :2021-04-28 10:50:35

本文实例为大家分享了C++学生成绩管理系统的具体代码,供大家参考,具体内容如下
/*要求:设立程序管理学生如下信息:学生学号、姓名、班级,语文、数学、英语成绩。
至少要有10名以上学生。
能够实现根据以下关键字查询:学生姓名 、学号、班级、课程名称。
能够实现按照单科成绩、总成绩、平均成绩、学号排序。
能够实现学生信息的插入、删除和修改。
能够查询每个课程的最高分、最低分及相应学生姓名、班级和学号。
能够查询每个班级某门课程的优秀率(90分及以上)、不及格率,并进行排序。*/
#include
#include
#include
using namespace std;
class student
{
int num;
char name[20];
char class1[20];
double chinese;
double math;
double english;
double youxiu;//优秀率
double bujige;//不及格率
double sum;//总成绩
double aver1;//平均成绩

public:
void set()
{

cout<<"t学生学号:";
cin>>num;
cout<<"t学生姓名:";
cin>>name;
cout<<"t学生班级:";
cin>>class1;
cout<<"t语文成绩:";
cin>>chinese;
cout<<"t英语成绩:";
cin>>english;
cout<<"t数学成绩:";
cin>>math;
}
void show()
{
cout<<"该学生的学号:"< cout<<"该学生的姓名:"< cout<<"该学生的班级:"< cout<<"该学生的语文成绩:"< cout<<"该学生的数学成绩:"< cout<<"该学生的英语成绩:"< }
double ad(){return sum=chinese+english+math;}
double aver()
{
aver1=(chinese+english+math)/3;
return aver1;
}
friend void show();
friend void search();
friend void change();
friend void add();
friend void paixu();
friend void del();

};
void input();
void show();
void search();
void change();
void add();
void paixu();
void del();
student s[100];
int n=0;

int main()
{

int select;
while(1)
{
system("cls");
cout<<"t ******************欢迎使用******************n";
cout<<"t **************学生成绩管理系统**************n";
cout<<"t *------------------------------------------*n";
cout<<"t * 1——录入学生信息 *n";
cout<<"t * 2——显示学生信息 *n";
cout<<"t * 3——查询学生信息 *n";
cout<<"t * 4——修改学生信息 *n";
cout<<"t * 5——添加学生信息 *n";
cout<<"t * 6——排序学生信息 *n";
cout<<"t * 7——删除学生信息 *n";
cout<<"t * 0——退出 *n";
cout<<"t *------------------------------------------*n";
cout<<"t 你要输入的编号是(0--7):";
cin>>select;
if(select==0) break;
switch(select){
case 1:
input(); //调用input函数录入数据
system("pause");
break;
case 2:
show(); //调用show函数显示学生信息
system("pause");
break;
case 3:
search(); //调用search函数查询学生信息
system("pause");
break;
case 4:
change(); //调用change函数修改学生信息
system("pause");
break;
case 5:
add(); //调用add函数添加学生信息
system("pause");
break;
case 6:
paixu(); //调用add函数添加学生信息
system("pause");
break;
case 7:
del(); // 调用del函数删除学生信息
system("pause");
break;



system("pause");
default:
cout<<"没有此选项,请重新选择!"< }
}
return 0;
}
void input() //录入学生信息的函数
{
char sel;
do
{
n++;
cout<<"t请输入第"< s[n].set();
cout<<"是否要继续录入学生信息(Y/N):";
cin>>sel;
}while(sel=='Y' || sel=='y' );
}
void show()
{
cout< cout< < < < < < < for(int i=1;i<=n;i++)
{
cout< < < < < < }
cout<
}

void search()//查询
{

int a,b,i;char c[20];
cout<<"请选择查询方式:"< cout<<"按学生姓名查询请按1"< cout<<"按学生学号查询请按2"< cin>>a;
switch(a)
{
case 1:
{char sel;
do{
cout<<"请输入你要查的学生的姓名:"< cin>>c;
for(i=1;i<=n;i++)
if(strcmp(s[i].name,c)==0)
{cout<<"你要查的学生信息为:"< cout<<"学生学号:"< < < < < < break;
}
else if(strcmp(s[i].name,c)!=0&&i==n)
{cout<<"没有这个学生!"< cout<<"是否要继续查询学生信息(Y/N):";
cin>>sel;
}while(sel=='Y' || sel=='y' );
break;
}
case 2:
{ char sel;
do{
cout<<"请输入你要查的学生的学号:"< cin>>b;
for(i=1;i<=n;i++)
if(s[i].num==b)
{
cout<<"你要查的学生信息为:"< cout<<"学生学号:"< < < < < < break;
}
else if(s[i].num!=b&&i==n)
{cout<<"没有这个学生!请核对后再输入!"< cout<<"是否要继续查询学生信息(Y/N):";
cin>>sel;
}while(sel=='Y' || sel=='y' );
break;}

default:
cout<<"您的输入有误!"< }

}

void change()
{
{ char sel;
int d,i,e,f,g=0;
do{
cout<<"请输入你要修改的学生的学号:"< cin>>d;
for(i=1;i<=n;i++)
if(s[i].num==d)
{
cout<<"你要修改的学生信息为:"< cout<<"学生学号:"< < < < < < e=1;
break;
}
else if(s[i].num!=d&&i==n)
{cout<<"没有这个学生!请核对后再输入!"< e=0;break;}
while(e==1)
{ {cout<<"请输入该学生要修改的信息对应的数字:"< cout<<"学生学号:1"
<<'t'<<"学生姓名:2"
<<'t'<<"学生班级:3"
<<'t'<<"语文成绩:4"
<<'t'<<"数学成绩:5"
<<'t'<<"英语成绩:6"< }
cin>>f;
switch(f)
{case 1:cout<<"t新的学生学号为:";
cin>>s[i].num;break;
case 2:cout<<"t新的学生姓名为:";
cin>>s[i].name;break;
case 3:cout<<"t新的学生班级为:";
cin>>s[i].class1;break;
case 4:cout<<"t新的语文成绩为:";
cin>>s[i].chinese;break;
case 5:cout<<"t新的数学成绩为:";
cin>>s[i].math;break;
case 6:cout<<"t新的英语成绩为:";
cin>>s[i].english;break;
default:cout<<"您的输入有误,请重新输入!";
cin>>f;}
e=0;
g=1;
}
if(g==1)
{ cout<<"修改成功!";}
cout<<"是否要继续修改学生信息(Y/N):";
cin>>sel;
}while(sel=='Y' || sel=='y' );
}

}

void add()
{
char sel;
do
{
n++;
cout<<"n请输入第"<< n <<"个学生信息:n";
cout<<"t学生学号:";
cin>>s[n].num;
cout<<"t学生姓名:";
cin>>s[n].name;
cout<<"t学生班级:";
cin>>s[n].class1;
cout<<"t语文成绩:";
cin>>s[n].chinese;
cout<<"t数学成绩:";
cin>>s[n].math;
cout<<"t英语成绩:";
cin>>s[n].english;
cout<<"是否要继续添加学生信息(Y/N):";
cin>>sel;
}while(sel=='Y' || sel=='y' );

}


void paixu()
{
int a;
cout<<"请选择排序方式:"< cout<<"1.按学号排序;"< <<"2.按总成绩排序;"< <<"3.按平均成绩排序;"< cin>>a;
switch(a)
{
case 1:
{int t=0;
for(int i=0;i for(int j=0;j if(s[j].num>s[j+1].num)
{ t=s[j].num;
s[j].num=s[j+1].num;
s[j+1].num=t;}

cout<<"按学号排序结果:"< cout< cout< < < < < < < for(i=1;i<=n;i++)
{ cout< < < < < < }
break;

/* case 2:
{double t;
for(int i=0;i { for(int j=0;j>n-i-1;j++)
{
if(s[j].sum>s[j+1].sum)
t=s[j].sum; s[j].sum=s[j+1].sum; s[j+1].sum=t;
}
}
cout<<"按总成绩排序结果:"< for(i=1;i<=n;i++)
cout<<"学号:"< <<"语文成绩:"< cout< }
break;*/

/* case 3:
int t;
for(int i=0;i { for(int j=0;j>n-1-i;j++)
{
if(s[j].aver()>s[j+1].aver())
t=s[j].aver(); s[j].aver()=s[j+1].aver(); s[j+1].aver()=t;
}
}
cout<<"按平均成绩排序结果:"< for(i=0;i cout<<"学号:"< <<"语文成绩:"< cout< }
break ;
*/

default:
{cout<<"您的输入有误!请重新输入!"< cin>>a;}
}

}
void del()
{

int j,i,k;char c[10],sel,y;
do{
cout<<"请输入你要删除的学生的姓名:"< cin>>c;
for(i=1;i<=n;i++)
if(strcmp(s[i].name,c)==0)
{cout<<"你要删除的学生信息为:"< cout<<"学生学号:"< <<"学生姓名:"< <<"学生班级:"< <<"语文成绩:"< <<"数学成绩:"< <<"英语成绩:"< cout<<"确认删除?(y/n):";
cin>>y;
if(y=='Y'||y=='y')
{
for(j=i;j<=n+1;j++)
{
s[j]=s[j+1];
} k=1;
}
else
cout<<"删除失败!"<

break;
}
else if(strcmp(s[i].name,c)!=0&&i==n)
{cout<<"没有这个学生!请核对后再输入!"< k=0;break;}
while(k==1)
{
if(y=='Y'||y=='y')
cout<<"删除成功!";
n--;
k=0;
}
cout<<"是否要继续删除学生信息(Y/N):";
cin>>sel;

}while(sel=='Y' || sel=='y' );

}
效果图:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持无名。

学生成绩管理系统C++实现代码
C语言实现页面置换 先进先出算法(FIFO)

同类资源