Advertisement
Guest User

Untitled

a guest
Dec 15th, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.78 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace ConsoleApp1
  8. {
  9. class XE
  10. {
  11. public string hoTenNguoiThue;
  12. public int soGioThueXe { set; get; }
  13. public string loaiXe;
  14. public virtual int sotien { set; get; }
  15. public int pk;
  16.  
  17. public virtual void Nhap()
  18. {
  19. Console.WriteLine("Ho ten nguoi thue xe: ");
  20. hoTenNguoiThue = Convert.ToString(Console.ReadLine());
  21. Console.WriteLine("So gio thue xe: ");
  22. soGioThueXe = int.Parse(Console.ReadLine());
  23. // Console.WriteLine("Loai xe('XD':xe dap, ): ");
  24. // loaiXe = Convert.ToString(Console.ReadLine());
  25. }
  26.  
  27.  
  28. public virtual void Xuat()
  29. {
  30.  
  31. Console.Write("{0}\t{1}",hoTenNguoiThue.PadRight(30,' '),soGioThueXe.ToString().PadRight(5,' '));
  32.  
  33. }
  34. }
  35.  
  36. class xeDap : XE
  37. {
  38. public override void Nhap()
  39. {
  40. base.Nhap();
  41. loaiXe = "Xe Dap";
  42. }
  43. public override int sotien
  44. {
  45. get
  46. { if (soGioThueXe > 1) return 10000 + 8000 * (soGioThueXe - 1);
  47. else return 10000;
  48. }
  49. }
  50.  
  51. public override void Xuat()
  52. {
  53. base.Xuat(); Console.Write("{0}\t{1}\t{2}\n", loaiXe.ToString().PadRight(6,' '),"/".ToString().PadRight(11,' '),sotien.ToString());
  54. }
  55.  
  56. }
  57. class xeMay : XE
  58. {
  59. string bienSoXe;
  60.  
  61. public override void Nhap()
  62. {
  63. base.Nhap();
  64. Console.WriteLine("Bien So: ");
  65. bienSoXe = Convert.ToString(Console.ReadLine());
  66. Console.WriteLine("Phan khoi xe: ");
  67. pk = Convert.ToInt32(Console.ReadLine());
  68.  
  69. if (pk == 100) { loaiXe = "XM-100"; }
  70. else if (pk == 250) { loaiXe = "XM-250"; }
  71.  
  72. }
  73. public override void Xuat()
  74. {
  75. base.Xuat();
  76. Console.Write("{0}\t{1}\t{2}\n ", loaiXe.PadRight(6,' '),bienSoXe.PadRight(11,' '),sotien.ToString().PadRight(6,' '));
  77.  
  78. }
  79. public override int sotien
  80. {
  81. get {
  82. if (pk==100)
  83. {
  84. if (soGioThueXe > 1) return 15000 + (soGioThueXe - 1) * 10000;
  85. else return 15000;
  86.  
  87. }
  88. else
  89. {
  90. if (soGioThueXe > 1) return 20000 + (soGioThueXe - 1) * 10000;
  91. else return 20000;
  92.  
  93. }
  94. }
  95. }
  96. }
  97. class QLXE
  98. {
  99. int soLuong,tong=0;
  100. XE[] ds;
  101. public void NhapDs()
  102. {
  103. Console.WriteLine("Nhap so luong khach thue xe: ");
  104. soLuong = int.Parse(Console.ReadLine());
  105. ds = new XE[soLuong];
  106. for (int i = 0; i < soLuong; i++)
  107. {
  108. Console.WriteLine("Khach thue loai xe nao: 1. Xe Dap , 2. Xe May");
  109. int ans = int.Parse(Console.ReadLine());
  110. if (ans == 1)
  111. {
  112. Console.WriteLine("Khach thue xe dap!");
  113. ds[i] = new xeDap();
  114. }
  115. else
  116. {
  117. Console.WriteLine("Khach thue xe may!");
  118. ds[i] = new xeMay();
  119. }
  120. ds[i].Nhap();
  121.  
  122. Console.WriteLine();
  123. }
  124. }
  125. public void xuatDs()
  126. {
  127. Console.Write("{0}\t{1}\t{2}\t{3}\t{4}\n", "HoTen".PadRight(30, ' '), "SoGio".ToString().PadRight(5, ' '), "LoaiXe".ToString().PadRight(6, ' '), "BienSo".PadRight(11, ' '), "ThanhTien");
  128. for (int i = 0; i < soLuong; i++)
  129. {
  130. ds[i].Xuat();
  131. }
  132. }
  133.  
  134. public int tinhTong()
  135. {
  136. int tong = 0;
  137. for (int i = 0; i < soLuong; i++)
  138. {
  139. tong = tong + ds[i].sotien;
  140. }
  141. return tong;
  142. }
  143. public void XuatTTXD()
  144. {
  145. int d=0 ;
  146. Console.Write("Danh sach khach hang thue xe dap\n");
  147. Console.Write("{0}\t{1}\t{2}\t{3}\t{4}\n", "HoTen".PadRight(30, ' '), "SoGio".ToString().PadRight(5, ' '), "LoaiXe".ToString().PadRight(6, ' '), "BienSo".PadRight(11, ' '), "ThanhTien");
  148.  
  149. for (int i = 0; i < soLuong; i++)
  150. {
  151. if (ds[i].loaiXe == "Xe Dap")
  152. {
  153. d = i;
  154. }
  155. }
  156. ds[d].Xuat();
  157.  
  158. }
  159. public int tinhTong250()
  160. {
  161. int kq=0;
  162. for (int i = 0; i < soLuong; i++)
  163. {
  164. if (ds[i].pk == 250)
  165. {
  166. kq = kq + ds[i].sotien;
  167. }
  168. }
  169. return kq;
  170. }
  171. }
  172. class Program
  173. {
  174. static void Main(string[] args)
  175. {
  176. QLXE x = new QLXE();
  177. int tong,kq;
  178. int temp;
  179. x.NhapDs();
  180. tong = x.tinhTong();
  181.  
  182. Console.WriteLine("-------------------------------------------------------------------------------");
  183. //Console.WriteLine("Tong cong : {0}", tong.ToString().PadLeft(30,' '));
  184. Console.WriteLine("MENU");
  185. Console.WriteLine("1.Xuat thong tin thue xe.");
  186. Console.WriteLine("2.Tinh tong tien cho thue xe dap va xe may.");
  187. Console.WriteLine("3.Xuat thong tin khach hang thue xe dap.");
  188. Console.WriteLine("4.Tinh tong tien cho thue xe may loai 250 phan khoi.");
  189. do
  190. {
  191. Console.WriteLine("Moi ban chon chuong trinh muon thuc hien");
  192. int tl = int.Parse(Console.ReadLine());
  193. switch (tl)
  194. {
  195. case 1:
  196. x.xuatDs(); break;
  197. case 2:
  198. Console.WriteLine("Tong cong: {0}",tong); break;
  199. case 3:
  200. x.XuatTTXD(); break;
  201. case 4:
  202. kq=x.tinhTong250();
  203. Console.WriteLine("Tong so tien thue xe may phan khoi 250 : {0}", kq);
  204. break;
  205. default: Console.WriteLine("Nhap sai !! Vui long nhap lai !!"); break;
  206. }
  207. Console.WriteLine("Ban co muon ket thuc chuong trinh khong?? 1. Co 0. Khong");
  208. temp = int.Parse(Console.ReadLine());
  209. } while (temp == 0);
  210.  
  211. Console.ReadKey();
  212. }
  213. }
  214. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement