Hola a todos...
Recien estoy empezand a usar visual c++ y tengo un problema con el siguiente programa para resolver ecuaciones de segundo grado, este es el codigo fuente:
// ecuaciones de 2do grado.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <Math.h>
#include <conio.h>
void main(void){
int A, B, C, X1, X2;
printf("ecuacion de 2do grado: A*X + B*(X^2) + C ");
printf("\n Ingrese valor de A: ");
scanf("%i", &A);
if (A==0){
printf("\n A no puede ser cero \n");
}
else{
printf("\n Ingrese valor de B: ");
scanf("%i", &C);
printf("\n Ingrese valor de C: ");
scanf("%i", &C);
}
X1 = ((-B) - sqrt(B^2 - 4*A*C))/2*A;
if ((B^2 - 4*A*C)<0){
printf("\n No es posible averiguar X1");
}
else{
printf("\n X1 = %i", X1);
}
X2 = ((-(
) + sqrt(B^2 - 4*A*C))/2*A;
if ((B^2 - 4*A*C)<0){
printf("\n No es posible averiguar X2");
}
else{
printf("\n X2 = %i", X2);
}
getch();
}
El problema que tengo es que cuando pido los valores de x1 y x2 me devuelve numeros irreales... o sea 8456321 o 4863245... nada que ver con los resultados reales... Creo que el problema esta en como estoy usando en int, pero la verdad no le encuentro la vuelta.
Muchas gracias por la respuesta.