string id; cout << "请输入工号:"; cin >> id; while (p != nullptr) { if (p->data.getId() == id) { p->data.printInfo(); } p = p->next; } break;修改代码,使其在没有找到可以匹配的信息时,输出"没有找到相关教职工信息"。
时间: 2024-02-14 20:08:14 浏览: 57
可以在循环结束后加一个判断,如果没有找到匹配的信息,则输出相应的提示信息。修改后的代码如下:
```
string id;
cout << "请输入工号:";
cin >> id;
bool found = false; // 标记是否找到匹配的信息
while (p != nullptr)
{
if (p->data.getId() == id)
{
p->data.printInfo();
found = true;
break; // 找到匹配的信息后可以直接退出循环
}
p = p->next;
}
if (!found) {
cout << "没有找到相关教职工信息" << endl;
}
```
这样,如果循环结束后 still 没有找到匹配的信息,就会输出 "没有找到相关教职工信息"。
相关问题
void addNode(const Employee& data) { Node* p = head; while (p->next != nullptr) { p = p->next; } p->next = new Node(data); cout << "添加成功!" << endl; },将以上代码优化改进,使其默认状态下为继续输入,当输入“-1”时回到上一层。
可以通过在循环中增加一个判断,判断用户是否输入了-1,如果输入了,则跳出循环,否则继续循环添加节点。具体代码如下:
```
void addNode(const Employee& data) {
Node* p = head;
while (true) {
if (p->next == nullptr) {
p->next = new Node(data);
cout << "添加成功!" << endl;
return;
}
string input;
cout << "继续添加请输入1,返回上一层请输入-1:" << endl;
cin >> input;
if (input == "-1") {
return;
}
p = p->next;
}
}
```
这样,当用户输入-1时,函数会直接返回,否则会继续循环添加节点。
阅读全文