C++ 打印出链表-C++;
我试图打印出我的链接列表中的所有员工,但遇到了一个问题,除了最后一名员工外,所有员工都打印到了哪里。我有一个printloster()函数,它可以正确地打印出列表中的所有名称,总共3个,但我的打印函数似乎只打印出2个。(如有必要,我可以发布更多代码) 这是我的文本文件: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
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循环被更改,您在添加员工时可能会遇到相同的问题?您的头指向错误的位置,您可以粘贴更多的代码吗