完善class _0843杨晓慧 { public: int num; string name; char sex; double score1,score2,score3; }; class _0843杨晓慧_1:public _0843杨晓慧 { public: vector<_0843杨晓慧>v; _0843杨晓慧_1() ; void _0843杨晓慧1() ; void _0843杨晓慧2() ; void _0843杨晓慧3()
时间: 2024-03-15 11:45:04 浏览: 56
好的,您的问题是关于完善一个名为“_0843杨晓慧”的类及其派生类“_0843杨晓慧_1”的代码。根据您提供的代码片段,我可以帮您进行以下完善:
1. 在类“_0843杨晓慧”中添加一个构造函数,初始化该类的成员变量。
2. 在类“_0843杨晓慧_1”中添加三个成员函数,分别用于实现以下功能:
- _0843杨晓慧1():向类中添加学生记录。
- _0843杨晓慧2():按照学生学号进行查询,并输出该学生的信息。
- _0843杨晓慧3():按照学生学号进行删除,并将删除的学生记录转存到另一个删除库中。
以下是完善后的代码:
```c++
#include <iostream>
#include <string>
#include <vector>
using namespace std;
class _0843杨晓慧
{
public:
int num;
string name;
char sex;
double score1, score2, score3;
// 添加构造函数
_0843杨晓慧(int n, string nm, char s, double s1, double s2, double s3): num(n), name(nm), sex(s), score1(s1), score2(s2), score3(s3) {}
};
class _0843杨晓慧_1: public _0843杨晓慧
{
public:
vector<_0843杨晓慧> v;
_0843杨晓慧_1() {}
// 添加向类中添加学生记录的函数
void _0843杨晓慧1()
{
int n;
string nm;
char s;
double s1, s2, s3;
cout << "请输入学号、姓名、性别、三门课的成绩:";
cin >> n >> nm >> s >> s1 >> s2 >> s3;
_0843杨晓慧 stu(n, nm, s, s1, s2, s3);
v.push_back(stu);
}
// 添加按照学生学号进行查询,并输出该学生的信息的函数
void _0843杨晓慧2()
{
int n;
cout << "请输入要查询的学生学号:";
cin >> n;
for (int i = 0; i < v.size(); i++)
{
if (v[i].num == n)
{
cout << "学号:" << v[i].num << endl;
cout << "姓名:" << v[i].name << endl;
cout << "性别:" << v[i].sex << endl;
cout << "成绩1:" << v[i].score1 << endl;
cout << "成绩2:" << v[i].score2 << endl;
cout << "成绩3:" << v[i].score3 << endl;
return;
}
}
cout << "未找到该学生记录!" << endl;
}
// 添加按照学生学号进行删除,并将删除的学生记录转存到另一个删除库中的函数
void _0843杨晓慧3()
{
int n;
cout << "请输入要删除的学生学号:";
cin >> n;
for (int i = 0; i < v.size(); i++)
{
if (v[i].num == n)
{
_0843杨晓慧 stu = v[i];
v.erase(v.begin() + i);
// 将删除的学生记录转存到另一个删除库中
// ...
cout << "删除成功!" << endl;
return;
}
}
cout << "未找到该学生记录!" << endl;
}
};
```
需要注意的是,上述代码只是在您提供的代码基础上进行的完善,可能还需要根据具体需求进行进一步修改和调整。
阅读全文