学生成绩管理

Posted lazy-cat

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了学生成绩管理相关的知识,希望对你有一定的参考价值。

有N个学生,每个学生的数据包括学号、班级、姓名、三门课成绩。从键盘输入N 个
学生数据,要求打印出每个学生三门课的平均成绩,以及平均分最高分学生数据(包括学号、
班级、姓名、三门课成绩,平均分)。
要求:
1、 定义学生结构体。
2、 用一个函数实现N 个学生数据的输入,用另一个函数负责求每个学生三门课程的平
均成绩,再用一个函数求出平均分最高的学生并输出该学生的数据。要求平均分和平均分最
高的学生数据都在主函数中输出。

输入

第一行:N,表示N 个学生

下面N 行:每行数据包括学号、班级、姓名、三门课成绩。

输出

输出每个学生三门课的平均成绩,以及平均分最高分学生数据(包括学号、班级、姓名、
三门课成绩,平均分)。
格式见下。(四舍五入保留一位小数)

样例输入

4
20070008 software1 wangjun 87 84 76
20070001 science1 lanxin 90 84 83
20070007 software2 wuke 94 87 86
20070003 science4 xuede 90 86 87

样例输出

wangjun 82.3
lanxin 85.7
wuke 89.0
xuede 87.7
20070007 software2 wuke 94.0 87.0 86.0 89.0
#include<iostream>
#include<string>
#include<iomanip>
using namespace std;
struct student {
    string number;
    string clas;
    string name;
    double k1, k2, k3, aver;
};
void print(student s)
{
    cout << setiosflags(ios::fixed) << setprecision(1) << s.number << " ";
    cout << setiosflags(ios::fixed) << setprecision(1) << s.clas << " ";
    cout << setiosflags(ios::fixed) << setprecision(1) << s.name << " ";
    cout << setiosflags(ios::fixed) << setprecision(1) << s.k1 << " ";
    cout << setiosflags(ios::fixed) << setprecision(1) << s.k2 << " ";
    cout << setiosflags(ios::fixed) << setprecision(1) << s.k3 << " ";
    cout << setiosflags(ios::fixed) << setprecision(1) << s.aver << endl;
}
void print2(student s)
{
    cout << setiosflags(ios::fixed) << setprecision(1) << s.name << " ";
    cout << setiosflags(ios::fixed) << setprecision(1) << s.aver << "
";
}
int main()
{
    int n;
    cin >> n;
    student s[100];
    for (int i = 0; i < n; i++)
    {
        cin >> s[i].number;
        cin >> s[i].clas;
        cin >> s[i].name;
        cin >> s[i].k1;
        cin >> s[i].k2;
        cin >> s[i].k3;
        s[i].aver = (s[i].k1 + s[i].k2 + s[i].k3) / 3;
    }
    double max = s[0].aver;
    int k = 0;
    for (int i = 0; i < n; i++)
    {
        print2(s[i]);
        if (s[i].aver > max)
        {
            max = s[i].aver;
            k = i;
        }
    }
    print(s[k]);
    system("PAUSE");
    return 0;
}

 

以上是关于学生成绩管理的主要内容,如果未能解决你的问题,请参考以下文章

学生成绩管理系统c

c语言学生成绩管理系统1000行源代码

如何用Java语言编写学生成绩管理系统

学生成绩管理程序

跪求C语言程序代码“学生成绩管理”

基于java设计一个学生成绩管理系统,要求有界面,且有增加,查询,修改,删除,退出功能,代码如何写?