Chả hiểu sao ở hàm kiểm tra tam giác, trường hợp 2 điểm trùng nhau thì ok nhưng 3 điểm thẳng hàng nó lại k chạy
Mình debug thử thì nó cho qua luôn, k nhảy vào hàm dù đã nhập 3 iX bằng nhau, iY cũng vậy
Mấy bạn giúp mình tìm lỗi với, cảm ơn nhiều!
Mình debug thử thì nó cho qua luôn, k nhảy vào hàm dù đã nhập 3 iX bằng nhau, iY cũng vậy
Mấy bạn giúp mình tìm lỗi với, cảm ơn nhiều!
PHP Code:
struct Diem
{
int iX;
int iY;
};
class TamGiac
{
private:
Diem DiemA, DiemB, DiemC;
public:
TamGiac();
int KiemTra();
TamGiac TinhTien();
friend istream& operator>>(istream &is, TamGiac &a);
friend ostream& operator<<(ostream &os, TamGiac a);
};
TamGiac::TamGiac()
{
DiemA.iX = DiemA.iY = 0;
DiemB.iX = DiemB.iY = 0;
DiemC.iX = DiemC.iY = 0;
}
int TamGiac::KiemTra()
{
if((DiemA.iX == DiemB.iX && DiemA.iY == DiemB.iY) || (DiemA.iX == DiemC.iX && DiemA.iY == DiemC.iY) || (DiemC.iX == DiemB.iX && DiemC.iY == DiemB.iY))
return 0;
if(DiemA.iX == DiemB.iX == DiemC.iX)
return 0;
if(DiemA.iY == DiemB.iY == DiemC.iY)
return 0;
return 1;
}
istream& operator>>(istream &is, TamGiac &a)
{
cout << "\nNhap vao toa do diem A: ";
cin >> a.DiemA.iX >> a.DiemA.iY;
cout << "\nNhap vao toa do diem B: ";
cin >> a.DiemB.iX >> a.DiemB.iY;
cout << "\nNhap vao toa do diem C: ";
cin >> a.DiemC.iX >> a.DiemC.iY;
return is;
}
int main()
{
TamGiac tg;
int c;
do
{
cin >> tg;
c = tg.KiemTra();
if(c == 0) continue;
else break;
}while(1);
cout << tg;
tg.TinhTien();
cout << tg;
return 0;
}
Comment