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