Code:
                        //accesses get_offer function to calculate new price
                        wages[tax_no].YIT = calc_YIT( wages[tax_no].emp_income);
                                            tax_no++;
                                  wages[tax_no].YTH = calc_YTH( wages[tax_no].emp_income, wages[tax_no].YIT, wages[tax_no].taxcred);
                                                    tax_no++;
So why do you increment tax_no twice?