![]() |
#2
跳跳鱼2012-05-24 23:02
|
一班有10名学生,一学期有5门课程,编写程序实现如下功能:
(1)录入每名学生的各科成绩
(2)求出每名学生的平均成绩和总分
(3)求每门课程的平均分、及格率、最高成绩和最低成绩
(4)输出总成绩前5名的学生学号、各科成绩和总分
(5)输出各科补考学生的学号和成绩
我目前只做了前两问,由于第三问不仅涉及到对每名学生的平均分,还有对每门课程的平均分,信息量比较大,一个一个列出来是最笨的方法,应该没人会这么干
我打算在类中设置一个数组,这样提取数据的时候比较方便,对学生的处理使用for循环,也就是对类中的对象使用for循环,我不会弄,谁能给看看?或者谁有更好的思想?
ps:我是编程新手,c++不咋地!嘿嘿!
下面代码奉上,很少,很简单!希望各位看客不要介意!

[color=#0000FF]#include <iostream>
using namespace std;
int i;
class student
{public:
student(int n,float s,float sci,float m,float a,float mu,float c):num(n),score(s),science(sci),math(m),art(a),music(mu),computer(c){} //定义构造函数
student(){}; //定义无参的构造函数
float total();
void lvru();
static float Saverage(); //学生平均
private:
int num;
float score;
float science;
float math;
float art;
float music;
float computer;
static float sum;
};
float student::total()
{
sum=science+math+art+music+computer;
cout<<"五科的总成绩为"<<sum<<endl;
return 0;
}
void student::lvru()
{ cout<<"学号:"<<endl;
cin>>num;
cout<<"科学成绩为:";
cin>>science;
cout<<"数学成绩为:";
cin>>math;
cout<<"艺术成绩为:";
cin>>art;
cout<<"音乐成绩为:";
cin>>music;
cout<<"计算机成绩为:";
cin>>computer;
}
float student::Saverage()
{
return ( float (sum/5));
}
float student::sum=0;
int main()
{
student stu1,stu2,stu3,stu4,stu5,stu6,stu7,stu8,stu9,stu10,stui;
cout<<"请输入十名学生的信息:"<<endl;
stu1.lvru();stu2.lvru();stu3.lvru();stu4.lvru();stu5.lvru();
stu6.lvru();stu7.lvru();stu7.lvru();stu8.lvru();stu9.lvru();stu10.lvru();
cout<<"十名学生平均成绩为:"<<endl;
for(int i=1;i<=10;i++)
{
cout<<stui.num<<stui.Saverage()<<endl; //编译时出错,stui不通过
}
return 0;
}
[/color] using namespace std;
int i;
class student
{public:
student(int n,float s,float sci,float m,float a,float mu,float c):num(n),score(s),science(sci),math(m),art(a),music(mu),computer(c){} //定义构造函数
student(){}; //定义无参的构造函数
float total();
void lvru();
static float Saverage(); //学生平均
private:
int num;
float score;
float science;
float math;
float art;
float music;
float computer;
static float sum;
};
float student::total()
{
sum=science+math+art+music+computer;
cout<<"五科的总成绩为"<<sum<<endl;
return 0;
}
void student::lvru()
{ cout<<"学号:"<<endl;
cin>>num;
cout<<"科学成绩为:";
cin>>science;
cout<<"数学成绩为:";
cin>>math;
cout<<"艺术成绩为:";
cin>>art;
cout<<"音乐成绩为:";
cin>>music;
cout<<"计算机成绩为:";
cin>>computer;
}
float student::Saverage()
{
return ( float (sum/5));
}
float student::sum=0;
int main()
{
student stu1,stu2,stu3,stu4,stu5,stu6,stu7,stu8,stu9,stu10,stui;
cout<<"请输入十名学生的信息:"<<endl;
stu1.lvru();stu2.lvru();stu3.lvru();stu4.lvru();stu5.lvru();
stu6.lvru();stu7.lvru();stu7.lvru();stu8.lvru();stu9.lvru();stu10.lvru();
cout<<"十名学生平均成绩为:"<<endl;
for(int i=1;i<=10;i++)
{
cout<<stui.num<<stui.Saverage()<<endl; //编译时出错,stui不通过
}
return 0;
}