Ir para o conteúdo
hornet900

float em estrutura

Mensagens Recomendadas

hornet900

  Boa noite.

Estou a fazer um programa em que declaro varias variáveis em estruturas, entra as quais do tipo float.

O meu problema está quando peço ao utilizador um valor do tipo float, e o armazeno na estrutura. Não sei o que estou a fazer mal, só sei que o valor que me aparece no ecrã é o mesmo que introduzi até há virgula e na parte fracionária são só zeros. O programa que estou a fazer é um trabalho extenso, pelo que vou postar aqui apenas a parte do código em que peço ao utilizador o numero e a parte em que faço printf

printf("\nQuantas horas de uso por mes entre as 08:00 e as 22:00?");
   fflush(stdin);
   scanf("%f",&hab->teste);
   printf("%.2f",hab->teste);

hab é uma variavel do tipo da estrutura e teste está declarado dentro da estrutura como tipo float

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pmg

Como e que escreves PI --- 3.14159 ou 3,14159?

Em principio o teu programa esta na "locale" C, onde as partes inteira decimal sao separadas pelo caracter ".". Acho que e possivel alterar o "locale" para outro (PT?) onde a separacao e feita pelo caracter "," ... mas nunca experimentei.

http://pubs.opengroup.org/onlinepubs/9699919799/functions/setlocale.html

----------------------------------------------------

Outra coisa: fflush(stdin) nao esta definido no Standard de C. O Windows define-o, portanto se nunca vais querer usar o teu programa noutro Sistema Operativo, nao ha problema (grande).

Se queres fazer as coisas correctamente, substitui essa "avaria" por algo que funciona sempre:

int ch;
while (((ch = getchar) != '\n') && (ch != EOF)) /* void */;


What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Partilhar esta mensagem


Ligação 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

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.