Ir ao conteúdo
  • Cadastre-se

ajuda em exercicio de C (if)


cloud460

Posts recomendados

Ola,

o exercicio é esse anexado.

eu fiz parte do codigo ate agora porque nao consigo entender, por exemplo, se eu digitar 400 e 0.5, o programa me da 2 valores.

O meu codigo é o seguinte.

#include <stdio.h>
#include <math.h>

int main(){

float salatual, temposervico, salnovo1, salnovo2;

printf("Digite o salario atual e o tempo de servico nesta empresa: ");
scanf("%f %f", &salatual, &temposervico);

if((salatual)<=500 && (temposervico)<1 || (salatual)<=1000 && 1>=temposervico<=3){

if((salatual<=500) && (temposervico<1)){

salnovo1 = (salatual*1.25);
printf("Novo salario = %0.2f", salnovo1);
}



if((salatual<=1000) && (1>=temposervico<=3)){

salnovo2 = (salatual*1.2)+100;
printf("Novo salario = %0.2f", salnovo2);
}
}
else {
printf("Nao tem direito a reajuste.");
getch();
return 0;

}
getch();
return 0;
}

Obrigado por quem me ajudar :)

edit: eu acho que o problema esta no

 || (salatual)<=1000 && 1>=temposervico<=3 

. Eu nao sei se o valor da variavel vai estar entre 1 e 3 realmente.

post-965253-13884965411235_thumb.jpg

Link para o comentário
Compartilhar em outros sites

Olá amigo, veja se isso te ajuda:

double AumentarSalario(double salarioAtual)
{
double novoSalario = 0;
if(salarioAtual <= 500.00)
{
novoSalario = salarioAtual + (salarioAtual * 25/100);
return novoSalario;
}
if(salarioAtual > 500.00 && salarioAtual <=1000)
{
novoSalario = salarioAtual + (salarioAtual * 20 / 100);
return novoSalario;
}
if(salarioAtual > 1000 && salarioAtual <= 1500.00)
{
novoSalario = salarioAtual + (salarioAtual * 15 / 100);
return novoSalario;
}
if(salarioAtual > 1500 && salarioAtual <= 2000)
{
novoSalario = salarioAtual + (salarioAtual * 10 /100);
return novoSalario;
}

}

double VerificarTempoServico(int tempoServico)
{
if(tempoServico < 1)
return 0;
if(tempoServico > 1 && tempoServico < 3)
return 100;
if(tempoServico > 4 && tempoServico < 6)
return 200;
if(tempoServico > 7 && tempoServico < 10)
return 300;
if(tempoServico > 10)
return 500;
}

double CalcularSalario(double salarioAtual, int tempoServico)
{
return AumentarSalario(salarioAtual) + VerificarTempoServico(tempoServico);
}

void _tmain(int argc, _TCHAR* argv[])
{
double salario = 0;
int tempoServico = 0;
printf("Digite seu salario atual:");
scanf_s("%f", &salario);
printf("Digite o tempo de servico:");
scanf_s("%f", &tempoServico);

printf("Seu novo salario é: %f", CalcularSalario(salario, tempoServico));
scanf_s("%s");
}

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...