Liên Thông CNTT K4

Cộng Đồng Liên Thông Công Nghệ Thông Tin Bình Thuận

Trang ChínhTrang Chính  Latest imagesLatest images  Tìm kiếmTìm kiếm  Đăng kýĐăng ký  Đăng NhậpĐăng Nhập  

Share
 
 Giải BTVN - Bài tập 03
Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down 
Tác giảThông điệp
Exterminator


Exterminator
Giới tính : Nam
Posts Posts : 33
Thanked Thanked : 82
Giải BTVN - Bài tập 03  Empty

Code:
    public abstract class Hinh
    {
        protected int iSoDinh;
        public int SoDinh
        {
            get { return iSoDinh; }
            set
            {
                if (value >= 0)
                    iSoDinh = value;
                else iSoDinh = 0;
            }
        }
        public Hinh()
        {
            iSoDinh = 0;
        }
        public Hinh(int numSoDinh)
        {
            SoDinh = numSoDinh;
        }
        //Các phương thức trừu tượng
        public abstract double TinhChuVi();
        public abstract double TinhDienTich();
    }

    //Lớp hình tròn
    public class HinhTron : Hinh
    {
        protected double dBanKinh;   
        public double BanKinh
        {
            get { return dBanKinh; }
            set
            {
                if (value >= 0) dBanKinh = value;
                else dBanKinh = 0;
            }
        }
        public HinhTron()
        {
            dBanKinh = 0;
        }
        public HinhTron(double numBanKinh)
        {
            BanKinh = numBanKinh;
        }
        public override double TinhChuVi()
        {
            return 2 * dBanKinh * Math.PI;
        }
        public override double TinhDienTich()
        {
            return dBanKinh * dBanKinh * Math.PI;
        }
    }

    //Lớp hình chữ nhật
    public class HinhChuNhat : Hinh
    {
        protected double dDai, dRong;
        public double Dai
        {
            get { return dDai; }
            set
            {
                if (value >= 0) dDai = value;
                else dDai = 0;
            }
        }
        public double Rong
        {
            get { return dRong; }
            set
            {
                if (value >= 0) dRong = value;
                else dRong = 0;
            }
        }
        public HinhChuNhat() : base(4)
        {
            dDai = dRong = 0;
        }
        public HinhChuNhat(double numDai, double numRong)
            : base(4)
        {
            Dai = numDai;
            Rong = numRong;
        }
        public override double TinhChuVi()
        {
            return 2 * (dDai + dRong);
        }
        public override double TinhDienTich()
        {
            return dDai * dRong;
        }
    }

    //Lớp hình tam giác
    public class HinhTamGiac : Hinh
    {
        protected double dCanhA, dCanhB, dCanhC;
        public double CanhA
        {
            get { return dCanhA; }
            set
            {
                if (value >= 0)
                    dCanhA = value;
                else dCanhA = 0;
            }
        }
        public double CanhB
        {
            get { return dCanhB; }
            set
            {
                if (value >= 0)
                    dCanhB = value;
                else dCanhB = 0;
            }
        }
        public double CanhC
        {
            get { return dCanhC; }
            set
            {
                if (value >= 0)
                    dCanhC = value;
                else dCanhC = 0;
            }
        }
        public HinhTamGiac() : base(3)
        {
            dCanhA = dCanhB = dCanhC = 0;
        }
        public HinhTamGiac(double numCanhA, double numCanhB, double numCanhC) : base(3)
        {
            CanhA = numCanhA;
            CanhB = numCanhB;
            CanhC = numCanhC;
        }
        public override double TinhChuVi()
        {
            return dCanhA + dCanhB + dCanhC;
        }
        public override double TinhDienTich()
        {
            double p = TinhChuVi() / 2;
            return Math.Sqrt(p * (p - dCanhA) * (p - dCanhB) * (p - dCanhC));
        }
    }

    //Lớp hình vuông
    public class HinhVuong : HinhChuNhat
    {
        public HinhVuong() : base()
        {
        }
        public HinhVuong(double numCanh)
            : base(numCanh, numCanh)
        {
            //dDai = dRong = numCanh;
        }
       
        public override double TinhChuVi()
        {
            return 4 * dDai;
        }
        public override double TinhDienTich()
        {
            return dDai * dDai;
        }
    }

    //Lớp tam giác cân
    public class TamGiacCan : HinhTamGiac
    { 
        public TamGiacCan()
            : base()
        { }
        public TamGiacCan(double numCanhBen, double numCanhDay)
            : base(numCanhBen, numCanhBen, numCanhDay)
        {
            //CanhA = CanhB = numCanhBen;
            //CanhC = numCanhDay;
        }
        public override double TinhChuVi()
        {
            return base.TinhChuVi();
        }
        public override double TinhDienTich()
        {
            return base.TinhDienTich();
        }
    }

    //Lớp tam giác vuông
    public class TamGiacVuong : HinhTamGiac
    {
        public TamGiacVuong()
            : base()
        { }
        public TamGiacVuong(double numCanhVuong01, double numCanhVuong02)
            : base(numCanhVuong01, numCanhVuong02, Math.Sqrt(numCanhVuong01+numCanhVuong02))
        {
            //CanhA = numCanhVuong01;
            //CanhB = numCanhVuong02;
            //CanhC = Math.Sqrt(numCanhVuong01+numCanhVuong02);
        }
        public override double TinhChuVi()
        {
            return base.TinhChuVi();
        }
        public override double TinhDienTich()
        {
            return base.TinhDienTich();
        }
    }

    //Lớp tam giác đều
    public class TamGiacDeu : HinhTamGiac
    {
        public TamGiacDeu()
            : base()
        { }
        public TamGiacDeu(double numCanh)
            : base(numCanh, numCanh, numCanh)
        {
            //CanhA = numCanh;
            //CanhB = numCanh;
            //CanhC = numCanh;
        }
        public override double TinhChuVi()
        {
            return base.TinhChuVi();
        }
        public override double TinhDienTich()
        {
            return base.TinhDienTich();
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            HinhVuong hVuong = new HinhVuong(4);
            Console.WriteLine(hVuong.SoDinh);
            Console.WriteLine(hVuong.TinhChuVi());
            Console.WriteLine(hVuong.TinhDienTich());
            //Hinh[] h = new Hinh[10];   
            //h[0] = new HinhTron(4);
            //h[1] = new HinhChuNhat(7, 5);
            //h[2] = new HinhVuong(5);
            //h[3] = new HinhTamGiac(3, 4, 5);
            //h[4] = new TamGiacCan(3, 4);
            //h[5] = new TamGiacVuong(3, 4);
            //h[6] = new TamGiacDeu(3);
            //h[7] = new HinhTron(5);
            //h[8] = new HinhVuong(4);
            //h[9] = new TamGiacDeu(5);

            //Hinh HMin = h[0];
            //double Min = h[0].TinhDienTich();
            //foreach (Hinh i in h)
            //{
            //    if (Min > i.TinhDienTich())
            //    {
            //        Min = i.TinhDienTich();
            //        HMin = i;
            //    }
            //}
            http://Console.WriteLine("================================");
            http://Console.WriteLine("Thong tin cua hinh co dien tich nho nhat:");
            http://Console.WriteLine("So dinh  : " + HMin.SoDinh);
            http://Console.WriteLine("Chu vi  : " + HMin.TinhChuVi());
            http://Console.WriteLine("Dien tích: " + HMin.TinhDienTich());
            http://Console.ReadLine();
        }
    }

Mọi người copy nhớ chỉnh sửa nha, qua 2 bài 1 và bài 2 thì mình thấy hầu như ko ai sửa. Nếu như thế này mình ko post bài tập của mình nữa đâu nhé

※ Bài viết cùng chuyên mục


 
Giải BTVN - Bài tập 03
Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang 
Trang 1 trong tổng số 1 trang

Permissions in this forum:Bạn không có quyền trả lời bài viết
Diễn đàn Liên thông CNTT Bình Thuận :: Góc Học Tập :: Các môn học liên thông :: Lập trình Hướng đối tượng-
[Liên thông CNTT K4] Deverloped by Phạm Anh Dân - Rip by Nguyễn Gia Phú
Powered by © Forumotion.com - phpBB™ version ©phpBB2
Go to top Go to bottom