ayuda con codigo c++

#1
hola, antes que nada un saludo... pongo este tema porque necesito ayuda con un programilla basico del c++ (bueno creo que es de los clasicos no?) ok el punto es que ya tengo este codigo:

#include<stdio.h>
#include<conio.h>
#include<math.h>
int main ()
{
int raiz, a, b, c;
float x1, x2;
printf("introduce el valore de a\n");
scanf("%d",&a);
printf("introduce el valore de b\n");
scanf("%d",&b);
printf("introduce el valore de c\n");
scanf("%d",&c);
raiz=(b*b)-(4*a*c);
printf("la raiz es:%d\n\n",raiz);
getch();

if (raiz<0)
{
printf("el programa no resuelve raices negativas");
getch();
}
else
{
x1=(-b + sqrt(raiz))/(2*a);
x2=(-b - sqrt(raiz))/(2*a);
printf("los resultados son\n");
printf("%f\n",x1);
printf("%f",x2);
getch();
}

}

corre bien y hasta el if lo hace todo bien, pero en el caso else ya no jala, am detecte algunos problemas jugando un poco con el codigo, uno es que la parte de "-b" me da un numero raro (lo cheque mandando a imprimir el -b me salia un numero raro claro no el que intuduje) logre solucionarlo declarando una variable que hiciera X=b*(-1) y si me dio bien, mi pregunta es si tengo que agregar otra libreria o algo asi...

se que es un programa sencillo y en el internet hay miles pero me interesa aprender porque no me da no solo ctrl+c, crtl+v :vientos: muchas gracias y ojala me puedan ayudargulp!
 
#2
tal vez te sirva, trata de multiplicar (-1*b), para que el valor q tome b, x default al multiplicarlo tome el valor deseado

espero te sriva
 

radiocaca

Bovino Milenario
#3
Cambia

x1=(-b + sqrt(raiz))/(2*a);
x2=(-b - sqrt(raiz))/(2*a);

por

x1=((-1)*b + sqrt(raiz))/(2*a);
x2=((-1)*b - sqrt(raiz))/(2*a);
 
Arriba