奖学金计算系统源代码.docx
《奖学金计算系统源代码.docx》由会员分享,可在线阅读,更多相关《奖学金计算系统源代码.docx(12页珍藏版)》请在冰豆网上搜索。
奖学金计算系统源代码
奖学金计算系统
要求:
输入为某个学期某个年级某个专业的期末成绩
根据输入计算学分绩
按照实际奖学金的评定规则,输出各等奖学金的获奖名单和人数
#include
#include
#include
#include
usingnamespacestd;
staticintn=0;
classexam//成绩类
{
public:
floatMath;
floatEnglish;
floatSport;
floatpractise;
floatsum;
};
classfinal:
publicexam
{
public:
floatgrade(floata=0,floatb=0,floatc=0,floatd=0);
};
classmidterm:
publicexam
{
public:
floatgrade(floata=0,floatb=0,floatc=0,floatd=0);
};
floatmidterm:
:
grade(floata,floatb,floatc,floatd)
{
sum=a+b+c+d;
returna+b+c+d;
}
floatfinal:
:
grade(floata,floatb,floatc,floatd)
{
sum=a+b+c+d;
returna+b+c+d;
}
classstudent//学生类
{
public:
floatpingding();
stringname;//姓名
stringnumber;//学号
stringmajor;//专业
charsex[5];//性别
intmoney;//奖学金数额
floatGPA;//学分绩
midtermfirst_grade;//上半年考试成绩
finalsecond_grade;//下半年考试成绩
};
floatstudent:
:
pingding()
{
floata,b;
a=(second_grade.Math*4+second_grade.English*3+second_grade.Sport*2+second_grade.practise*1.5)*0.5/10.5;
b=(first_grade.English*3.5+first_grade.Math*4+first_grade.practise*1.5+first_grade.Sport*2)*0.5/10.5;
GPA=a+b;
if(GPA>=90)
money=3000;
elseif(GPA>=80&&GPA<90)
money=1500;
elseif(GPA>=75&&GPA<80)
money=750;
else
money=0;
returnGPA;;
}
classguanli
{
public:
voidprint();
intgameprint1();
voidfun1(student*stu);
voidpaihang(student*stu);
voidfind(student*stu);
voidamend(student*stu);
voidchushi(student*stu);
};
voidguanli:
:
print()//打印界面函数
{
cout<<"┃------------------------------------┃"<cout<<"┃*********奖学金评定*********┃"<cout<<"┃*********1初始化学生信息*********┃"<cout<<"┃*********2查看奖学金信息*********┃"<cout<<"┃*********3查询个人奖学金*********┃"<cout<<"┃*********4修改个人成绩*********┃"<cout<<"┃*********5退出*********┃"<cout<<"┃------------------------------------┃"<}
intguanli:
:
gameprint1()//打印函数
{
inta;
cout<<"继续操作请按1,退出请按0"<cin>>a;
returna;
}
voidguanli:
:
chushi(student*stu)//初始化学生信息函数
{
inti;
for(i=0;istu[i].pingding();
}
voidguanli:
:
fun1(student*stu)//录入学生信息函数
{
floata,b,c,d,i;//数学,英语,体育,实践,总成绩
cout<<"输入学生姓名,学号,性别,专业"<cin>>stu[n].name>>stu[n].number>>stu[n].sex>>stu[n].major;
cout<<"请选择输入"<cout<<"请输入该生上半年成绩--请按--数学英语体育实践的顺序输入,否则默认为0"<cin>>a>>b>>c>>d;
stu[n].first_grade.Math=a;
stu[n].first_grade.English=b;
stu[n].first_grade.Sport=c;
stu[n].first_grade.practise=d;
stu[n].first_grade.grade(a,b,c,d);
cout<<"请输入该生下半年成绩--请按--数学英语体育实践的顺序输入,否则默认为0"<cin>>a>>b>>c>>d;
stu[n].second_grade.Math=a;
stu[n].second_grade.English=b;
stu[n].second_grade.Sport=c;
stu[n].second_grade.practise=d;
stu[n].second_grade.grade(a,b,c,d);
n++;
}
voidguanli:
:
paihang(student*stu)//查看奖学金信息函数
{
inti;
cout<<"姓名"<<""<<"学分绩"<<""<<"奖学金数额"<for(i=0;i{
stu[i].pingding();
}
boolfinish=false;
intk=1;
while(kfinish){
finish=true;
for(intj=0;jif(stu[j].GPAswap(stu[j+1],stu[j]);
finish=false;
}
}
for(i=0;i{
cout<}
}
voidguanli:
:
find(student*stu)//查询奖学金函数
{
inta;
floatb;
cout<<"请输入所查询学生学号"<stringch;
cin>>ch;
inti;
for(i=0;i{
if(ch==stu[i].number)
{
b=stu[i].pingding();
if(b>=75&&b<80)
cout<<"恭喜"<elseif(b>=80&&b<90)
cout<<"恭喜"<elseif(b>=90)
cout<<"恭喜"<else
cout<<"该生未获得奖学金,请继续努力"<return;
}
}
cout<<"查无此人"<}
voidguanli:
:
amend(student*stu)//修改学生成绩函数
{
strings;
inti=0,a,b;
charch;
floataa;
cout<<"请输入修改学生的学号"<cin>>s;
for(i=0;iif(stu[i].number==s)
{
loop1:
cout<<"请输入要修改的成绩"<cout<<"1上半年成绩"<cout<<"2下半年成绩"<cin>>a;
if(a==1)
{
cout<<"请输入要修改的学科"<cout<<"1数学"<cout<<"2英语"<cout<<"3体育"<cout<<"4实践"<cin>>b;
cout<<"请输入修改后的成绩"<cin>>aa;
switch(b)
{
case1:
stu[i].first_grade.Math=aa;
break;
case2:
stu[i].first_grade.English=aa;
break;
case3:
stu[i].first_grade.Sport=aa;
break;
case4:
stu[i].first_grade.practise=aa;
break;
}
}
elseif(a==2)
{
cout<<"请输入要修改的学科"<cout<<"1数学"<cout<<"2英语"<cout<<"3体育"<cout<<"4实践"<cin>>b;
cout<<"请输入修改后的成绩"<cin>>aa;
switch(b)
{
case1:
stu[i].second_grade.Math=aa;
break;
case2:
stu[i].second_grade.English=aa;
break;
case3:
stu[i].second_grade.Sport=aa;
break;
case4:
stu[i].second_grade.practise=aa;
break;
}
}
else
{
cout<<"输入错误请重新输入"<gotoloop1;
}
cout<<"是否继续修改?
(Y/N)"<cin>>ch;
if(ch=='y')
gotoloop1;
return;
}
cout<<"查无此人"<}
voidmain()
{
studentstu[100],*CH;
guanlia;
CH=stu;
a.chushi(stu);
inti;
while
(1){
a.print();
cin>>i;
if(i!
=1&&i!
=2&&i!
=3&&i!
=4&&i!
=5)
{
cout<<"输入错误,请重新输入"<}
else
{
switch(i)
{
case1:
a.fun1(CH);break;
case2:
a.paihang(a.BubbleSort(CH));break;
case3:
a.find(CH);break;
case4:
a.amend(CH);break;
case5:
exit(0);
}
}
}
}