Nhờ mọi người xem giúp dùm em tìm lỗi sai với ạ, em cảm ơn. BT: phương trình bậc 2
// phương trình bậc 2: ax2 + bx + c = 0
#include<iostream>
#include<cmath>
#include<cstdio>
using namespace std;
int main()
{
float a, b, c;
float x, x1, x2;
float delta;
cout << "Phuong trinh bac 2: ax2 + bx + c" << endl;
cout << "a: \t"; cin >> a;
cout << "b: \t"; cin >> b;
cout << "c: \t"; cin >> c;
if (a == 0) // doi voi phuong trinh bac 2 co a == 0 thi phuong trinh do se tro thanh phuong trinh bac 1
{
x = (-c/b);
cout << "gia tri x can tinh la:" << x << endl;
system("pause");
return x;
}
else if (a + b + c = 0)
{
x1 = 1;
x2 = c/a;
cout << "Phuong trinh co nghiem: \t" << "x1 = " << x1 << "\t" << "x2 = " << x2;
system("pause");
return 0;
}
else if (a - b + c = 0)
{
x1 = -1;
x2 = -c/a;
cout << "Phuong trinh co nghiem: \t" << "x1 = " << x1 << "\t" << "x2 = " << x2;
system("pause");
return 0;
}
else// trong truong hop a != 0 thi can phai tinh delta voi delta b2 - 4ac
{
delta = b * b - 4 * a * c;
if (delta < 0)
{
cout << "Phuong trinh co vo so nghiem";
system("pause");
return 0;
}
else if (delta == 0)
{
x = (-b) / (2 * a);
cout << "Phuong trinh co nghiem kep:" << x << endl;
system("pause");
return 0;
}
else (delta > 0)
{
x1 = (-b + sqrt(delta)) / (2 * a);
x2 = (-b - sqrt(delta)) / (2 * a);
cout << "Phuong trinh co nghiem kep" << endl;
cout << "X1= \t" << x1;
cout << "X2= \t" << x2;
system("pause");
return 0;
}
}
system("pause");
return 0;
}