C++类的开发实战--班级成绩管理系统

#include<bits/stdc++.h>
using namespace std;
struct birth
{
    int year,month,day;
};
struct grade
{
    int math;
    int english;
    int c ;
    int mks;
    int sx;
    int pe;
};
struct infor
{
    string name;
    birth bir;
    grade gra;
    int xuehao;
    double jidian;

};
infor a[8];
double xuefen(int &g);
void jidian(infor &w);
bool cmp(infor sx,infor xs)
{
    return sx.jidian>xs.jidian;
}
int main()
{
    int n;
    cout<<"请输入学生人数: ";
    cin>>n;
    cout<<"请输入信息:"<<endl<<"姓名 学号 生日(年 月 日) 成绩(高数 英语 C++ 马克思 思修 体育)"<<endl;
    for(int i=0;i<n;i++)
    {
        cin>>a[i].name>>a[i].xuehao>>a[i].bir.year>>a[i].bir.month>>a[i].bir.day;
        cin>>a[i].gra.math>>a[i].gra.english>>a[i].gra.c>>a[i].gra.mks>>a[i].gra.sx>>a[i].gra.pe;
        jidian(a[i]);
    }
    sort(a,a+n,cmp);
    cout<<"排名信息:"<<endl<<"姓名 学号  学分绩点 生日(年 月 日) 成绩(高数 英语 C++ 马克思 思修 体育)"<<endl;
    for(int i=0;i<n;i++)
    {
        cout<<a[i].name<<' '<<a[i].xuehao<<' ';
        printf("%.3f ",a[i].jidian);
        cout<<a[i].bir.year<<"年"<<a[i].bir.month<<"月"<<a[i].bir.day<<"日";
        cout<<' '<<a[i].gra.math<<' '<<a[i].gra.english<<' '<<a[i].gra.c<<' '<<a[i].gra.mks<<' '<<a[i].gra.sx<<' '<<a[i].gra.pe<<endl;
    }
}
void jidian(infor &w)
{
    double csd;
    csd=xuefen(w.gra.math)*5+xuefen(w.gra.english)*2+xuefen(w.gra.c)*3+xuefen(w.gra.mks)*3+xuefen(w.gra.sx)*2+xuefen(w.gra.pe);
    w.jidian=csd/16;
}
double xuefen(int &g)
{
    double df;
    df=1.00*g/10-5;
    return df;
}



写在最后:
我叫风骨散人,名字的意思是我多想可以不低头的自由生活,可现实却不是这样。家境贫寒,总得向这个世界低头,所以我一直在奋斗,想改变我的命运给亲人好的生活,希望同样被生活绑架的你可以通过自己的努力改变现状,深知成年人的世界里没有容易二字。目前是一名在校大学生,预计考研,热爱编程,热爱技术,喜欢分享,知识无界,希望我的分享可以帮到你!
如果有什么想看的,可以私信我,如果在能力范围内,我会发布相应的博文!
感谢大家的阅读!😘你的点赞、收藏、关注是对我最大的鼓励!

posted @ 2019-03-12 17:08  风骨散人  阅读(168)  评论(0编辑  收藏  举报