Faça um programa que permite ao usuário fornecer quatro números inteiros representando as coordenadas cartesianas (x,y) de dois pontos (A e B), ou seja, A = (x1, y1) e B = (x2, y2). O programa principal (main) também deverá permitir que o usuário escolha qual das seguintes funções será executada:
1) dados dois pontos, calcular e exibir a distância euclidiana entre eles, 2) dados dois pontos calcular e exibir o produto escalar entre eles (considere que as coordenadas do vetor A são (x1,y1) e do vetor B são (x2,y2)), 3) dados dois pontos calcular e exibir o vetor AB 4) dados dois pontos encontrar o coeficiente angular (m) da reta que passa por esses pontos.
Ou seja, se o usuário digitar "1", o programa irá calcular e exibir a distância euclidiana entre os pontos A e B. Portanto, ao todo, teremos cinco entradas.
IMPORTANTE 1: para cada um dos itens anteriores deverá ser construída uma função. IMPORTANTE 2: todas as suas funções devem estar dentro do arquivo main.c. IMPORTANTE 3: sempre use duas casas decimais nas aproximações.
OBS: NÃO CONSIGO ENCONTRAR O ERRO E NÃO SEI COMO FAÇO PARA CALCULAR A OPÇÃO 3 E A OPÇÃO 4, segue código feito até o momento
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
void menu (){
//printf("- Calcular e exibir a distancia euclidiana (1) \n");
//printf("- Calcular e exibir o produto escalar (2) \n");
//printf("- Calcular e exibir o vetor AB (3) \n");
//printf("-Calcular e exibir o coeficiente angular(4) \n");
//printf("- Sair (s) \n");
//printf("Escolha a opcao desejada \n");
}
float calculaDistancia(int x1, int y1, int x2, int y2){
return sqrt( pow(x2-x1,2)+ pow(y2-y1,2));
}
float calculaProdutoEs(int Vx1, int Vy1, int Vx2, int Vy2){
return (Vx1 * Vx2) + (Vy1 * Vy2);
}
float calculaCoeficienteAng(int Px1, int Py1, int Px2, int Py2){
return (Py2 - Py1) / (Px2 - Px1);
}
int main() {
char op;
menu ();
scanf("%c", &op);
switch(op) {
case'1':
//printf("Calcular distancia euclidiana \n");
scanf("%c", &op);
int x1, y1, x2, y2;
float distanciaEuclidiana;
//printf("Informe as coordenadas cartesianas X e Y para o primeiro ponto \n");
scanf("%d %d", &x1,&y1);
//printf("Informe as coordenadas cartesianas X e Y para o segundo ponto \n");
scanf("%d %d", &x2,&y2);
scanf("%c", &op);
//printf("Calcule a distancia entre os pontos \n");
distanciaEuclidiana = calculaDistancia(x1,y1,x2,y2);
printf("%f",distanciaEuclidiana);
break;
case'2':
//printf("Calcular produto escalar \n");
scanf("%c", &op);
int Vx1, Vy1, Vx2, Vy2;
float produtoescalar;
//printf("Informe as coordenadas cartesianas X e Y para o primeiro vetor \n");
scanf("%d %d", &Vx1,&Vy1);
//printf("Informe as coordenadas cartesianas X e Y para o segundo vetor \n");
scanf("%d %d", &Vx2,&Vy2);
//printf("Calcule o produto escalar \n");
produtoescalar = calculaProdutoEs(Vx1, Vy1, Vx2, Vy2);
printf("%2.f",produtoescalar);
break;
case '3':
printf("Calcular o vetor AB \n");
case'4':
printf("Calcular o coeficiente angular \n");
int Px1, Py1, Px2, Py2;
float coeficienteangular;
printf("Informe as coordenadas cartesianas X e Y para o primeiro vetor \n");
scanf("%d %d", &Px1,&Py1);
printf("Informe as coordenadas cartesianas X e Y para o segundo vetor \n");
scanf("%d %d", &Px2,&Py2);
printf("Calcule o coeficiente angular \n");
coeficienteangular = calculaCoeficienteAng(Px1, Py1, Px2, Py2);
printf("%2.f",coeficienteangular);
break;
case 's':
printf("Encerrar programa \n");
break;
}
return 0;
}