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;
}
Nguyễn Trọng Phương viết 12:29 ngày 01/10/2018

Bạn xem lại cách đặt cặp dấu {} nha, sai lỗi cú pháp quá trời.

HK boy viết 12:23 ngày 01/10/2018

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)

Trần Namm viết 12:27 ngày 01/10/2018

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.

rogp10 viết 12:27 ngày 01/10/2018

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.

Bài liên quan
0