Ir ao conteúdo
  • Cadastre-se

Calcular valor do aumento sobre porcentagem


Posts recomendados

Senhores,

 

Estou com uma dificuldade para saber o valor do aumento ou seja a diferencia do aumento.

 

no primeiro ex. se lancar um valor de 1.600 o valor do aumento tem quer ser 192 conforme o o percentual do aumento e o valor total seria 1.792, mais o valor do aumento sempre vem errado.

#include <stdio.h>
int main (){
float Salario,NovoSalario,ValorAumento;

printf("\nEmpregado 1\n");
printf ("\nValor do Salario: \n");
scanf("%f",&Salario);
if ((Salario>=1.500)&&(Salario<1.750))
{
    ValorAumento= Salario*0.12; //VALOR DO AUMENTO
    NovoSalario= Salario*1.12;  //VALOR NOVO SALARIO
    printf("\nValor do Aumento em 12 Porcento: \n%f",ValorAumento);
    printf("\nValor do Novo Salario: \n%.3f",NovoSalario);
}
else if ((Salario>=1.750)&&(Salario<2.000))
{
    ValorAumento= Salario*0.10; //VALOR DO AUMENTO
    NovoSalario= Salario*1.10; //VALOR NOVO SALARIO
    printf("\nValor do Aumento em 10 Porcento: \n%f",ValorAumento);
    printf("\nValor do Novo Salario: \n%.3f",NovoSalario);
}
else if (Salario>=2.000)
{
    ValorAumento= Salario*0.05; //VALOR DO AUMENTO
    NovoSalario= Salario*5.5; //VALOR NOVO SALARIO
    printf("\nValor do Aumento em 5 Porcento: \n%f",ValorAumento);
    printf("\nValor do Novo Salario: \n%.3f",NovoSalario);
}
    return 0;
}

 

Link para o comentário
Compartilhar em outros sites

Cara eu peguei seu código mexi um pouco nele, mas aqui funcionou depois que retirei os pontos dos valores das condições dos (if)s que você criou

  Por exemplo:

if ((Salario>=1500)&&(Salario<1750))
{
    ValorAumento= Salario*0.12; //VALOR DO AUMENTO
    NovoSalario= Salario*1.12;  //VALOR NOVO SALARIO
    printf("\nValor do Aumento em 12 Porcento: \n%f",ValorAumento);
    printf("\nValor do Novo Salario: \n%.3f",NovoSalario);

}

 testa ai e me fala se deu certo,

porque o ponto (.) é como se fosse ,

por exemplo em vez de 1500 você estava verificando se o valor seria 1,5 ate 1,75, por isso todos os valores estavam com 5 porcento de aumento, porque todos os valores digitados eram maior que 2.0.

 

é o que eu acho, lembrando que ainda estou aprendendo também.

Link para o comentário
Compartilhar em outros sites

Como falou @ViThor FM tratasse de reais(dinheiro). No primeiro caso trata-se de um valor(1600) entre 1500 e 1750 reais, por ponto é como se o valore fosse um valor entre um real e cinquenta centavos e um real e setenta e cinco centavos.
Eis aqui o exemplo:
 

    float Salario, NovoSalario, ValorAumento;
    Salario = 1600; //Entrada. Ao ler(com scanf) você deve por 1600, mesmo que se trate de um flotante, a menos que seja algo como mil e quinhentos reais e setenta e sete centavos(1500.77).
    
    if ( ( Salario >= 1500 ) && ( Salario < 1750 ) ) {
        ValorAumento = Salario * 0.12 ; 
        printf ( "\nValor do Aumento em 12 Porcento: \n%f", ValorAumento );
        
        
        NovoSalario = Salario + ValorAumento; // aqui você deve somar o salario ao valor de aumento para gerar NovoSalario
        printf ( "\nValor do Novo Salario: \n%.3f", NovoSalario );
    }

Ok?

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber 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...