Ir para conteúdo
Fórum Script Brasil
  • 0

Dúvida SCANF


Claudia Farias

Pergunta

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 <stdio.h>
#include <stdlib.h>

//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);
}
system ("pause");
}

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Sua struct está limitada em dois valores para 'preço' e dois caracteres para armazenar 'local' e outros dois para 'atracao'.

Além disso, está criando um vetor de struct.

Troque sua struct por:

struct ingresso
{
    float preco;
    char local[100];
    char atracao[100];
};
Uma outra coisa em seu código que talvez dê problema, é o fato de usar caracteres sinalizados, como no caso da variável "preço".
Se o compilador não reconhecer essa codificação (unicode) de maneira correta, pode ocorrer erro na execução.
Aconselho manter o código todo no padrão ASCII, sem as extensões. Que vai do valor 0 a 127, conforme tabela ASCII.
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...