コード例 #1
0
        public void HienThiCPUSDMin(DanhSachThietBi a, DanhSachLinhKien b)
        {
            float min = DemSuDungCPUMin(a, b);

            foreach (var item in b.ds)
            {
                float dem = 0;
                foreach (var i in a.ds)
                {
                    if (item is CPU)
                    {
                        CPU c = (CPU)item;
                        if (c.Ten.CompareTo(i.TenCPU) == 0)
                        {
                            dem++;
                        }
                    }
                }
                if (item is CPU)
                {
                    CPU c = (CPU)item;
                    if (dem == min)
                    {
                        Console.WriteLine("TIM THAY CPU {0} duoc it thiet bi su dung nhat voi so lan su dung la {1}", c.Ten, dem);
                    }
                }
            }
        }
コード例 #2
0
        public void HienThiRAMSDMin(DanhSachThietBi a, DanhSachLinhKien b)
        {
            float min = DemSoLuongRAMMin(a, b);

            foreach (var item in b.ds)
            {
                float dem = 0;
                foreach (var i in a.ds)
                {
                    if (item is RAM)
                    {
                        RAM r = (RAM)item;
                        if (r.Ten.CompareTo(i.TenRAM) == 0)
                        {
                            dem++;
                        }
                    }
                }
                if (item is RAM)
                {
                    RAM r = (RAM)item;
                    if (dem == min)
                    {
                        Console.WriteLine("Tim thay RAM {0} khong co thiet bi nao su dung!", r.Ten);
                    }
                }
            }
        }
コード例 #3
0
        private float DemSoLuongRAMMin(DanhSachThietBi a, DanhSachLinhKien b)
        {
            float min = float.MaxValue;

            foreach (var item in b.ds)
            {
                float dem = 0;
                foreach (var i in a.ds)
                {
                    if (item is RAM)
                    {
                        RAM r = (RAM)item;
                        if (r.Ten.CompareTo(i.TenRAM) == 0)
                        {
                            dem++;
                        }
                    }
                    if (dem < min)
                    {
                        min = dem;
                    }
                }
            }
            return(min);
        }
コード例 #4
0
        private float DemSuDungCPUMin(DanhSachThietBi a, DanhSachLinhKien b)
        {
            float min = float.MaxValue;

            foreach (var item in b.ds)
            {
                float dem = 0;
                foreach (var i in a.ds)
                {
                    if (item is CPU)
                    {
                        CPU c = (CPU)item;
                        if (c.Ten.CompareTo(i.TenCPU) == 0)
                        {
                            dem++;
                        }
                    }
                    if (dem < min)
                    {
                        min = dem;
                    }
                }
            }
            return(min);
        }
コード例 #5
0
        public DanhSachLinhKien Tim_LinhKien_SuDung_MucDo(DanhSachTanSuat a, int linhKien, int soLan)
        {
            DanhSachLinhKien kq = new DanhSachLinhKien();

            foreach (var item in a.listPair)
            {
                switch ((LinhKien)linhKien)
                {
                case LinhKien.TatCa:
                    if (item.SoLan == soLan)
                    {
                        kq.Them(item.linhKien);
                    }
                    break;

                case LinhKien.RAM:
                    if (item.linhKien is RAM && item.SoLan == soLan)
                    {
                        kq.Them(item.linhKien);
                    }
                    break;

                case LinhKien.CPU:
                    if (item.linhKien is CPU && item.SoLan == soLan)
                    {
                        kq.Them(item.linhKien);
                    }
                    break;

                default:
                    break;
                }
            }
            return(kq);
        }
コード例 #6
0
 public void KhoiTao(DanhSachLinhKien a)
 {
     foreach (var item in a.DS)
     {
         Them(new KeyValuePair(item));
     }
 }
コード例 #7
0
        public void HienThiLinhKienDSMax(DanhSachThietBi a, DanhSachLinhKien b)
        {
            float max = TimLinhKienSDMax(a, b);

            foreach (var item in b.ds)
            {
                float dem = 0;
                foreach (var i in a.ds)
                {
                    if ((item.Ten.CompareTo(i.TenRAM) == 0) || (item.Ten.CompareTo(i.TenCPU) == 0))
                    {
                        dem++;
                    }
                }
                if (dem == max)
                {
                    Console.WriteLine("Tim duoc linh kien {0} duoc su dung nhieu nhat, coi so lan su dung la {1}", item, dem);
                }
            }
        }
コード例 #8
0
        private float TimLinhKienSDMax(DanhSachThietBi a, DanhSachLinhKien b)
        {
            float max = float.MinValue;

            foreach (var item in b.ds)
            {
                float dem = 0;
                foreach (var i in a.ds)
                {
                    if ((item.Ten.CompareTo(i.TenRAM) == 0) || (item.Ten.CompareTo(i.TenCPU) == 0))
                    {
                        dem++;
                    }
                }
                if (dem > max)
                {
                    max = dem;
                }
            }
            return(max);
        }
コード例 #9
0
 public void HienThiRAMtheoRAM(DanhSachThietBi a, DanhSachLinhKien b)
 {
     foreach (var item in b.ds)
     {
         float dem = 0;
         foreach (var i in a.ds)
         {
             if (item is RAM)
             {
                 RAM r = (RAM)item;
                 if (r.Ten.CompareTo(i.TenRAM) == 0)
                 {
                     dem++;
                 }
             }
         }
         if (item is RAM)
         {
             RAM r = (RAM)item;
             Console.WriteLine("Tim thay RAM {0} co so thiet bi su dung la {1}", r.Ten, dem);
         }
     }
 }
コード例 #10
0
        static void Main(string[] args)
        {
            //Danh sách
            DanhSachThietBi  DS_TB = new DanhSachThietBi();
            DanhSachLinhKien DS_LK = new DanhSachLinhKien();
            DanhSachTanSuat  DS_TS = new DanhSachTanSuat();
            //Thực hiện chức năng
            QuanLyThietBi QL = new QuanLyThietBi();
            //Lưu kêt quả
            DanhSachThietBi DS = new DanhSachThietBi();
            float           gia;

            while (true)
            {
                Console.Clear();
                Console.WriteLine("".PadRight(20) + "HE THONG CHUC NANG");
                Console.WriteLine("0.Thoat khoi chuong trinh");
                Console.WriteLine("1.Nhap du lieu bang tay");
                Console.WriteLine("2.Nhap du lieu tu file");
                Console.WriteLine("3.Tim may tinh co gia re nhat, cao nhat.");
                Console.WriteLine("4.Tim may anh co gia cao nhat re nhat.");
                Console.WriteLine("5.Dem so luong may tinh, may anh co gia la x.");
                Console.WriteLine("6.Hien thi ca hai thiet bi theo chieu tang, giam cua gia");
                Console.WriteLine("7.Sap xep may tinh chieu tang, giam cua gia");
                Console.WriteLine("8.Tim thiet bi co gia CPU cao nhat, thap nhat");
                Console.WriteLine("9.Dem so luong CPU duoc nhieu thiet bi su dung nhat");
                Console.WriteLine("10.Dem so luong RAM khong duoc thiet bi nao su dung.");
                Console.WriteLine("11.Dem so luong RAM su dung theo tung loai RAM.");
                Console.WriteLine("12.Xoa mot loai RAM theo gia.");
                Console.WriteLine("13.Xoa tat ca cac thiet bi su dung RAM co gia la x.");
                Console.WriteLine("14.Tim linh kien duoc su dung nhieu nhat");
                Console.Write("\nNhap so thu tu chuc nang can thuc hien: ");
                Menu menu = (Menu)int.Parse(Console.ReadLine());
                Console.Clear();
                switch (menu)
                {
                case Menu.Thoat:
                    return;

                case Menu.Nhap_Tay:
                    Console.WriteLine("1.Nhap du lieu bang tay\n");
                    DS_TB.NhapBangTay();
                    DS_TB.Xuat();
                    break;

                case Menu.Nhap_File:
                    Console.WriteLine("2.Nhap du lieu tu file\n");
                    DS_TB.NhapTuFile();
                    DS_LK.NhapTuFile();
                    DS_TS.KhoiTao(DS_LK);
                    DS_TS.CapNhat_ToanBo(DS_TB);
                    DS_TB.Xuat();
                    break;

                case Menu.Tim_MT_Gia_MinMax:
                    Console.WriteLine("3.Tim may tinh co gia re nhat, cao nhat\n");
                    DS = QL.PhanLoai_ThietBi(DS_TB, (int)PhanLoai.MayTinh);
                    Console.WriteLine("May tinh co gia re nhat la:");
                    QL.Tim_ThietBi_TheoGia(DS, DS.Tim_Min((int)Gia.TongGia), (int)Gia.TongGia).Xuat();
                    Console.WriteLine("May tinh co gia cao nhat la:");
                    QL.Tim_ThietBi_TheoGia(DS, DS.Tim_Max((int)Gia.TongGia), (int)Gia.TongGia).Xuat(); break;

                case Menu.Tim_MA_Gia_MinMax:
                    Console.WriteLine("4.Tim may anh co gia cao nhat re nhat\n");
                    DS = QL.PhanLoai_ThietBi(DS_TB, (int)PhanLoai.MayAnh);
                    Console.WriteLine("May anh co gia re nhat la:");
                    QL.Tim_ThietBi_TheoGia(DS, DS.Tim_Min((int)Gia.TongGia), (int)Gia.TongGia).Xuat();
                    Console.WriteLine("May anh co gia cao nhat la:");
                    QL.Tim_ThietBi_TheoGia(DS, DS.Tim_Max((int)Gia.TongGia), (int)Gia.TongGia).Xuat();
                    break;

                case Menu.Dem_co_Gia_X:
                    Console.WriteLine("5.Dem so luong may tinh, may anh co gia la x\n");
                    Console.WriteLine("Danh sach thiet bi:");
                    DS_TB.Xuat();
                    Console.Write("Nhap gia: x = ");
                    gia = float.Parse(Console.ReadLine());
                    Console.WriteLine("\nDa tim thay co {0} thiet bi co gia la {1}", QL.Tim_ThietBi_TheoGia(DS_TB, gia, (int)Gia.TongGia).Dem(), gia);
                    break;

                case Menu.HienThi_TangGiam_Gia:
                    Console.WriteLine("6.Hien thi ca hai thiet bi theo chieu tang, giam cua gia\n");
                    Console.WriteLine("Danh sach ban dau:");
                    DS_TB.Xuat();
                    Console.Write("Nhan phim bat ky de tiep tuc...");
                    Console.ReadKey();
                    Console.WriteLine("Danh sach theo chieu tang cua gia:");
                    QL.SapXep(DS_TB, (int)ThuTu.Tang);
                    DS_TB.Xuat();
                    Console.Write("Nhan phim bat ky de tiep tuc...");
                    Console.ReadKey();
                    Console.WriteLine("Danh sach theo chieu giam cua gia:");
                    QL.SapXep(DS_TB, (int)ThuTu.Giam);
                    DS_TB.Xuat();
                    break;

                case Menu.SapXep:
                    Console.WriteLine("7.Sap xep may tinh chieu tang, giam cua gia\n");
                    Console.WriteLine("Danh sach may tinh ban dau:");
                    DS = QL.PhanLoai_ThietBi(DS_TB, (int)PhanLoai.MayTinh);
                    DS.Xuat();
                    Console.Write("Nhan phim bat ky de tiep tuc...");
                    Console.ReadKey();
                    Console.WriteLine("Danh sach may tinh theo chieu tang cua gia:");
                    QL.SapXep(DS, (int)ThuTu.Tang);
                    DS.Xuat();
                    Console.Write("Nhan phim bat ky de tiep tuc...");
                    Console.ReadKey();
                    Console.WriteLine("Danh sach may tinh theo chieu giam cua gia:");
                    QL.SapXep(DS, (int)ThuTu.Giam);
                    DS.Xuat();
                    break;

                case Menu.Tim_TB_CPU_MaxMin:
                    Console.WriteLine("8.Tim thiet bi co gia CPU cao nhat, thap nhat\n");
                    Console.WriteLine("Danh sach thiet bi:");
                    DS_TB.Xuat();
                    Console.WriteLine("Thiet bi co gia CPU cao nhat la: ");
                    QL.Tim_ThietBi_TheoGia(DS_TB, DS_TB.Tim_Max((int)Gia.GiaCPU), (int)Gia.GiaCPU).Xuat();
                    Console.WriteLine("Thiet bi co gia CPU thap nhat la: ");
                    QL.Tim_ThietBi_TheoGia(DS_TB, DS_TB.Tim_Min((int)Gia.GiaCPU), (int)Gia.GiaCPU).Xuat();
                    break;

                case Menu.Dem_CPU_SuDung_Nhieu:
                    Console.WriteLine("9.Dem so luong CPU duoc nhieu thiet bi su dung nhat\n");
                    DS_TB.Xuat();
                    Console.WriteLine("Co {0} CPU su dung nhieu nhat", QL.Tim_LinhKien_SuDung_MucDo(DS_TS, (int)LinhKien.CPU, DS_TS.Tim_Max_CPU()).Dem());
                    QL.Tim_LinhKien_SuDung_MucDo(DS_TS, (int)LinhKien.CPU, DS_TS.Tim_Max_CPU()).Xuat();
                    break;

                case Menu.Dem_RAM_Khong_SD:
                    Console.WriteLine("10.Dem so luong RAM khong duoc thiet bi nao su dung\n");
                    DS_TB.Xuat();
                    Console.WriteLine("Co {0} RAM khong duoc su dung", QL.Tim_LinhKien_SuDung_MucDo(DS_TS, (int)LinhKien.RAM, 0).Dem());
                    QL.Tim_LinhKien_SuDung_MucDo(DS_TS, (int)LinhKien.RAM, 0).Xuat();
                    break;

                case Menu.Dem_RAM_TheoLoai:
                    Console.WriteLine("11.Dem so luong RAM su dung theo tung loai RAM\n");
                    QL.HienThi_SL_SuDung_RAM(DS_TS);
                    break;

                case Menu.Xoa_1_Loai_RAM:
                    Console.WriteLine("12.Xoa mot loai RAM theo gia\n");
                    Console.WriteLine("Danh sach linh kien ban dau:");
                    DS_LK.Xuat();
                    Console.Write("Nhap gia RAM: x = ");
                    gia = float.Parse(Console.ReadLine());
                    Console.WriteLine("\nDanh sach linh kien moi:");
                    DS_LK.Xoa_RAM(gia);
                    DS_LK.Xuat();
                    break;

                case Menu.Xoa_TB_RAM_GiaX:
                    Console.WriteLine("13.Xoa tat ca cac thiet bi su dung RAM co gia la x\n");
                    Console.WriteLine("Danh sach thiet bi ban dau:");
                    DS_TB.Xuat();
                    Console.Write("Nhap gia RAM: x = ");
                    gia = float.Parse(Console.ReadLine());
                    Console.WriteLine("\nDanh sach thiet bi moi:");
                    DS_TB.Xoa_ThietBi_RAM_GiaX(gia);
                    DS_TB.Xuat();
                    break;

                case Menu.Tim_LK_SD_Max:
                    Console.WriteLine("14.Tim linh kien duoc su dung nhieu nhat\n");
                    Console.WriteLine("Linh kien duoc su dung nhieu nhat la:");
                    QL.Tim_LinhKien_SuDung_MucDo(DS_TS, (int)LinhKien.TatCa, DS_TS.listPair.Max(t => t.SoLan)).Xuat();
                    break;

                default:
                    break;
                }
                Console.ReadKey();
            }
        }
コード例 #11
0
ファイル: Program.cs プロジェクト: Dat0309/oop-ldt2
        static void Main(string[] args)
        {
            DanhSachThietBi  DSTB = new DanhSachThietBi();
            DanhSachLinhKien DSLK = new DanhSachLinhKien();
            QuanLyThietBi    QL   = new QuanLyThietBi();

            while (true)
            {
                Console.Clear();
                Console.WriteLine("Danh sach chuc nang:");
                Console.WriteLine("Nhap {0} de Thoat chuong trinh", (int)Menu.Thoat);
                Console.WriteLine("Nhap {0} de Nhap du lieu bang tay", (int)Menu.NhapBangTay);
                Console.WriteLine("Nhap {0} de Nhap du lieu tu file", (int)Menu.NhapTuFile);
                Console.WriteLine("Nhap {0} de xuat danh sach   ", (int)Menu.Xuat);
                Console.WriteLine("Nhap {0} de tim may tinh co gia cao nhat, thap nhat", (int)Menu.TimMayTinhCoGiaCaoThap);
                Console.WriteLine("Nhap {0} de tim may anh co gia cao nhat, thap nhat", (int)Menu.TimMayAnhCoGiaCaoThap);
                Console.WriteLine("Nhap {0} de dem so luong may anh, may tinh co gia la x", (int)Menu.DemSoLuongMayTinhMayAnhCoGia);
                Console.WriteLine("Nhap {0} de sap xep 2 thiet bi theo chieu tang, giam gia", (int)Menu.SapXepTangGiamGia);
                Console.WriteLine("Nhap {0} de sap xep may tinh tang, giam gia", (int)Menu.SapXepMayTinhTangGiamGia);
                Console.WriteLine("Nhap {0} de tim thiet bi co gia CPU cao, thap nhat", (int)Menu.TimThietBiCPUMaxMin);
                Console.WriteLine("Nhap {0} de dem so luong CPU duoc nhieu thiet bi su dung nhat", (int)Menu.DemSoLuongRamKhongDuocSD);
                Console.WriteLine("Nhap {0} de dem so luong RAM khong duoc su dung", (int)Menu.DemSoLuongCPUKhongDuocSD);
                Console.WriteLine("Nhap {0} de dem so luong RAM theo loai RAM", (int)Menu.DemSoLuongRAMTheoLoaiRAM);
                Console.WriteLine("Nhap {0} de xoa mot loai RAM theo gia", (int)Menu.XoaRAMTheoGia);
                Console.WriteLine("Nhap {0} de xoa tat ca cac thiet bi su dung RAM gia x", (int)Menu.XoaTatCaThietBiRAM);
                Console.WriteLine("Nhap {0} de tim linh kien duoc su dung nhieu nhat", (int)Menu.TimLKSDMax);


                Menu nhap = (Menu)int.Parse(Console.ReadLine());
                Console.Clear();
                switch (nhap)
                {
                case Menu.Thoat:
                    return;

                case Menu.NhapBangTay:
                {
                    Console.Clear();
                    DSTB.NhapBangTay();
                    DSTB.Xuat();
                }
                break;

                case Menu.NhapTuFile:
                {
                    Console.Clear();
                    DSTB.NhapTuFile();
                    DSLK.NhapTuFile();
                    Console.WriteLine("Da chuyen du lieu vao danh sach!!" + "\n");
                    //DSLK.Xuat();
                    DSTB.Xuat();
                }
                break;

                case Menu.Xuat:
                {
                    Console.Clear();
                    Console.WriteLine("============================================================================");
                    Console.WriteLine("Danh sach Thiet bi:" + "\n" + "============================================================================" + "\n");
                    DSTB.Xuat();
                    Console.WriteLine("============================================================================");
                    Console.WriteLine("Danh sach Linh kien:" + "\n" + "============================================================================" + "\n");
                    DSLK.Xuat();
                }
                break;

                case Menu.TimMayTinhCoGiaCaoThap:
                {
                    Console.Clear();
                    Console.WriteLine("May tinh co gia cao nhat la:" + "\n");
                    QL.TimMTGiaMax(DSTB).Xuat();
                    Console.WriteLine("May tinh co gia thap nhat la:" + "\n");
                    QL.TimMTGiaMin(DSTB).Xuat();
                } break;

                case Menu.TimMayAnhCoGiaCaoThap:
                {
                    Console.Clear();
                    Console.WriteLine("May anh co gia cao nhat la:" + "\n");
                    QL.TimMAGiaMax(DSTB).Xuat();
                    Console.WriteLine("May anh co gia thap nhat la:" + "\n");
                    QL.TimMAGiaMin(DSTB).Xuat();
                } break;

                case Menu.DemSoLuongMayTinhMayAnhCoGia:
                {
                    Console.Clear();
                    float gia;
                    Console.WriteLine("Xin moi nhap gia x:");
                    gia = float.Parse(Console.ReadLine());
                    Console.WriteLine("Tim thay {0} thiet bi co gia la {1}$!", QL.TimTheoGia(DSTB, gia).Dem(), gia);
                } break;

                case Menu.SapXepTangGiamGia:
                {
                    Console.Clear();
                    Console.WriteLine("Hien thi danh sch theo chieu tang: " + "\n");
                    QL.SapXepGiaTang(DSTB).Xuat();
                    Console.WriteLine("Hien thi danh sach theo chieu giam: " + "\n");
                    QL.SapXepGiaGiam(DSTB).Xuat();
                } break;

                case Menu.SapXepMayTinhTangGiamGia:
                {
                    Console.Clear();
                    Console.WriteLine("Hien thi danh sach may tinh theo chieu tang: " + "\n");
                    QL.SapXepMTTangGia(DSTB).Xuat();
                    Console.WriteLine("Hien thi danh sach may tinh theo chieu giam: " + "\n");
                    QL.SapXepMTGiamGia(DSTB).Xuat();
                } break;

                case Menu.TimThietBiCPUMaxMin:
                {
                    Console.Clear();
                    Console.WriteLine("Thiet bi co gia CPU cao nhat la: ");
                    QL.TimThietBiCPUMax(DSTB).Xuat();
                } break;

                case Menu.DemSoLuongRamKhongDuocSD:
                {
                    Console.Clear();
                    Console.WriteLine("============================================================================");
                    Console.WriteLine("Danh sach Thiet bi:" + "\n" + "============================================================================" + "\n");
                    DSTB.Xuat();
                    Console.WriteLine("============================================================================");
                    Console.WriteLine("Danh sach Linh kien:" + "\n" + "============================================================================" + "\n");
                    DSLK.Xuat();
                    Console.WriteLine("============================================================================");
                    QL.HienThiCPUSDMax(DSTB, DSLK);
                    Console.WriteLine("=====");
                    QL.HienThiCPUSDMin(DSTB, DSLK);
                } break;

                case Menu.DemSoLuongCPUKhongDuocSD:
                {
                    Console.Clear();
                    Console.WriteLine("============================================================================");
                    Console.WriteLine("Danh sach Thiet bi:" + "\n" + "============================================================================" + "\n");
                    DSTB.Xuat();
                    Console.WriteLine("============================================================================");
                    Console.WriteLine("Danh sach Linh kien:" + "\n" + "============================================================================" + "\n");
                    DSLK.Xuat();
                    Console.WriteLine("============================================================================");
                    QL.HienThiRAMSDMin(DSTB, DSLK);
                } break;

                case Menu.DemSoLuongRAMTheoLoaiRAM:
                {
                    Console.Clear();
                    QL.HienThiRAMtheoRAM(DSTB, DSLK);
                } break;

                case Menu.XoaRAMTheoGia:
                {
                    Console.Clear();
                    DSLK.Xuat();
                    float gia;
                    Console.WriteLine("Xin moi nhap gia :");
                    gia = float.Parse(Console.ReadLine());
                    DSLK.XoaRAM(gia);
                    DSLK.Xuat();
                } break;

                case Menu.XoaTatCaThietBiRAM:
                {
                    Console.Clear();
                    DSTB.Xuat();
                    float gia;
                    Console.WriteLine("Xin moi nhap gia :");
                    gia = float.Parse(Console.ReadLine());
                    DSTB.XoaThietBiRAMGiaX(gia);
                    DSTB.Xuat();
                } break;

                case Menu.TimLKSDMax:
                {
                    Console.Clear();
                    QL.HienThiLinhKienDSMax(DSTB, DSLK);
                } break;

                default:
                    break;
                }
                Console.ReadLine();
            }
        }