// Task 6: Promote a staff to the same level as his original supervisor
Staff* Search_supervisor(Staff *staff_head, const unsigned int target_sid){
if(staff_head==nullptr){
return nullptr;
}
Staff *staff=nullptr;
for(int i=0;i<staff_head->number_of_subordinate;i++){
if(staff_head->subordinate[i]->sid==target_sid){
staff=staff_head;
return staff;
}
}
for(int i=0;i<staff_head->number_of_subordinate;i++){
staff=Search_supervisor(staff_head->subordinate[i],target_sid);
}
return staff;
}
anything wrong with the logic?
Tried debugging but i dont know whats wrong