c++中对类的对象能使用循环吗?求解
有这样一道题一班有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]