利用结构体类型建立一个链表,每个节点包含的成员项为:职工号、工资和链接指针。要求编程完成以下功能:1.从键盘输入各个节点的数据,然后将各个节点的数据打印输出
时间: 2024-03-08 22:48:32 浏览: 55
好的,以下是实现该功能的 C++ 代码:
```c++
#include <iostream>
using namespace std;
struct Employee {
int id;
double salary;
Employee* next;
};
int main() {
Employee* head = NULL; // 链表的头节点
Employee* tail = NULL; // 链表的尾节点
// 从键盘输入各个节点的数据
while (true) {
Employee* node = new Employee;
cout << "请输入职工号:";
cin >> node->id;
cout << "请输入工资:";
cin >> node->salary;
node->next = NULL;
// 将该节点添加到链表中
if (head == NULL) {
head = node;
tail = node;
} else {
tail->next = node;
tail = node;
}
// 询问是否继续输入
char c;
cout << "是否继续输入?(Y/N)";
cin >> c;
if (c != 'Y' && c != 'y') {
break;
}
}
// 打印输出各个节点的数据
Employee* p = head;
while (p != NULL) {
cout << "职工号:" << p->id << ",工资:" << p->salary << endl;
p = p->next;
}
// 释放链表的内存空间
p = head;
while (p != NULL) {
Employee* q = p->next;
delete p;
p = q;
}
return 0;
}
```
运行程序后,依次输入每个节点的职工号和工资,按下回车键后会询问是否继续输入,选择 Y 或 y 继续输入,选择其他字符停止输入。输入完毕后,程序会打印输出每个节点的职工号和工资。最后,程序会释放链表的内存空间。
阅读全文