C++ 打印出链表-C++;

C++ 打印出链表-C++;,c++,linked-list,C++,Linked List,我试图打印出我的链接列表中的所有员工,但遇到了一个问题,除了最后一名员工外,所有员工都打印到了哪里。我有一个printloster()函数,它可以正确地打印出列表中的所有名称,总共3个,但我的打印函数似乎只打印出2个。(如有必要,我可以发布更多代码) 这是我的文本文件: START_OF_FILE INSERT_EMPLOYEE 123456 John Smith 64000 35 INSERT_EMPLOYEE 345678 Mike Jones 70000 30 INSERT_EMPL

我试图打印出我的链接列表中的所有员工,但遇到了一个问题,除了最后一名员工外,所有员工都打印到了哪里。我有一个printloster()函数,它可以正确地打印出列表中的所有名称,总共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函数的while循环
while(tempeployee->next!=NULL)
您正在检查下一个员工是否存在,以及是否存在,并且只有在该员工存在时才执行循环

在您的情况下,当您的循环是last employee时,它会检查下一个员工是否存在,因为它不存在,所以不会执行循环,也不会打印最后一个员工的信息

你应该像这样改变你的while循环


while(tempEmployeee!=NULL)

-或者更好的是,while(tempEmployee!=nullptr){…}仍然得到相同的结果,即使while循环被更改,您在添加员工时可能会遇到相同的问题?您的头指向错误的位置,您可以粘贴更多的代码吗