01/10/2018, 10:12
Giúp đỡ sửa code giải phương trình bậc 2
MÌnh mới học C/C+.
Đây là đề bài của mình: Viết chương trình dạng hàm, thực hiện các yêu cầu:
Viết hàm giải phương trình bậc hai ax2+bx+c=0.
Hàm main(): Nhập vào 3 số nguyên dương a, b, c bất kỳ, gọi thực hiện hàm trên.
Mọi người xem giúp mình sai ở đâu với ạ.
#include <iostream> #include <math.h> using namespace std; void PT1(int ,int ); void PT2(int , int ,int );
void PT1(int a,int b) { float x; if (a == 0){ if (b ==0) cout << endl << "PT vo so nghiem."; else cout << endl << "PT vo nghiem."; else cout << endl << " PT co nghiem duy nhat la: x = " << -b / a; } void PT2(int a,int b,int c) { if (a == 0) PTb1(b, c); { int delta; delta = b*b - 4*a*c; if (delta > 0) { cout << endl << "PT co 2 nghiem phan biet: "; cout << endl << " x1 = " << - b - delta / 2*a << "x2 = " << -b + delta / 2*a; else { if (delta == 0) { cout << endl << "PT co nghiem kep: "; cout << endl << " x = - b / 2 * a "; else if (delta < 0) cout << endl << "PT vo nghiem"; } } } } } int main () { int a, b, c; cout << endl << " nhap a, b, c "; cin >> a >> b >> c; PT2(a, b, c); return 0; }
Bài liên quan
Bạn xem lại cách đặt cặp dấu {} nha, sai lỗi cú pháp quá trời.
Chưa thấy ai căn dòng lung tung như bạn cả. Thụt ra thụt vào vô tội vạ.
Tại căn dòng lung tung nên khó nhìn lỗi. Với lại kết quả sai cũng do a, b, c bạn để nguyên (hãy để chúng là số thực)
E cảm ơn mn . trong lúc gõ sai nhiều quá thành ra xóa nhầm mất mấy cái {}. mới cả đề bài yêu cầu nhập a,b,c là số nguyên dương nên e mới để kiểu int.
Vậy thì nhân 1.0 trong biểu thức để sử dụng phép chia thực, có vậy mới ra đúng. Mà biểu thức nghiệm sai.