Buscar

ATIVIDADE PRÁTICA

Faça um programa, em linguagem C, que:  

a) Crie uma struct chamada ponto2d que tenha como atributos os pontos x,y. 

b) Crie duas estruturas do tipo ponto2d chamadas ponto_inicial e ponto_final. 

c) Mostre um menu com as seguintes opções e implemente‐as:  

[1] ‐ Digitar os valores do primeiro ponto 

[2] - Digitar os valores do segundo ponto 

[3] ‐ Mostrar a distância entre os pontos 

[4] ‐ Sair  

Dica: Distância entre dois pontos (x1,y1)(x2,y2): d = raiz quadrada (x1 − x2)2 + (y1 − y2)2 

💡 1 Resposta

User badge image

Ivan Reis

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

int main() {

//2 passo crie as variáveis :

int opcao = 0;

float d_pontos = 0;

//3 passo crie as structs :

struct ponto2d

{

 float x = 0, y = 0;

};

struct ponto_inicial

{

}; struct ponto2d distancia_ini;

struct ponto_final

{

}; struct ponto2d distancia_fim;

//4 passo crie o menu preso no looping :

while (opcao > 0 || opcao < 5)

{

 printf_s("[1] - Digitar os valores do primeiro ponto.\n");

 printf_s("[2] - Digitar os valores do segundo ponto.\n");

 printf_s("[3] - Mostrar a distancia entre os dois pontos.\n");

 printf_s("[4] - Sair.\n");

 scanf_s("%i", &opcao);

 switch (opcao)

 {

 case 1:

 printf_s("\ninsira o primeiro numero do ponto 1:\n");

 scanf_s("%f", &distancia_ini.x);

 printf_s("\ninsira o segundo numero do ponto 1:\n");

 scanf_s("%f", &distancia_ini.y);

 break;

 case 2:

 printf_s("\ninsira o primeiro numero do ponto 2:\n");

 scanf_s("%f", &distancia_fim.x);

 printf_s("\ninsira o segundo numero do ponto 2:\n");

 scanf_s("%f", &distancia_fim.y);

 break;

 case 3:

 d_pontos = pow((distancia_ini.x - distancia_fim.x), 2) + pow((distancia_ini.y - distancia_fim.y), 2);

 d_pontos = sqrt(d_pontos);

 printf_s("\nA distancia eh: %f\n", d_pontos);

 system("pause");

 break;

 case 4:

 system("pause");

 return 0;

 break;

 default: printf_s("\nEntrada invalida!\n");

 system("pause");

 }

}

}

0
Dislike0

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta.

User badge image

Outros materiais