• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

migg

O inicio...

5 mensagens neste tópico

Comecei agora  a estudar algoritmia, como sei C é mais facil aprender!!

Abri este tópico para ir postando alguns exercícios que faço e a minha resolução...

Para depois dizerem como faziam...

E assim eu evoluir mais depresa a ver o exemplo de gente que anda nisto a muito mais tempo :)

Aqui vai o primeiro:

/*       1 – Elaborar um programa que efetue o cálculo do reajuste de salário de um
funcionário. Considere que o funcionário deverá receber um reajuste de 15% caso seu
salario seja menor que 500. Se o salario for maior ou igual a 500 mas n\menor ou igual a
1000, seu reajuste será de 10%, e caso seja ainda maior que 1000, o reajuste deverá ser
de 5%.
       ler um valor para o salario
       verificar se o valor de salario < 500; se sim, reajustar em 15%
       verificar se o valor de salario <=1000; se sim, reajustar em 10%
       verificar se o valor de salario > 1000; se sim, reajustar em 5%
       apresentar o valor reajustado.*/

#include <stdio.h>
#include <stdlib.h>

main() {
int sal;
float perc_1= 5.0 / 100.0,perc_2= 10.0 / 100.0, perc_3= 15.0 / 100.0; 
int res;
fflush(stdin);
printf("Incerir salário: "); scanf("%d", &sal);
if(sal > 1000){
     res = sal - (sal * perc_1);
     printf("O salário sofreu um reajuste de 5%% ficando com um salario de: %d\n", res);
}
else if(sal <= 1000){
     res = sal - (sal * perc_2);
     printf("O salário sofreu um reajuste de 10%% ficando com um salario de: %d\n", res);
}
else if(sal < 500){
             res = sal - (sal * perc_3);
             printf("O salário sofreu um reajuste de 15%% ficando com um salario de: %d\n", res);
}
main();
return(0);
}

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

A solução está quase correcta, mas aquilo que tens escrito em comentário é diferente e se tivesses implementado assim estaria errado.

A razão pela qual digo quase correcta é que o termo "reajuste" é ambíguo já que tanto pode ser um aumento como uma redução, mas o teu sentido de justiça social não te fez imediatamente desconfiar que:

- Se tiver um salário inferior a 500€, cortar 15%

- Se tiver um salário superior a 1000€, cortar 5%

Nunca poderia ser o pretendido?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já agora, é "inserir" e não "incerir" e ao usares as tags CODE, faz, code=c, para fazer highlight. :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já agora, é "inserir" e não "incerir" e ao usares as tags CODE, faz, code=c, para fazer highlight. :)

tanks

A solução está quase correcta, mas aquilo que tens escrito em comentário é diferente e se tivesses implementado assim estaria errado.

A razão pela qual digo quase correcta é que o termo "reajuste" é ambíguo já que tanto pode ser um aumento como uma redução, mas o teu sentido de justiça social não te fez imediatamente desconfiar que:

- Se tiver um salário inferior a 500€, cortar 15%

- Se tiver um salário superior a 1000€, cortar 5%

Nunca poderia ser o pretendido?

Pelo que percebi, eu teria de apresentar duas soluções uma para aumentar o salario e outra para diminuir o salario é isso?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

tanks

Pelo que percebi, eu teria de apresentar duas soluções uma para aumentar o salario e outra para diminuir o salario é isso?

Não =X

A palavra reajustar é ambígua, e portanto, devia aceitar-se quer o aumento quer a redução, como solução. Bastava fazer uma delas.

O único problema é que qualquer pessoa com a mínima noção de justiça, percebe que ninguém vai fazer um reajuste que tira 5% aos que têm mais e tira 15% aos que não têm quase nada.

Obviamente que essas percentagens se referem a aumentos, os que ganham menos de 500€ vão receber um aumento de 15%.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora