Imprimir la solución o indicar que no hay solución
En este paso final, mejorarás el solucionador de ecuaciones lineales para manejar diferentes escenarios y proporcionar una salida clara de la solución.
Abre el archivo anterior y actualiza el código:
cd ~/project
nano linear_equation.c
Reemplaza el contenido con el siguiente código:
#include <stdio.h>
#include <math.h>
int main() {
double a, b, x;
// Solicitar al usuario que ingrese el coeficiente a
printf("Ingrese el coeficiente a: ");
scanf("%lf", &a);
// Solicitar al usuario que ingrese el coeficiente b
printf("Ingrese el coeficiente b: ");
scanf("%lf", &b);
// Comprobar diferentes escenarios
if (a == 0 && b == 0) {
printf("Soluciones infinitas: Cualquier número real es una solución.\n");
} else if (a == 0 && b != 0) {
printf("No hay solución: La ecuación no se puede resolver.\n");
} else {
// Calcular la solución x
x = -b / a;
// Imprimir la solución
printf("Ecuación: %.2fx + %.2f = 0\n", a, b);
printf("Solución: x = %.2f\n", x);
}
return 0;
}
Compila y ejecuta el programa:
gcc linear_equation.c -o linear_equation
./linear_equation
Ejemplos de salida:
Escenario 1 (Solución normal):
Ingrese el coeficiente a: 2
Ingrese el coeficiente b: 4
Ecuación: 2.00x + 4.00 = 0
Solución: x = -2.00
Escenario 2 (No hay solución):
Ingrese el coeficiente a: 0
Ingrese el coeficiente b: 5
No hay solución: La ecuación no se puede resolver.
Escenario 3 (Soluciones infinitas):
Ingrese el coeficiente a: 0
Ingrese el coeficiente b: 0
Soluciones infinitas: Cualquier número real es una solución.
Mejoras clave en esta versión:
- Maneja tres escenarios distintos para ecuaciones lineales.
- Proporciona mensajes claros e informativos para diferentes casos.
- Utiliza una lógica matemática precisa para determinar el tipo de solución.