#include <stdio.h>
#include <math.h>  // para sqrt()

int main() {
    float a, b, c;
    float delta, x1, x2;

    printf("=====================================\n");
    printf("   CALCULADORA DE EQUAÇÃO DO 2º GRAU \n");
    printf("        ax² + bx + c = 0\n");
    printf("=====================================\n\n");

    // Entrada dos coeficientes
    printf("Digite o valor de a: ");
    scanf("%f", &a);
    printf("Digite o valor de b: ");
    scanf("%f", &b);
    printf("Digite o valor de c: ");
    scanf("%f", &c);

    // Verifica se é uma equação do 2º grau
    if (a == 0) {
        printf("\n❌ Isso não é uma equação do 2º grau (a = 0).\n");
        return 1;
    }

    // Cálculo do delta
    delta = b*b - 4*a*c;

    printf("\n------------------------------\n");
    printf("Passo 1: Calcular o discriminante (delta)\n");
    printf("Delta = b² - 4ac = %.2f² - 4 * %.2f * %.2f\n", b, a, c);
    printf("Delta = %.2f\n", delta);

    // Análise do delta
    if (delta < 0) {
        printf("\n➡️ Como delta é negativo (%.2f), não existem raízes reais.\n", delta);
    } else if (delta == 0) {
        x1 = -b / (2 * a);
        printf("\n➡️ Como delta é zero, existe uma raiz real (raiz dupla).\n");
        printf("x = -b / (2a) = %.2f\n", x1);
    } else {
        x1 = (-b + sqrt(delta)) / (2 * a);
        x2 = (-b - sqrt(delta)) / (2 * a);
        printf("\n➡️ Como delta é positivo, existem duas raízes reais distintas:\n");
        printf("x1 = (-b + √delta) / 2a = %.2f\n", x1);
        printf("x2 = (-b - √delta) / 2a = %.2f\n", x2);
    }

    printf("\n✅ Fim do cálculo.\n");
    return 0;
}