You are on page 1of 6

Bi Hng c _ Danh b in thoi _ 2 lp : khch hng v Danh b in Thoi

using System; using System.Collections.Generic; using System.Text; namespace MyDanhBaNameSpace { class KhachHang { string tenKH; string soCMND; string diachi; string soDThoai; //refactor b ch mc public string TenKH { get { return tenKH.Trim(); } set { tenKH = value.Trim(); } } public string SoCMND { get { return soCMND.Trim(); } set { soCMND = value.Trim(); } } public string Diachi { get { return diachi.Trim(); } set { diachi = value.Trim(); } } public string SoDThoai { get { return soDThoai.Trim(); } set { soDThoai = value.Trim(); } // ht phn refactor } // constructor b khi dng public KhachHang(){} //default Constructor public KhachHang(KhachHang a) { this.TenKH = a.TenKH; this.SoCMND = a.SoCMND; this.Diachi = a.Diachi; this.SoDThoai = a.SoDThoai; } // Constructor

public KhachHang(string ten, string soCM, string dc, string sodt) { TenKH = ten; SoCMND = soCM; Diachi = dc; SoDThoai = sodt; } // ht phn b khi dng

public void Input() { string s; for (; ; ) { Console.Write("Nhap Ten Khach Hang : "); s = Console.ReadLine(); if (s == null || s.Length == 0) Console.WriteLine("Ten Khach hang khong duoc de trong "); else{ TenKH = s; break } } for (; ; ) { Console.Write("Nhap So CMND : "); s = Console.ReadLine(); if (s == null || s.Trim().Length<9 || s.Trim().Length > 13) Console.WriteLine("Nhap lai, so CMND phai co tu 9 den 13 chu so."); else { SoCMND = s; break; } } for (; ; ) { Console.Write("Nhap dia chi (co the bo trong): "); s = Console.ReadLine(); if (s == null ) Console.WriteLine("Khong hop le, nhap lai"); else { Diachi = s; break; } } for (; ; ) { Console.Write("Nhap So dien thoai : "); s = Console.ReadLine(); if (s == null || s.Trim().Length < 10 || s.Length > 15) Console.WriteLine("Nhap lai, so dien thoai phai co tren 9 va it hon 16 chu so"); else { SoDThoai = s; break; } } } public override string ToString() { return string.Format(TenKH.PadRight(30) + SoCMND.PadRight(20) + SoDThoai.PadRight(20) + Diachi); } public static void Swap(ref KhachHang a, ref KhachHang b) // hon v 2 khch hng { KhachHang tam = new KhachHang(a); a = b; b = tam; }

public void SuaThongTin() { string s; Console.WriteLine("Moi cac ban nhap thong tin can sua, muc nao khong sua thi de trong"); Console.WriteLine("Neu so CMND va so Dien thoai nhap sai thi thong tin cu khong bi sua"); Console.Write("Ho Ten : "); s = Console.ReadLine(); if (s != null && s.Length != 0) TenKH = s; Console.Write("So CMND : "); s = Console.ReadLine(); if (s != null && s.Trim().Length > 8 && s.Trim().Length < 14) SoCMND = s; Console.Write("Dia chi : "); s = Console.ReadLine(); if (s != null && s.Length != 0) Diachi = s; Console.Write("So Dien Thoai : "); s = Console.ReadLine(); if (s != null && s.Trim().Length > 9 && s.Length < 16) SoDThoai = s;

public string TenKhachHang() {

// tr v tn khch hng // Vd : bui hong duc -> DUC

string s = TenKH.Trim(); int a = s.LastIndexOf(' '); return s.ToUpper().Substring(a + 1);

} //ht lp khch hng

using System; using System.Collections.Generic; using System.Text; using System.IO; // namespace cn thao tc vi file namespace MyDanhBaNameSpace { class DanhBaDT { public KhachHang[] ds = new KhachHang[100]; public int length = 0; public string filename = "DanhSach.txt"; // refactor public DanhBaDT() { } public DanhBaDT(string filename) { this.filename = filename; } //ht phn refactor public KhachHang this[int index] { get { return ds[index]; } }

// cc phng thc thm xa public void ThemKhachHang(string ten, string soCMND, string add, string phoneNumber) // thm thng tin ca 1 khch hng, nhp tnh { KhachHang a = new KhachHang(ten ,soCMND,add,phoneNumber); ds[length ++] = a; } public void ThemKhachHang(KhachHang a) { ds[length++] = a; } public void ThemKhachHang() { KhachHang a = new KhachHang(); a.Input(); ds[length++] = a; } public void XoaKhachHang(int vt) // xa khch hng ti v tr cn xa { if (vt >= length||vt <0) return; for (int i = vt; i < length - 1; i++) ds[i] = ds[i + 1]; length--; } // ht cc phng thc thm xa public void SapXepKhachHang() { int min = 0; for (int i = 0; i < length-1; i++) { min = i; for (int j = i+1; j < length; j++) { if (ds[j].TenKhachHang().CompareTo(ds[min].TenKhachHang()) == -1) min = j; } KhachHang.Swap(ref ds[i],ref ds[min]); } } //cc phng thc tm kim public DanhBaDT TimTen(string s) // tm tn hoc 1 phn tn { DanhBaDT kq = new DanhBaDT("TimTen" + s + ".txt"); for (int i = 0; i < length; i++) { if (ds[i].TenKH.ToUpper().IndexOf(s.Trim().ToUpper()) != -1) kq.ThemKhachHang(ds[i]); } return kq; }

public DanhBaDT TimSoCM(string s) // tm s CM hoc 1 phn s cm { DanhBaDT kq = new DanhBaDT("TimSoCM" + s + ".txt"); for (int i = 0; i < length; i++) { if (ds[i].SoCMND.IndexOf(s.Trim()) != -1) kq.ThemKhachHang(ds[i]); } return kq; } public DanhBaDT TimSoDt(string s) // tm s t hoc 1 phn s t { DanhBaDT kq = new DanhBaDT("TimSoDT" + s + ".txt"); for (int i = 0; i < length; i++) { if (ds[i].SoDThoai.IndexOf(s.Trim()) != -1) kq.ThemKhachHang(ds[i]); } return kq; } //Ht cc phng thc tm kim public void OutPut() { Console.WriteLine("STT".PadRight(5) + "Ho Ten".PadRight(30) + "So CMND".PadRight(20) + "So Dien Thoai".PadRight(20) + "Dia Chi" + "\n"); for (int i = 0; i < length; i++) { string s = (i+1).ToString().PadLeft(3, '0').PadRight(5); Console.WriteLine(s + ds[i] + "\n"); }

//Thao tc vi file public void WriteFile() // ghi ra file text { if (File.Exists(filename)) File.Delete(filename); FileStream myFile = new FileStream(filename, FileMode.Create); StreamWriter wt = new StreamWriter(myFile); for (int i = 0; i < length; i++) { wt.WriteLine(ds[i]); wt.Flush(); } wt.Close(); myFile.Close(); }

public void ReadFile() // c d liu t file text(*.txt) { string text; FileStream myFile; if (File.Exists(filename)) { myFile = new FileStream(filename, FileMode.Open); StreamReader rd = new StreamReader(myFile); for (; (text = rd.ReadLine()) != null; ) { string ten = text.Substring(0, 30); string soCM = text.Substring(30, 20); string soDt = text.Substring(50, 20); string diachi = text.Substring(70); ThemKhachHang(ten, soCM, diachi, soDt); } rd.Close(); myFile.Close(); } else myFile = new FileStream(filename, FileMode.Create); } //ht cc thao tc vi file } }

You might also like