Galera tenho que fazer um trabalho pra faculdade e uma parte e que tenho que calcular a gratificacao por tempo de servico e ai que esta meu problema quando ponho o sexo 'm' ele le a gratificacao correspondente ao sexo feminino e outra parte tb e que o salario familia e dado a todos os funcionarios menos aos que forem do sexo 'm' e recebam mais que 500 vou por o codigo veem se vocês podem me ajudar não consigo achar nada, agradesço desde já a todos. 
  
#include <stdio.h>  
main() { 
    float sb, ip, gts, gb, sf, sl; 
    int ts; 
    char sexo;  
    printf ("Digite o salario bruto o funcionario: R$ "); 
    scanf("%f", &sb); 
    printf("Digite o tempo de servico do funcionario em anos: "); 
    scanf("%d", &ts); 
    printf("Digite o sexo do funcionario <F ou M>: "); 
    scanf(" %c", &sexo); 
    system("cls");  
/*Calculo de impostos*/ 
if (sb < 200) 
printf("Funcionario isento de impostos.\n\n"); 
    else if    ((sb == 200) || (sb < 451)) { 
        ip = (sb * 0.03); 
        printf("Total de impostos e de: R$ %.2f\n\n", ip); 
    } 
        else if ((sb == 450) || (sb < 701)) { 
            ip = (sb * 0.08); 
            printf("Total de impostos do funcionario e de: R$ %.2f\n\n", ip); 
        } 
            else{ 
                (sb > 700); 
                ip = (sb * 0.12); 
                    printf("Total de impostos do funcionario e de: R$ %.2f\n\n", ip); 
            }  
/*Gratificacao por tempo de serviço*/  
    sexo = toupper('m'); 
    sexo = toupper('f');  
    if ((sb > 500) && (sexo == 'M') && (ts <= 3)){ 
        gts = 20; 
        printf("O valor da gratificacao por tempo de servico e de: R$ %.2f\n\n", gts); 
    }  
        else if ((sb > 500) && (sexo == 'M') && (ts > 3)) { 
            gts = 30; 
            printf("O valor da gratificacao por tempo de servico e de: R$ %.2f\n\n", gts); 
        }  
        else if ((sb > 500) && (sexo == 'F') && (ts <= 3)) { 
            gts = 25; 
            printf("O valor da gratificacao por tempo de servico e de: R$ %.2f\n\n", gts); 
        }  
        else if ((sb > 500) && (sexo == 'F') && (ts > 3)) { 
            gts = 40; 
            printf("O valor da gratificacao por tempo de servico e de: R$ %.2f\n\n", gts); 
        }  
        else if ((sb <= 500) && (sexo == 'M') && (ts <= 4)) { 
            gts = 23; 
            printf("O valor da gratificacao por tempo de servico e de: R$ %.2f\n\n", gts); 
        }  
        else if ((sb <= 500) && (sexo == 'M') && (ts > 4)) { 
            gts = 35; 
            printf("O valor da gratificacao por tempo de servico e de: R$ %.2f\n\n", gts); 
        }  
            else if ((sb <= 500) && (sexo == 'F') && (ts <= 4)) { 
                gts = 28; 
                printf("O valor da gratificacao por tempo de servico e de: R$ %.2f\n\n", gts); 
            }  
                else{ 
                        ((sb <= 500) && (sexo == 'F') && (ts > 4)); 
                        gts = 33; 
                        printf("O valor da gratificacao por tempo de servico e de: R$ %.2f\n\n", gts); 
                }   
/*Gratificação por biênio*/  
            gb = (ts/2); 
            gb = ((sb * 0.05) * gb);  
            if (gb > 0) 
            printf("A gratificacao por bienio do funcionario e de: R$ %.2f\n\n", gb); 
                else 
                printf("O funcionario não possui gratificacao por bienio.\n\n");  
/*Salario Familia*/  
            if ((sexo == 'M') && (sb > 500)) 
            printf("Salario familia R$ %.2f\n\n", 0); 
                else { 
                    sf = (sb * 0.15); 
                    printf("Salario familia R$ %.2f\n\n", sf); 
                }   
/*Salário Líquido*/ 
        sl = ((sb - ip) + (gts + gb + sf)); 
        printf("O salario liquido do funcionario e de: R$ %.2f\n\n", sl);  
/*Categoria*/  
        if (sl <= 350) 
        printf("Funcionario mau remunerado."); 
            else if ((sl > 350) || (sl <= 600)) 
            printf("Funcionario com remuneracao normal."); 
                else { 
                (sl > 600); 
                printf("Funcionario bem remunerado.");     
                }  
                getch(); 
}