B3
public class SinhVien
{
private string maSo;
public string MaSo
{
get { return maSo; }
set { maSo = value; }
}
private string hoTen;
public string HoTen
{
get { return hoTen; }
set { hoTen = value; }
}
private DateTime ngaySinh;
public DateTime NgaySinh
{
get { return ngaySinh; }
set { ngaySinh = value; }
}
private LopHoc lopHoc;
public LopHoc LopHoc
{
get { return lopHoc; }
set { lopHoc = value; }
}
public SinhVien(string maSo, string hoTen, int namSinh, int thangSinh, int ngaySinh)
{
this.maSo = maSo;
this.hoTen = hoTen;
this.ngaySinh = new DateTime(namSinh, thangSinh, ngaySinh); //chua validate
}
public void chuyenLop(LopHoc lopMoi)
{
//Xoa khoi lop cu
if(lopHoc != null) lopHoc.xoaSinhVien(this);
//Add vao lop moi
lopMoi.themSinhVien(this);
}
public int Tuoi()
{
return new DateTime((DateTime.Now - this.ngaySinh).Ticks).Year - 1;
}
public override string ToString()
{
return String.Format("{0,-5} {1,-24} {2,-12:dd/MM/yyyy} Tuoi: {3}", maSo, hoTen, ngaySinh, Tuoi()).ToString();
}
}
public class LopHoc
{
private string maLop;
public string MaLop
{
get { return maLop; }
set { maLop = value; }
}
private string tenKhoa;
public string TenKhoa
{
get { return tenKhoa; }
set { tenKhoa = value; }
}
private List<SinhVien> dsSinhVien;
public LopHoc(string maLop, string tenKhoa)
{
this.maLop = maLop;
this.tenKhoa = tenKhoa;
dsSinhVien = new List<SinhVien>();
}
public bool themSinhVien(SinhVien sv)
{
if (timSinhVien(sv.MaSo) == null)
{
dsSinhVien.Add(sv);
sv.LopHoc = this; // set lai lop hoc
return true;
}
return false;
}
public bool xoaSinhVien(SinhVien sv)
{
SinhVien s = timSinhVien(sv.MaSo);
if (s != null)
{
dsSinhVien.Remove(s);
s.LopHoc = null;
return true;
}
return false;
}
public SinhVien timSinhVien(string maSv)
{
foreach (SinhVien s in dsSinhVien)
{
if (s.MaSo == maSv) return s;
}
return null;
}
public override string ToString()
{
string thongTinLop = String.Format("Ma lop: {0, -5} Thuoc khoa: {1, -10} Co: {2} sinh vien", maLop, tenKhoa, dsSinhVien.Count);
for (int i = 0; i < dsSinhVien.Count; i++)
{
thongTinLop += String.Format("\r\n{0}. {1}", i, dsSinhVien[i]);
}
return thongTinLop;
}
}
class program
{
public static void Main(string[] args)
{
LopHoc lop1 = new LopHoc("TM0101","CNTT");
LopHoc lop2 = new LopHoc("MV0101","CNTT");
lop1.themSinhVien(new SinhVien("001","Nguyễn Văn A", 1989, 2, 18));
lop1.themSinhVien(new SinhVien("002","Trần Thị B", 1989, 5, 2));
//
SinhVien sv = lop1.timSinhVien("002");
if(sv!=null) sv.chuyenLop(lop2);
//
Console.WriteLine("Hiển thị thông tin lớp {0}:", lop1.MaLop);
Console.WriteLine("{0}", lop1);
Console.WriteLine("Hiển thị thông tin lớp {0}:", lop2.MaLop);
Console.WriteLine("{0}", lop2);
}
}
END. May cai kia fai tu lam thoi