eu fiz esse arquivo em c com várias funções. para receber dois pontos e calcular a distância.
agora preciso criar um arquivo.h
dúvida:
Eu tenho que colocar cada função dentro de um arquivo.c?
e a estrutura global no começo? eu crio um arquivo para ela também?
/* Captura e imprime as coordenadas x,y e z de um ponto qualquer */ #include <stdio.h> #include <stdlib.h> #include <math.h> struct ponto { float x; float y; float z; }; struct pontoum { float xum; float yum; float zum; }; void imprime (struct ponto *pp) { printf("O ponto fornecido foi: (%.2f,%.2f,%.2f)\n", pp->x, pp->y,pp->z); } void imprimeum (struct pontoum *ppum) { printf("O ponto fornecido foi: (%.2f,%.2f,%.2f)\n", ppum->xum, ppum->yum,ppum->zum); } void capturaum (struct pontoum *ppum) { printf("Digite a coordenada x do ponto 1:\n "); scanf("%f", &ppum->xum); printf("Digite a coordenada y do ponto 1:\n "); scanf("%f", &ppum->yum); printf("Digite a coordenada z do ponto 1:\n "); scanf("%f", &ppum->zum); } void captura (struct ponto *pp) { printf("Digite a coordenada x do ponto 2:\n "); scanf("%f", &pp->x); printf("Digite a coordenada y do ponto 2:\n "); scanf("%f", &pp->y); printf("Digite a coordenada z do ponto 2:\n "); scanf("%f", &pp->z); } void calcula (struct pontoum *ppum,struct ponto *pp) { float dx = pp->x - ppum->xum; float dy = pp->y - ppum->yum; float dz = pp->z - ppum->zum; float dist = sqrt((dx*dx)+ (dy*dy)+(dz*dz)); printf("(%.2f, %.2f, %.2f) \n ",dx, dy, dz); printf("A distancia entre os pontos fornecidos e: %.2f \n ",dist); } int main() { struct pontoum pum; struct ponto p; capturaum(&pum); imprimeum(&pum); captura(&p); imprime(&p); calcula(&pum,&p); return 0; }
Pergunta
elimadasilva
Boa noite,
eu fiz esse arquivo em c com várias funções. para receber dois pontos e calcular a distância.
agora preciso criar um arquivo.h
dúvida:
Eu tenho que colocar cada função dentro de um arquivo.c?
e a estrutura global no começo? eu crio um arquivo para ela também?
/* Captura e imprime as coordenadas x,y e z de um ponto qualquer */
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
struct ponto {
float x;
float y;
float z;
};
struct pontoum {
float xum;
float yum;
float zum;
};
void imprime (struct ponto *pp)
{
printf("O ponto fornecido foi: (%.2f,%.2f,%.2f)\n", pp->x, pp->y,pp->z);
}
void imprimeum (struct pontoum *ppum)
{
printf("O ponto fornecido foi: (%.2f,%.2f,%.2f)\n", ppum->xum, ppum->yum,ppum->zum);
}
void capturaum (struct pontoum *ppum)
{
printf("Digite a coordenada x do ponto 1:\n ");
scanf("%f", &ppum->xum);
printf("Digite a coordenada y do ponto 1:\n ");
scanf("%f", &ppum->yum);
printf("Digite a coordenada z do ponto 1:\n ");
scanf("%f", &ppum->zum);
}
void captura (struct ponto *pp)
{
printf("Digite a coordenada x do ponto 2:\n ");
scanf("%f", &pp->x);
printf("Digite a coordenada y do ponto 2:\n ");
scanf("%f", &pp->y);
printf("Digite a coordenada z do ponto 2:\n ");
scanf("%f", &pp->z);
}
void calcula (struct pontoum *ppum,struct ponto *pp)
{
float dx = pp->x - ppum->xum;
float dy = pp->y - ppum->yum;
float dz = pp->z - ppum->zum;
float dist = sqrt((dx*dx)+ (dy*dy)+(dz*dz));
printf("(%.2f, %.2f, %.2f) \n ",dx, dy, dz);
printf("A distancia entre os pontos fornecidos e: %.2f \n ",dist);
}
int main()
{
struct pontoum pum;
struct ponto p;
capturaum(&pum);
imprimeum(&pum);
captura(&p);
imprime(&p);
calcula(&pum,&p);
return 0;
}
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
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.