C++学生成绩分析系统代码
时间: 2023-12-24 20:02:55 浏览: 137
这是一个基于C++的简单学生成绩分析系统,包含以下功能:
1. 学生基本信息录入
2. 学生成绩录入
3. 学生成绩查询
4. 学生平均成绩计算
5. 学生成绩排名
```
#include<iostream>
#include<cstring>
using namespace std;
const int MAXN=100;
struct Student
{
int num;
char name[20];
int score[3];
double ave;
}stu[MAXN];
int n;
void input()//录入学生信息
{
cout<<"请输入学生人数:"<<endl;
cin>>n;
cout<<"请按照以下格式输入每个学生的信息:"<<endl;
cout<<"学号 姓名 成绩1 成绩2 成绩3"<<endl;
for(int i=0;i<n;i++)
{
cin>>stu[i].num>>stu[i].name>>stu[i].score[0]>>stu[i].score[1]>>stu[i].score[2];
}
}
void output()//输出学生信息
{
for(int i=0;i<n;i++)
{
cout<<stu[i].num<<"\t"<<stu[i].name<<"\t"<<stu[i].score[0]<<"\t"<<stu[i].score[1]<<"\t"<<stu[i].score[2]<<endl;
}
}
void search()//查询学生成绩
{
int num;
cout<<"请输入要查询学生的学号:"<<endl;
cin>>num;
for(int i=0;i<n;i++)
{
if(stu[i].num==num)
{
cout<<stu[i].name<<"的成绩为:"<<stu[i].score[0]<<" "<<stu[i].score[1]<<" "<<stu[i].score[2]<<endl;
return;
}
}
cout<<"该学生不存在!"<<endl;
}
void average()//计算学生平均成绩
{
for(int i=0;i<n;i++)
{
double sum=0;
for(int j=0;j<3;j++)
{
sum+=stu[i].score[j];
}
stu[i].ave=sum/3.0;
}
}
void sort()//学生成绩排名
{
for(int i=0;i<n-1;i++)
{
for(int j=0;j<n-1-i;j++)
{
if(stu[j].ave<stu[j+1].ave)
{
swap(stu[j],stu[j+1]);
}
}
}
cout<<"学号\t姓名\t成绩1\t成绩2\t成绩3\t平均分\t排名"<<endl;
for(int i=0;i<n;i++)
{
cout<<stu[i].num<<"\t"<<stu[i].name<<"\t"<<stu[i].score[0]<<"\t"<<stu[i].score[1]<<"\t"<<stu[i].score[2]<<"\t"<<stu[i].ave<<"\t"<<i+1<<endl;
}
}
int main()
{
input();
cout<<"学生信息如下:"<<endl;
output();
search();
average();
sort();
return 0;
}
```