c++实现学生成绩管理系统

m学完结构体后做了这一个简易的成绩管理系统,很多地方还有不足,不过也算自己做的第一个简单系统,思路的话也是特别简单,就是定义一个结构体,把姓名,学号,三科成绩,还有绩点都存到结构体中,姓名我是用的一个二维数组存的,其他的都是一维数组来存,然后写了一个计算绩点的函数,圈出来绩点储存到结构体中,第一遍写不是很了解sort函数对结构体的操作,所以自己写了一个排序函数,然后在排序函数里把结构体的每个变量都给交换,但是这样太复杂了,之后去查资料发现sort函数可以对结构体的全部成员直接操作,只要写一个cmp函数,规定好排序的规则和由哪一个成员确定顺序,就可以了。
然后之前看到过给终端字体加颜色的程序就自己查资料给自己的程序加上了颜色,加颜色的就是在printf前加一句代码就可以,这个的头文件是<windows.h>

SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_GREEN);
我在这里加的颜色是绿色,可以自己随意改颜色的。
然后要在主函数里加入int argn, char **argv
int main(int argn, char **argv)
#include<bits/stdc++.h>
#include<windows.h>
using namespace std;
struct student
{
    char name[10];
    float gs;
    float yy;
    float c;
    float jd;
    long long xh;
} s[10];//定义一个长度为10的结构体,
float jd(float a,float b,float c)
{
    float j;
    j=((a/10-5)*5+(b/10-5)*2.5+(c/10-5)*2.5)/10;
    return j;
}//计算绩点的函数
bool cmp(student a,student b)
{
        return a.jd>b.jd;
}//自己定义排序函数的规则,是根据绩点由高到低排序

int main(int argn, char **argv)
{
    int i,a[10];
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_GREEN);
    printf("请输入姓名,学号,高数成绩,英语成绩,C语言成绩:\n");
    for(i=0; i<8; i++)
    {
        scanf("%s %lld %f %f %f",s[i].name,&s[i].xh,&s[i].gs,&s[i].yy,&s[i].c);
        s[i].jd=jd(s[i].gs,s[i].yy,s[i].c);//把学生信息录入,然后分别求出绩点。
    }
    sort(s,s+8,cmp);//对结构体整体进行排序操作
     SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_GREEN);//给终端字体加颜色
    printf("        姓名     学号       绩点\n");
    for(i=0; i<8; i++)
    {
          SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_GREEN);
    printf("第%d名  ",i+1);
        printf("%s   %lld   %.1f\n",s[i].name,s[i].xh,s[i].jd);
    }
    return 0;
}

**测试数据**
邵光亮 2018216487 98 58 62
张俊浩 2018212513 66 52 74
范瑞康 2018212520 66 48 62
彭逸飞 2018212560 98 65 34
于鸿飞 2018212567 96 35 42
肖寒 2018212563 56 64 34
段续豹 2018212514 36 96 65
王帅 2018212559 89 64 66

相关推荐
一、题目: 学生成绩管理系统 二、目的与要求 1. 目的: (1)基本掌握面向过程程序设计的基本思路和方法; (2)达到熟练掌握C语言的基本知识和技能; (3)能够利用所学的基本知识和技能,解决简单的程序设计问题 2. 要求 基本要求: 1.         要求利用C语言面向过程的编程思想来完成系统的设计; 2.       突出C语言的函数特征,以多个函数实现每一个子功能; 3.         画出功能模块图; 4.         进行简单界面设计,能够实现友好的交互; 5.         具有清晰的程序流程图和数据结构的详细定义; 6.       熟练掌握C语言对文件的各种操作。 7.       用链表实现各种操作,信息结果保存到文件中。 创新要求: 在基本要求达到后,可进行创新设计,如系统用户功能控制,对管理员级和一般级别的用户系统功能操作不同 三、信息描述 有关该系统基本信息的描述,如:学号、姓名、系别、班级和所选科目及各科成绩等。 四、功能描述 1.       学生基本信息及成绩所选科目成绩的录入。 2.       基本信息的查询(分系、班级;分科目)与修改。 3.       对每系或每班各科成绩进行分析(即求单科平均成绩、及格率和优秀率); 4.       对所开课程的成绩分析(求其平均成绩,最高分和最低分); 5.       对学生考试成绩进行排名(单科按系别或班级进行排名,对每一个班级,同一学期学生总体成绩进行排名,并显示各科成绩信息) 五、解决方案 1.       分析程序的功能要求,划分程序功能模块。 2.       画出系统流程图。 3.       代码的编写。定义数据结构和各个功能子函数。 4.       程序的功能调试。 5.       完成系统总结报告以及使用说明书 六、进度安排 此次课程设计时间为两周,分四个阶段完成: 1.       分析设计阶段。指导教师应积极引导学生自主学习和钻研问题,明确设计要求,找出实现方法,按照需求分析、总体设计、详细设计这几个步骤进行。 2.       编码调试阶段:根据设计分析方案编写C代码,然后调试该代码,实现课题要求的功能。 3.       总结报告阶段:总结设计工作,写出课程设计说明书,要求学生写出需求分析、总体设计、详细设计、编码、测试的步骤和内容。 4.       考核阶段。 七、撰写课程设计报告或课程设计总结 课程设计报告要求: 总结报告包括需求分析、总体设计、详细设计、编码(详细写出编程步骤)、测试的步骤和内容、课程设计总结、参考资料等,不符合以上要求者,则本次设计以不及格记。 八、参考资料  《C语言程序设计教程》   网上相关资料(....略)
©️2020 CSDN 皮肤主题: Age of Ai 设计师:meimeiellie 返回首页