#include <iostream> #include <string> #include <vector> using namespace std; class Student { private: int id; //学号 string name; //姓名 float score; //个人成绩 public: //构造函数 Student(int id, string name, float score) { this->id = id; this->name = name; this->score = score; } //获取学号 int getId() { return id; } //获取姓名 string getName() { return name; } //获取成绩 float getScore() { return score; } }; class Project { private: int pId; //项目编号 string pName; //项目名称 Student leader; //组长 Student members[3]; //小组成员 float pScore; //小组成绩 public: //构造函数 Project(int pId, string pName, Student leader, Student members[]) { this->pId = pId; this->pName = pName; this->leader = leader; for(int i=0; i<3; i++) { this->members[i] = members[i]; } //计算小组成绩 pScore = (members[0].getScore() + members[1].getScore() + members[2].getScore()) / 3; } //获取项目编号 int getPid() { return pId; } //获取项目名称 string getPname() { return pName; } //获取组长 Student getLeader() { return leader; } //获取小组成员 Student* getMembers() { return members; } //获取小组成绩 float getScore() { return pScore; } //输出项目组信息 void printProject() { cout << "项目编号:" << pId << endl; cout << "项目名称:" << pName << endl; cout << "组长:" << leader.getName() << endl; cout << "小组成员:" << endl; for(int i=0; i<3; i++) { cout << members[i].getName() << endl; } cout << "小组成绩:" << pScore << endl; } }; int main() { //创建学生 Student s1(1, "张三", 80); Student s2(2, "李四", 85); Student s3(3, "王五", 90); Student s4(4, "赵六", 85); Student s5(5, "钱七", 92); Student s6(6, "孙八", 87); //创建项目组 Student members1[3] = {s1, s2, s3}; Project p1(1, "项目一", s1, members1); Student members2[3] = {s4, s5, s6}; Project p2(2, "项目二", s4, members2); //输出项目组信息 p1.printProject(); p2.printProject(); return 0; }修改程序
时间: 2023-06-26 08:06:47 浏览: 44
#include <iostream>
#include <string>
#include <vector>
using namespace std;
class Student {
private:
int id; //学号
string name; //姓名
float score; //个人成绩
public:
//构造函数
Student(int id, string name, float score) {
this->id = id;
this->name = name;
this->score = score;
}
//获取学号
int getId() const {
return id;
}
//获取姓名
string getName() const {
return name;
}
//获取成绩
float getScore() const {
return score;
}
};
class Project {
private:
int pId; //项目编号
string pName; //项目名称
Student leader; //组长
vector<Student> members; //小组成员
float pScore; //小组成绩
public:
//构造函数
Project(int pId, string pName, Student leader, vector<Student> members) {
this->pId = pId;
this->pName = pName;
this->leader = leader;
this->members = members;
//计算小组成绩
float sum = leader.getScore();
for (Student member : members) {
sum += member.getScore();
}
pScore = sum / (members.size() + 1);
}
//获取项目编号
int getPid() const {
return pId;
}
//获取项目名称
string getPname() const {
return pName;
}
//获取组长
Student getLeader() const {
return leader;
}
//获取小组成员
vector<Student> getMembers() const {
return members;
}
//获取小组成绩
float getScore() const {
return pScore;
}
//输出项目组信息
void printProject() const {
cout << "项目编号:" << pId << endl;
cout << "项目名称:" << pName << endl;
cout << "组长:" << leader.getName() << endl;
cout << "小组成员:" << endl;
for (Student member : members) {
cout << member.getName() << endl;
}
cout << "小组成绩:" << pScore << endl;
}
};
int main() {
//创建学生
Student s1(1, "张三", 80);
Student s2(2, "李四", 85);
Student s3(3, "王五", 90);
Student s4(4, "赵六", 85);
Student s5(5, "钱七", 92);
Student s6(6, "孙八", 87);
//创建项目组
vector<Student> members1 {s1, s2, s3};
Project p1(1, "项目一", s1, members1);
vector<Student> members2 {s4, s5, s6};
Project p2(2, "项目二", s4, members2);
//输出项目组信息
p1.printProject();
p2.printProject();
return 0;
}