Pues eso, estos días he decidido comenzar a aprender C, un poco por mi cuenta, todo un reto.
Después de leer algunos artículos, hice el típico "Hello world", un programa para sumar, multiplicar etc etc, un comparador de números, y demás chorradas.
Intentando ir un poco por mi cuenta, me dio por hacer un pequeño programilla que resuelva ecuaciones de 2º grado, pero el fallo es que los valores que devuelve están redondeados a enteros, este es mi código:
#include <stdio.h>
#include <conio.h>
#include <math.h>
int main(void)
{
/*Definir variables*/
int a;
int b;
int c;
int value1;
int value2;
/*Introducir coeficientes*/
printf("Introduce el coeficiente del la x^2:");
scanf("%d", &a);
printf("Introduce el coeficiente del la x:");
scanf("%d", &b);
printf("Introduce el termino independiente:");
scanf("%d", &c);
/*Para raíces positivas*/
if((b*b-4*a*c) > 0){
value1 = ((-b)+sqrt(b*b-4*a*c))/(2*a);
value2 = ((-b)-sqrt(b*b-4*a*c))/(2*a);
printf("La x vale: %d y %d", value1, value2);
}
/*Para raíces 0 o negativas*/
if((b*b-4*a*c) <= 0){
printf("No existe solucion");
}
getch();
}
Creo que el fallo es algún %d, pero no estoy seguro, también creo que debería meter algun float por ahí, pero tras intentarlo no me ha salido gran cosa.
Me encomiendo a vosotros, gracias de antemano.