//帮人写的,扔了怪可惜的。发这里玩玩吧。
#include<iostream>
#include<string>
using namespace std;
struct stu{
char name[10];
int math;
int chinese;
int english;
int num_fail; //没有用
int outstanding; //没有用
int number;
};
void averrage(stu []); //求平均分
void _failure(stu []); //>=两门不及格学生的学号和成绩
void outstanding(stu []); //85到90段的学生学号和姓名
stu student[10]={ {"王一哲",0,0,0,0,0,10080},
{"福大宁",0,0,0,0,0,10081},
{"王国柱",0,0,0,0,0,10082},
{"刘涛涛",0,0,0,0,0,10083},
{"董小卿",0,0,0,0,0,10084},
{"尼而采",0,0,0,0,0,10085},
{"歌尔德",0,0,0,0,0,10086},
{"康均德",0,0,0,0,0,10087},
{"薛仁贵",0,0,0,0,0,10088},
{"卫塽青",0,0,0,0,0,10089}};
int main()
{
//int m,c,e;
cout<<"实验一:"<<endl
<<"请输入成绩"<<endl;
for(int i=0;i<10;i++){
cin>>student[i].math;
cin>>student[i].chinese;
cin>>student[i].english;
if(10==i)
break;
}
cout<<"结果如下:"<<endl;
averrage(student); //求平均成绩
_failure(student);
outstanding(student);
return 0;
}
void averrage(stu st[]) //求平均分
{
int av_ma=0,av_ch=0,av_en=0;
for(int i=0;i<10;i++){
av_ma+=st[i].math;
av_ch+=st[i].chinese;
av_en+=st[i].english;
}
cout<<"---平均成绩列表--"<<endl<<endl;
cout<<"---数学平均成绩:"<<av_ma/10<<endl
<<"---汉语平均成绩:"<<av_ch/10<<endl
<<"---英语平均成绩:"<<av_en/10<<endl;
cout<<endl;
return;
}
void _failure(stu st[])
{
for(int i=0;i<10;i++){
if((st[i].math<60&&st[i].chinese<60&&st[i].english<60)
||(st[i].math>60&&st[i].chinese<60&&st[i].english<60)
||(st[i].math<60&&st[i].chinese>60&&st[i].english<60)
||(st[i].math<60&&st[i].chinese<60&&st[i].english>60)){
cout<<"至少两门成绩不及格学生学号:"<<" ";
cout<<st[i].number
<<endl<<endl;
cout<<"---不及格成绩:"<<" ";
if(st[i].math<60)
cout<<"数学:"
<<st[i].math<<" ";
if(st[i].chinese<60)
cout<<"汉语:"
<<st[i].chinese<<" ";
if(st[i].english<60)
cout<<"英语:"
<<st[i].english<<" ";
cout<<endl;
}
}
return;
}
void outstanding(stu st[])
{
int t_aver=0;
cout<<endl
<<"优秀学生列表:"<<endl;
for(int i=0;i<10;i++){
t_aver=(st[i].math+st[i].chinese+st[i].english)/3;
if(t_aver>85&&t_aver<90){
cout<<"姓名:"<<st[i].name
<<" 学号:"<<st[i].number<<endl;
}
}
return;
}