Narrow down the problem. You've done well by identifying that removing lines 76 to 98 eliminates the crash. Now look at those lines and figure out exactly which one causes it by. Either with smart guesses (for example, maybe it's the call to appendnode on line 92; what if you just comment that out?).
You could also use the debugger. That would tell you the exact line causing the problem.
Calls to the function
1 2 3 4 5 6 7 8
void discard_line(ifstream &in)
{
char c;
do
in.get(c);
while (c!='\n');
}
could he have said that because there's more linked lists?
I have no idea.
Any way the problem is that when you read the employees first you don't have the job data so the job pointer remains a nullptr. When you print the list a second time the first nodes don't have jobs so you need the check before you try to print.