Thắc mắc bài tập c++: giải và biện luận phương trình bậc 2

Anh chị trong group có thể xem giúp e e sai chỗ nào không ạ. E cảm ơn !!
Phương trình: ax^2 + bx + c = 0

#include <iostream>
#include <math.h>

using namespace std;

extern int a, b, c, d;
extern float e, g, h;

int main() {
    int a, b, c, d;
    float e, h, g;

    cout << "ax^2 + bx + c = 0\n";

    cout << "Nhap so a: ";
    cin >> a;

    cout << "Nhap so b: ";
    cin >> b;

    cout << "Nhap so c: ";
    cin >> c;

    d = b*b - 4*a*c;
    e = (-b - sqrt(d)) / (2*a);
    h = (-b + sqrt(d)) / (2*a);
    g = -c/b;

    if (a == 0)
        cout << "gia tri x la: " << g << endl;
    else
        cout << "gia tri delta la: " << d << endl;

    if (d < 0)
        cout << "phuong trinh vo nghiem" << endl;

    if (d > 0)
        cout << "phuong trinh co nghiem x1: " << e;
    if (d > 0)
        cout << "\nphuong trinh co nghiem x2: " << h << endl;

    if (d == 0)
        cout << "\nphuong trinh co nghiem kep la: " << (-b/(2*a)) << endl;
}

Chưa biết d là âm hay dương mà đã rút căn => toạch 1.
Xét trường hợp không đúng là 2.

3 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?