Logo Hardware.com.br
claudiaffarias
claudiaffari... Novo Membro Registrado
3 Mensagens 0 Curtidas

Dúvida - FLOAT apresenta valor estranhos

#1 Por claudiaffari... 29/07/2014 - 12:55
Bom dia!
Uma dúvida no SCANF. Está mostrando um número muito estranho. O que será? Quando executo e ele imprime os valores, no preço (float) aparece um valor que não tem nada a ver com o que eu digitei.

#include
#include

//1) Crie uma estrutura de dados para armazenar os dados de um ingresso na qual devem constar campos para:
//- O preço
//- O local
//- A atração

#define tam 2

struct ingresso {
float preço[tam];
char local[tam];
char atracao[tam];
};

//void preenche_evento(struct ingresso [], int);
//avoid imprime_evento(struct ingresso);

void preenche_evento(struct ingresso a_ingresso [], int index)
{
printf("preço: ");
scanf("%f", &a_ingresso[index].preço);
printf("LOCAL: ");
scanf("%s", &a_ingresso[index].local);
printf("ATRACAO: ");
scanf("%s", &a_ingresso[index].atracao);
}
void imprime_evento(struct ingresso i_ingresso)
{
printf("\nPreco: %d", i_ingresso.preço);
printf("\nLocal: %s", i_ingresso.local);
printf("\nAtracao: %s", i_ingresso.atracao);
}


main()
{
struct ingresso eventos[tam];
int i;
for (i = 0; i < tam; i++) {
printf("\nEntre os dados do Evento %d:\n", i);
preenche_evento(eventos,i);
}
for (i = 0; i < tam; i++) {
printf("\n\nLista dos dados %d:\n", i);
imprime_evento(eventos[i]);
}
system ("pause");
}
jcferranti
jcferranti General de Pijama Registrado
4.7K Mensagens 162 Curtidas
#2 Por jcferranti
29/07/2014 - 13:26
1º. você não está indicando diretamente em qual indice da matriz está colcoando os valores. int = [desconhecido];
2º. você criou matriz, mas está imprimindo a váriavel sem indicar o indice?
Casa:MS Windows Seven (empolgando)
Trampo: MS Windows Seven (desapontando)

Quer um Fórum exclusivamente sobre Open Source? Aqui: www.linuxbsd.com.br/forum
claudiaffarias
claudiaffari... Novo Membro Registrado
3 Mensagens 0 Curtidas
#3 Por claudiaffari...
29/07/2014 - 13:40
Oi jcferranti, obrigada pelo retorno.
Fiz a alteração conforme você comentou, mas ainda assim imprime a variavel float zerada, veja abaixo:
Tenho a impressão que precisaria algum tipo de conversão.

#include
#include

//1) Crie uma estrutura de dados para armazenar os dados de um ingresso na qual devem constar campos para:
//- O preço
//- O local
//- A atração

#define tam 2

struct ingresso {
float preco[tam];
char local[tam];
char atracao[tam];
};

//void preenche_evento(struct ingresso [], int);
//avoid imprime_evento(struct ingresso);

void preenche_evento(struct ingresso a_ingresso [], int index)
{
printf("preço: ");
scanf("%f", &a_ingresso[index].preco);
printf("LOCAL: ");
scanf("%s", &a_ingresso[index].local);
printf("ATRACAO: ");
scanf("%s", &a_ingresso[index].atracao);
}
void imprime_evento(struct ingresso i_ingresso[], int index)
{
printf("\nPreco: %f", i_ingresso[index].preco);
printf("\nLocal: %s", i_ingresso[index].local);
printf("\nAtracao: %s", i_ingresso[index].atracao);
}


main()
{
struct ingresso eventos[tam];
int i;
for (i = 0; i < tam; i++) {
printf("\nEntre os dados do Evento %d:\n", i);
preenche_evento(eventos,i);
}
for (i = 0; i < tam; i++) {
printf("\n\nLista dos dados %d:\n", i);
imprime_evento(eventos,i);
}
system ("pause");
}

© 1999-2025 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal