By GokiSoft.com|
09:32 28/10/2021|
C Sharp
[Share Code] Chương trình quản lý Mèo C# (C Sharp) | Chương trình quản lý Cat C# (C Sharp) - C2009G
Bài tập - Chương trình quản lý Mèo C# (C Sharp) | Chương trình quản lý Cat C# (C Sharp)
ColorManager:
Red => 0
Blue => 1
White => 2
Yellow => 3
D/s
A1 -> Blue -> index: 1
A2 -> White -> index: 2
A3 -> Red -> index: 0
Sort theo mau:
A1
A3
A2
Sort theo index mau trong ColorManager
A3
A1
A2
Solution???
#Program.cs
using System;
using System.Collections.Generic;
namespace BT2483
{
delegate void SwitchOption();
class Program
{
static void Main(string[] args)
{
SwitchOption[] options = { InputColor, InputCat, DisplayCat,
SortCatByColor, SearchCatByLoai, SortCatByColorIndex, ExitProgram };
int choose;
do
{
ShowMenu();
choose = int.Parse(Console.ReadLine());
if(choose > 0 && choose <= options.Length)
{
options[choose - 1]();
} else
{
Console.WriteLine("Nhap sai!!!");
}
} while (choose != options.Length);
}
private static void InputColor()
{
ColorManager.GetInstance().Nhap();
}
private static void InputCat()
{
ManagerCat.GetInstance().Nhap();
}
private static void DisplayCat()
{
ManagerCat.GetInstance().HienThi();
}
private static void SortCatByColor()
{
ManagerCat.GetInstance().SortByColor();
ManagerCat.GetInstance().HienThi();
}
private static void SearchCatByLoai()
{
Console.WriteLine("Nhap loai can tim: ");
string loai = Console.ReadLine();
int count = 0;
List<CatDetail> CatList = ManagerCat.GetInstance().CatList;
foreach(CatDetail cat in CatList)
{
if(cat.Loai == loai)
{
cat.HienThi();
count++;
}
}
if(count > 0)
{
Console.WriteLine("So meo tim thay: {0}", count);
} else
{
Console.WriteLine("Khong tim thay meo nao thuoc loai: {0}", loai);
}
}
private static void SortCatByColorIndex()
{
ManagerCat.GetInstance().SortByColorIndex();
ManagerCat.GetInstance().HienThi();
}
private static void ExitProgram()
{
Console.WriteLine("Thoat chuong trinh!!!");
}
static void ShowMenu()
{
Console.WriteLine("1. Nhap d/s ma mau");
Console.WriteLine("2. Nhap d/s meo");
Console.WriteLine("3. Hien thi thong d/s meo");
Console.WriteLine("4. Sap xep d/s meo theo mau");
Console.WriteLine("5. Tim kiem meo theo loai");
Console.WriteLine("6. Dap xep d/s meo theo bang mau ColorManager");
Console.WriteLine("7. Thoat");
Console.WriteLine("Chon: ");
}
}
}
#ICat.cs
using System;
namespace BT2483
{
public interface ICat
{
void Nhap();
void HienThi();
}
}
#CatDetail.cs
using System;
namespace BT2483
{
public class CatDetail : ICat
{
public string Loai { get; set; }
public string Mau { get; set; }
public string NoiSong { get; set; }
public int ColorIndex { get; set; }
public CatDetail()
{
}
public void HienThi()
{
Console.WriteLine("Loai: {0}, mau: {1}, noi song: {2}", Loai, Mau, NoiSong);
}
public void Nhap()
{
Console.WriteLine("=============================");
Console.WriteLine("Nhap loai: ");
Loai = Console.ReadLine();
Mau = ColorManager.GetInstance().ReadColor();
ColorIndex = ColorManager.GetInstance().GetColorIndex(Mau);
Console.WriteLine("Nhap noi song: ");
NoiSong = Console.ReadLine();
}
}
}
#ColorManager.cs
using System;
using System.Collections.Generic;
namespace BT2483
{
public class ColorManager : ICat
{
public List<string> ColorList { get; set; }
private static ColorManager _instance = null;
private ColorManager()
{
ColorList = new List<string>();
}
public static ColorManager GetInstance()
{
if(_instance == null)
{
_instance = new ColorManager();
}
return _instance;
}
public void Nhap()
{
string choose;
do
{
Console.WriteLine("Nhap ma mau can them: ");
choose = Console.ReadLine();
if(!ColorList.Contains(choose))
{
ColorList.Add(choose);
}
Console.WriteLine("Ban co tiep tuc nua ko Y/n?");
choose = Console.ReadLine().ToUpper();
} while (choose != "N");
}
public int GetColorIndex(string mau)
{
for(int i=0;i<ColorList.Count;i++)
{
if(ColorList[i] == mau)
{
return i;
}
}
return -1;
}
public void HienThi()
{
Console.WriteLine("Danh sach ma mau: ");
for(int i=0;i<ColorList.Count;i++)
{
Console.WriteLine("{0}. {1}", i + 1, ColorList[i]);
}
}
public string ReadColor()
{
if(ColorList.Count == 0)
{
return "";
}
string color;
HienThi();
Console.WriteLine("Nhap ma mau: ");
while(true)
{
color = Console.ReadLine();
if(ColorList.Contains(color))
{
return color;
}
Console.WriteLine("Nhap lai!!!");
}
}
}
}
#ManagerCat.cs
using System;
using System.Collections.Generic;
namespace BT2483
{
public class ManagerCat : ICat
{
public List<CatDetail> CatList { get; set; }
private static ManagerCat _instance = null;
private ManagerCat()
{
CatList = new List<CatDetail>();
}
public static ManagerCat GetInstance()
{
if(_instance == null)
{
_instance = new ManagerCat();
}
return _instance;
}
public void Nhap()
{
Console.WriteLine("Nhap N con meo can them: ");
int n = int.Parse(Console.ReadLine());
for(int i=0;i<n;i++)
{
CatDetail cat = new CatDetail();
cat.Nhap();
CatList.Add(cat);
}
}
public void HienThi()
{
Console.WriteLine("D/s meo: ");
foreach(CatDetail cat in CatList)
{
cat.HienThi();
}
}
public void SortByColor()
{
CatList.Sort((c1, c2) => {
return c1.Mau.CompareTo(c2.Mau);
});
}
public void SortByColorIndex()
{
CatList.Sort((c1, c2) => {
if(c1.ColorIndex > c2.ColorIndex)
{
return 1;
}
return -1;
});
}
}
}
Tags:
Phản hồi từ học viên
5
(Dựa trên đánh giá ngày hôm nay)