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.
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.");
}
Pergunta
Alexsander Leal
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();
}
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.