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

Struct


cwarez

Pergunta

fala pessoal, tudo certim?

bom, estamos estudando struct em c la na escola

dai to com umas duvidas

o prof quer que cria uma funcao que ler os pontos x,y

struct ponto {

float x;

float y;

};

, dai eu to fazendo assim

#include <stdio.h>

#include <stdlib.h>

struct ponto 
{
    float x;
    float y;
};



void ler_pontos(struct ponto P)
{
    printf("Digite os pontos x,y:\n");
    scanf("%f %f", &P.x, &P.y);    
}

float imprimir_pontos(struct ponto P)
{
    printf("\n(%f , %f)\n", P.x, P.y);    
}


int main()
{
    struct ponto pontos;

    ler_pontos(pontos);
    imprimir_pontos(pontos);

    system("PAUSE");
    return 0;
}

o codigo ae ta exibindo

(0.000 , 0.000)

ele não ta lendo, qual meu erro ae pessoal?

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

O seu erro é nas funções. Você está passando a struct como valor, então na função uma nova cópia da struct está sendo gerada, e você está escrevendo nesta cópia. Quando ela volta para o main, a struct que você tem (pontos), não tem nenhum valor lido.

Você deve fazer igual ao scanf, passar seu endereço. ler_pontos(&pontos). Obviamente, também deve arrumar a função correspondente para arrumar isso. Quando for ponteiro, troque de &P.x para &(P->x).

Abraços.

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,1k
    • Posts
      651,9k
×
×
  • Criar Novo...