Bài tập có hướng dẫn
Xây dựng lớp sau:
class TG {//Lớp tam giác private: float a, b, c; //Ba cạnh tam giác public: TG(float aa = 0, float bb = 0, float cc = 0); void Nhap(); //Nhập ba cạnh void Xuat(); //Xuất thông tin tam giác int HopLe(); //Kiểm tra ba cạnh tam giác hợp lệ không? void PhanLoai(); //Phân loại tam giác float ChuVi(); //Tính chu vi tam giác float DienTich(); //Tính diện tích tam giác };
Hướng dẫn:
void TG ::Nhap() { cout << "Nhap 3 canh tam giac:"; cin >> a >> b >> c; } void TG ::Xuat() { cout << "Chu vi: "<< ChuVi() << "\n"; cout << "Dien tich: "<< DienTich() << "\n"; Phanloai(); } int TG ::HopLe() { if(a+ b > c && b + c > a && c + a > b) return 1; else return 0; } void TG ::PhanLoai() { if(a == b || b == c || c == a) if(a == b && b == c) cout << "Day la tam giac deu\n"; else if(a * a == b * b + c * c || b * b == a * a + c * c || c * c == a * a + b* b) cout << "Day la tam giac vuong can\n"; else cout << "Day la tam giac can\n"; else if(a * a == b * b + c * c || b * b == a * a + c * c || c * cout << "Day la tam giac vuong\n"; else cout << "Day la tam giac thuong\n"; } float TG::ChuVi() { return a + b + c; } float TG::DienTich() { float p = (a + b + c)/2; return sqrt(p* (p – a) * (p – b) * (p – c)); }