根据上面那个代码,请给出正确的代码
时间: 2024-03-20 15:42:32 浏览: 99
以下是对原代码进行修改,添加了查重功能的代码:
```c++
void Admin_ljh::insertList_pro()
{
system("cls");
Subject_ljh q;
cout << "\t\t***************欢迎来到添加课程信息功能******************" << endl;
cout << "\t\t课程基本信息一览表:" << endl;
cout << endl;
// 显示已有课程列表
showList_pro();
// 输入新课程信息
cout << "\n\n\t\t请输入要添加的课程信息:" << endl;
cout << "\t\t课程编号:";
cin >> q.subject_id;
// 查询课程是否已经存在
if (find_pro(q.subject_id) != -1) {
cout << "\t\t该课程已经存在,请勿重复添加!" << endl;
return;
}
cout << "\t\t课程名称:";
cin >> q.subject_name;
cout << "\t\t学分:";
cin >> q.subject_credit;
cout << "\t\t任课教师:";
cin >> q.subject_teacher;
cout << "\t\t开课时间:";
cin >> q.subject_time;
// 添加课程信息
list_pro.push_back(q);
cout << "\t\t课程信息添加成功!" << endl;
}
```
在添加课程信息之前,先调用 `find_pro()` 函数查询该课程是否已经存在于系统中,如果存在,则不再添加,直接返回;如果不存在,则继续添加该课程信息。`find_pro()` 函数的实现可以参考以下代码:
```c++
int Admin_ljh::find_pro(string id)
{
for (int i = 0; i < list_pro.size(); i++) {
if (list_pro[i].subject_id == id) {
return i;
}
}
return -1; // 表示未找到该课程
}
```
该函数遍历已有课程列表,查询是否有与给定课程编号相同的课程,如果找到,则返回该课程在列表中的下标;如果未找到,则返回 -1。