完善void _0_1::_1(){ int a; cin>>s.num[N]; cin>>s.name; cin>>s.sex; cin>>s.score1; cin>>s.score2; cin>>s.score3; i.v.push_back(s); cin>>a; if(a==1){return _1();} return ; } void __1::_2(){ int a=3; vector<_>::iterator p=i.v.begin(
时间: 2024-04-26 15:24:18 浏览: 100
pointer_select_sort.rar_指针 select_sort
void _0_1::_1() {
int a;
student s;
cin >> s.num[N];
cin >> s.name;
cin >> s.sex;
cin >> s.score1;
cin >> s.score2;
cin >> s.score3;
i.v.push_back(s);
cout << "是否继续添加学生信息?\n1. 继续\n2. 返回上一级菜单\n";
cin >> a;
if (a == 1) {
return _1();
}
return;
}
void __1::_2() {
int a = 3;
vector<_>::iterator p = i.v.begin();
cout << "请输入要删除的学生学号:";
string num;
cin >> num;
for (; p != i.v.end(); p++) {
if (p->num == num) {
i.v.erase(p);
a = 1;
break;
}
}
if (a == 1) {
cout << "删除成功!" << endl;
} else {
cout << "未找到该学生记录!" << endl;
}
system("pause");
}
这里给出了两个修改后的函数 `_1` 和 `_2`,可能还需要对程序中的一些变量或类进行调整。
在 `_1` 中,我们添加了一个 `student` 类型的变量 `s`,用于存储新添加的学生信息。我们在输入学生信息后,将 `s` 插入到 `vector` 容器 `i.v` 的末尾,并询问用户是否继续添加学生信息。如果用户输入了 1,那么继续调用 `_1` 函数进行添加;否则返回上一级菜单。
在 `_2` 中,我们添加了一个 `vector<_>::iterator` 类型的迭代器 `p`,用于遍历 `i.v` 容器中的学生信息。我们先让用户输入要删除的学生的学号,然后在容器中查找是否有符合条件的学生记录。如果找到了,就通过 `vector` 容器的 `erase()` 方法将该学生记录从容器中删除,并输出删除成功信息;否则输出未找到该学生记录的提示信息。
阅读全文