打印出链接列表-C

Printing Out Linked List - C++

本文关键字:列表 链接 打印      更新时间:2023-10-16

我正在尝试打印出链接列表中的所有员工,但是正在遇到一个问题,但除了最后一位员工外,所有员工都在打印出来。我有一个printroster()函数,以正确地打印出我列表的所有名称的位置,总计3个,但是我的打印功能似乎只仅打印出2。(我可以在必要时发布更多代码)

这是我的文本文件:

START_OF_FILE
INSERT_EMPLOYEE
123456
John
Smith
64000
35
INSERT_EMPLOYEE
345678
Mike
Jones
70000
30
INSERT_EMPLOYEE
234567
Dean
Thomas
72000
40
PRINT_ROSTER
PRINT_EMPLOYEE
John
Smith
PRINT_EMPLOYEE
Mike
Jones
PRINT_EMPLOYEE
Dean
Thomas
END_OF_FILE

我的输出:

John Smith, 123456
Mike Jones, 345678
Dean Thomas, 234567
John Smith, 123456
Salary: 64000
Hours: 35
Mike Jones, 345678
Salary: 70000
Hours: 30

预期输出:

John Smith, 123456
Mike Jones, 345678
Dean Thomas, 234567
John Smith, 123456
Salary: 64000
Hours: 35
Mike Jones, 345678
Salary: 70000
Hours: 30
Dean Thomas, 234567
Salary: 72000
Hours: 40

问题在您的printEmployee函数中,loop while (tempEmployee->next != NULL)您正在检查下一个员工是否存在,并且是否在场,则只有这样执行您的循环。

在您的情况下,当您的循环是最后的员工时,它会检查下一个员工是否在场,并且由于不存在,您的循环未执行,并且未打印了最后一名员工的信息。

您应该更改像这样的循环

while(tempEmployeee != NULL)