Ir ao conteúdo
  • Cadastre-se

Código em C, problema em leitura de variável, e resultado zero


Season

Posts recomendados

Pessoal, a quem estiver lendo, eu estou enfrentando problemas que considero incomuns em meu código, por exemplo, eu tenho 3 variáveis float, e 1 char, no caso eu tenho somente duas leituras de variáveis(quando o usuário insere um dado), porém, quando o executo ele só lê uma e pula a outra e devido a isso eu tenho que usar a linha de comando fflush(stdin), contudo, embora eu consiga inserir as duas variáveis o meu resultado sai como zero, como se eu não tivesse posto nada na variável float. E eu gostaria de saber o porquê de não ler a segunda variável se eu não colocar a linha de comando fflush(stdin).

Este é o código:

 

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

int main()
{
    float salario, aumento, nvsalario, diferenca;
    char cargo;
    setlocale(LC_ALL, "");
printf("Insira o salário: ");
scanf("%f",&salario);
fflush(stdin);  // se eu não colocar esse comando ele pula a leitura da variável cargo.
printf("\nInforme o cargo, G - gerente, E - engenheiro, T - técnico, O - outros: ");
scanf("%c",&cargo);

if (cargo=='G')
{
aumento=salario*0.25;
nvsalario=salario+aumento;
printf("O novo salário é de: %f \n", &nvsalario);
diferenca=nvsalario-salario;
printf("A diferença é de: %f \n", &diferenca);
}
else if (cargo='E')
{
aumento=salario*0.2;
nvsalario=salario+aumento;
printf("O novo salário é de: %f \n", &nvsalario);
diferenca=nvsalario-salario;
printf("A diferença é de: %f \n", &diferenca);
}
else if (cargo='T')
{
aumento=salario*0.15;
nvsalario=salario+aumento;
printf("O novo salário é de: %f \n", &nvsalario);
diferenca=nvsalario-salario;
printf("A diferença é de: %f \n", &diferenca);
}
else
{
aumento=salario*0.1;
nvsalario=salario+aumento;
printf("O novo salário é de: %f \n", &nvsalario);
diferenca=nvsalario-salario;
printf("A diferença é de: %f \n", &diferenca);
}
}
 

 

Já deixo um agradecimento prévio para quem puder me auxiliar.

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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...