By GokiSoft.com| 09:26 30/10/2021|
C Sharp

Bài Tập - Quản lý nhà - Lập trình C# | C Sharp

* Xây dựng một giao diện (interface) IHouse nằm trong namespace house.cm gồm có 2 phương thức:

            - public void input();

            - public void display();

 

* Xây dựng lớp House thực thi  giao diện IHouse và cũng nằm trong namespace house.cm, bổ sung thêm các thuộc tính sau:

private String soNha;

private String diaChi;

private String loaiNha;

Cài đặt các Constructor có tham số và không có tham số.

Cài đặt các phương thức set/get cho các thuộc tính trong lớp.

Cài đè (override) các phương thức nhập và hiển thị trong giao diện IHouse.

 

* Cài đặt lớp HaNoiHouse nằm trong namespace house.hanoi kế thừa lớp House ở trên vào bổ sung thêm các thuộc tính:

- private String tenQuan;

Cài đặt 2 constructor, trong đó constructor có tham số phải sử dụng từ khóa super để gọi constructor của lớp House.

Cài đặt các phương thức get/set cho thuộc tính bổ sung.

Override các phương thức input(), display() trong lớp House.

 

* Xây dựng lớp ManagerHouse nằm trong namespace house.hanoi

Tạo menu như sau và cài đặt để thực thi các công việc theo từng menu đó:

            1. Nhập thông tin n ngôi nhà ở Hà Nội

            2. Hiển thị thông tin của n ngôi nhà đó.

            3. Sắp xếp theo trường địa chỉ và hiển thị thông tin sau khi sắp xếp.

            4. Tìm kiếm nhà theo địa chỉ nhập vào.

            5. Thoát.

Phản hồi từ học viên

5

(Dựa trên đánh giá ngày hôm nay)

Nguyễn Hùng Anh [community,C2009G]
Nguyễn Hùng Anh

2021-10-30 04:11:31


#HaNoiHouse.cs


using System;
using System.Collections.Generic;
using System.Text;
using house.cm;

namespace house.hanoi
{
    class HaNoiHouse : House
    {
        public string TenQuan { get; set; }

        public HaNoiHouse()
        {
        }

        public HaNoiHouse(string soNha, string diaChi, string loaiNha, string tenQuan)
            : base(soNha, diaChi, loaiNha)
        {
            TenQuan = tenQuan;
        }
        public override void Input()
        {
            base.Input();
            Console.WriteLine("Nhap ten quan:");
            TenQuan = Console.ReadLine();
        }
        public override void Display()
        {
            base.Display();
            Console.WriteLine("Ten Quan: " + TenQuan);
        }
    }
}


#House.cs


using System;
using System.Collections.Generic;
using System.Text;

namespace house.cm
{
    class House : IHouse
    {
        public string SoNha { get; set; }
        public string DiaChi { get; set; }
        public string LoaiNha { get; set; }

        public House()
        {
        }

        public House(string soNha, string diaChi, string loaiNha)
        {
            SoNha = soNha;
            DiaChi = diaChi;
            LoaiNha = loaiNha;
        }

        public virtual void Display()
        {
            Console.WriteLine("So nha: {0}, dia chi: {1}, loai nha: {2}", SoNha, DiaChi, LoaiNha);
        }

        public virtual void Input()
        {
            Console.WriteLine("Nhap so nha:");
            SoNha = Console.ReadLine();

            Console.WriteLine("Nhap dia chi:");
            DiaChi = Console.ReadLine();

            Console.WriteLine("Nhap loai nha:");
            LoaiNha = Console.ReadLine();
        }
    }
}


#IHouse.cs


using System;
using System.Collections.Generic;
using System.Text;

namespace house.cm
{
    interface IHouse
    {
        public void Input();
        public void Display();
    }
}


#ManagerHouse.cs


using System;
using System.Collections.Generic;

namespace house.hanoi
{
    delegate void SwitchCase();
    class ManagerHouse
    {
        static List<HaNoiHouse> houseList;
        static void Main(string[] args)
        {
            houseList = new List<HaNoiHouse>();
            SwitchCase[] options = { Input, Display, SortByAddress, FindByAddress, ExitProgram };
            int c;

            do
            {
                ShowMenu();
                c = int.Parse(Console.ReadLine());

                if (c > 0 && c <= options.Length)
                {
                    options[c - 1]();
                } else
                {
                    Console.WriteLine("Nhap lai!!!");
                }
            } while (c != 5);
        }

        private static void Input()
        {
            Console.WriteLine("Nhap n ngoi nha:");
            int n = int.Parse(Console.ReadLine());

            for(int i = 0; i < n; i++)
            {
                HaNoiHouse house = new HaNoiHouse();
                house.Input();

                houseList.Add(house);
            }
        }

        private static void Display()
        {
            foreach(HaNoiHouse house in houseList)
            {
                house.Display();
            }
        }

        private static void SortByAddress()
        {
            houseList.Sort((h1, h2) =>
            {
                return h1.DiaChi.CompareTo(h2.DiaChi);
            });
            Display();
        }

        private static void FindByAddress()
        {
            Console.WriteLine("Nhap dia chi can tim:");
            string FindAddress = Console.ReadLine();
            int count = 0;

            foreach(HaNoiHouse house in houseList)
            {
                if(house.DiaChi == FindAddress)
                {
                    house.Display();
                    count++;
                }
            }
            if(count == 0)
            {
                Console.WriteLine("Khong tim thay dia chi nay!!!");
            }
            
        }

        private static void ExitProgram()
        {
            Console.WriteLine("Thoat chuong trinh!!!");
        }

        static void ShowMenu()
        {
            Console.WriteLine("1. Nhap thong tin n ngoi nha o HN");
            Console.WriteLine("2. Hien thie toan bo thong tin");
            Console.WriteLine("3. Sap xep theo dia chi");
            Console.WriteLine("4. Tim kiem theo dia chi");
            Console.WriteLine("5. Thoat");
            Console.WriteLine("Chon: ");
        }
    }
}



Hieu Ngo [community,C2009G]
Hieu Ngo

2021-10-30 03:40:54


#HaNoiHouse.cs


using System;
using System.Collections.Generic;
using System.Text;

namespace House
{
    class HaNoiHouse : House
    {
        public string tenQuan { get; set; }

        public HaNoiHouse()
        {

        }

        public HaNoiHouse(string tenQuan,string soNha, string diaChi, string loaiNha) : base(soNha, diaChi, loaiNha)
        {
            this.tenQuan = tenQuan;
        }

        public override void Display()
        {
            base.Display();
            Console.WriteLine("Ten quan: {0}", tenQuan);
        }

        public override void Input()
        {
            base.Input();
            Console.WriteLine("Ten quan:");
            tenQuan = Console.ReadLine();
        }
    }
}


#House.cs


using System;
using System.Collections.Generic;
using System.Text;

namespace House
{
    class House : IHouse
    {
        public string soNha { get; set; }
        public string diaChi { get; set; }
        public string loaiNha { get; set; }

        public House() { }
        public House(string soNha, string diaChi, string loaiNha)
        {
            this.soNha = soNha;
            this.diaChi = diaChi;
            this.loaiNha = loaiNha;
        }

        public virtual void Display()
        {
            Console.WriteLine("So Nha: {0}, Dia chi: {1}, Loai Nha: {2}", soNha, diaChi, loaiNha);
        }

        public virtual void Input()
        {
            Console.WriteLine("Nhap so nha:");
            soNha = Console.ReadLine();
            Console.WriteLine("Nhap dia chi:");
            diaChi = Console.ReadLine();
            Console.WriteLine("Nhap loai nha:");
            loaiNha = Console.ReadLine();

        }
    }
}


#IHouse.cs


using System;
using System.Collections.Generic;
using System.Text;

namespace House
{
    interface IHouse
    {
        public void Input();
        public void Display();
    }
}


#Program.cs


using System;
using System.Collections.Generic;

namespace House
{
    class Program
    {
        static List<HaNoiHouse> list = new List<HaNoiHouse>();
        delegate void SwitchCase();
        static void Main(string[] args)
        {
            int choose;
            SwitchCase[] options = { AddNew, Display, Sort, Find, Exit };
            do
            {
                ShowMenu();
                choose = int.Parse(Console.ReadLine());
                if(choose >0 && choose <= options.Length)
                {
                    options[choose - 1]();
                }
            } while (choose != options.Length);
        }

        private static void Exit()
        {
            Console.WriteLine("Thoat chuong trinh");
        }

        private static void Find()
        {
            Console.WriteLine("Nhap dia chi muon tim kiem");
            string diaChi = Console.ReadLine();
            int count = 0;
            foreach(HaNoiHouse house in list)
            {
                if(house.diaChi == diaChi)
                {
                    house.Display();
                    count++;
                }
            }
            if(count==0)
            {
                Console.WriteLine("KHong co nha nao o {0}", diaChi);
            }
        }

        private static void Sort()
        {
            list.Sort((h1, h2) =>
            {
                return h1.diaChi.CompareTo(h2.diaChi);
            });
        }

        private static void Display()
        {
            foreach(HaNoiHouse house in list)
            {
                house.Display();
            }
        }

        private static void AddNew()
        {
            Console.WriteLine("Nhap n ngoi nha:");
            int n = int.Parse(Console.ReadLine());
            for(int i = 0; i<n; i++)
            {
                HaNoiHouse haNoiHouse = new HaNoiHouse();
                haNoiHouse.Input();
                list.Add(haNoiHouse);
            }
        }

        static void ShowMenu() {
            Console.WriteLine("1. Nhap n ngoi nha o Ha Noi");
            Console.WriteLine("2. Hien thi n ngoi nha vua nhap");
            Console.WriteLine("3. Sap xep va hien thi theo dia chi");
            Console.WriteLine("4. Tim kiem nha theo dia chi");
            Console.WriteLine("5.Exit");
            Console.WriteLine("Chon:");
        }
    }
}