I'm having this code, it's like a calculator of some operators, but it only works until the conditional starts, anyone knows the mistake there? I know it is in spanish, so i'm trying to calculate the distance between two points, but my main question is what happens when i have a conditional if with more than a printf, it just doesn't work that way, can someone explain me? thanks a lot
#include <stdio.h>
#include <math.h>
int main()
{
float n, PO, x1, x2, y1, y2, i, POO;
printf("Esta es la calculadora de lugar geometrico, por favor ingresa una cordenada con un espacio entre x y y ");
scanf("%f %f", &x1, &y1);
printf("Ahora, presione 1 si el otro numero será una coordenada,2 si es un numero positivo y negativo, y 3 si hablamos de una recta ");
scanf("%f", n);
if (n == 1)
{
printf("Ingresa la coordenada de la misma forma que la anterior");
scanf("%f %f", &x2, &y2);
printf("Ahora vamos a calcular la distancia entre cada uno de los puntos, junto con un punto P(x,y)");
PO = sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1));
printf("La distancia entre los puntos indicados es %f", PO);
}
if (n == 2)
{
printf("Ingresa la coordenada de la misma forma que la anterior");
scanf("%f %f", &x2, &y2);
printf("Ahora ingresa el numero con su valor absoluto: ");
scanf("%f", i);
printf("Ahora vamos a calcular la distancia entre cada uno de los puntos, junto con un punto P(x,y)");
PO = sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1) - i);
printf("La distancia entre los puntos indicados (usando su valor positivo) es %f", PO);
POO = sqrt((x2 - x1) * (x2 - x1) + (y2 - y1) * (y2 - y1) - i);
printf("La distancia entre los puntos indicados (usando su valor negativo) es %f", POO);
}
if (n == 3)
{
printf("Ingresa la coordenada de la misma forma de la anterior");
scanf("%f", &x2, &y2);
printf("Ahora vamos a calcular la distancia entre cada uno de los puntos, junto con un punto P(x,y)");
PO = sqrt((x2 - x1) * (x2 - x1) - abs((y2 - y1) * (y2 - y1)));
printf("La distancia entre los puntos indicados es %f", PO);
}
}