Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
cloud460

ajuda em exercicio de C (if)

Recommended Posts

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

Editado por cloud460

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça a verificação de reajuste do salário e do bonus de forma independente, pois um não tem a ver com o outro.

Isso vai facilitar a implementação do código.

Compartilhar este post


Link para o post
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");
}

Compartilhar este post


Link para o post
Compartilhar em outros sites
O código acima não validará as horas 3, 4, 6, 7 e 10.

Exatamente. O intuito foi dar uma ajuda para o colega acima dando apenas um caminho para a resolução do problema.

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • Autor do tópico
  • consegui resolver o meu problema.

    obrigado pelo ajuda !!

    :lol::lol:

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
    consegui resolver o meu problema.

    obrigado pelo ajuda !!

    :lol::lol:

    Por Gentileza, posta a sua solução, assim você ajuda aos demais que estiverem com a mesma dúvida.

    • Curtir 1

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Crie uma conta ou entre para comentar

    Você precisar ser um membro para fazer um comentário






    Sobre o Clube do Hardware

    No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações 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

    ×