(深入.Net平台和C#编程)第十章.课程总复习.20170413
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了(深入.Net平台和C#编程)第十章.课程总复习.20170413,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含10809字,纯文字阅读大概需要16分钟。
内容图文
==============================================实体==============================================
---------------------------------------车辆类(父类)---------------------------------------
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace Car.entity 8 { 9 /// <summary> 10 /// 车辆类 11 /// </summary> 12 public abstract class Vehicle 13 { 14 /// <summary> 15 /// 颜色 16 /// </summary> 17 public string Color { get; set; } 18///<summary>19/// 日租金 20///</summary>21publicdouble DailyRent { get; set; } 22///<summary>23/// 车牌号 24///</summary>25publicstring LicenseNo { get; set; } 26///<summary>27/// 车名 28///</summary>29publicstring Name { get; set; } 30///<summary>31/// 租用天数 32///</summary>33publicint RentDate { get; set; } 34///<summary>35/// 租用人 36///</summary>37publicstring RentUser { get; set; } 38///<summary>39/// 使用时间 40///</summary>41publicint YearsOfService { get; set; } 4243///<summary>44/// 计算总价抽象方法 45///</summary>46///<returns></returns>47publicabstractstring Money(); 4849 } 50 }
---------------------------------------卡车类(子类)---------------------------------------
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace Car.entity 8 { 9 /// <summary> 10 /// 卡车 11 /// </summary> 12 public class Truck:Vehicle 13 { 14 /// <summary> 15 /// 载重 16 /// </summary> 17 public int Load { get; set; } 1819///<summary>20/// 计算租车总价 (租车时间*该车日租金) 21///</summary>22///<returns></returns>23publicoverridestring Money() 24 { 25string money = (base.RentDate * base.DailyRent).ToString(); 26return money; 27 } 28 } 29 }
---------------------------------------轿车类(子类)---------------------------------------
1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace Car.entity 8 { 9 /// <summary> 10 /// 轿车 11 /// </summary> 12 public class JCar:Vehicle 13 { 14 15 /// <summary> 16 /// 计算租车总价 (租车时间*该车日租金) 17 /// </summary> 18 /// <returns></returns> 19 public override string Money() 20 { 21 string money = (base.RentDate * base.DailyRent).ToString(); 22return money; 23 } 24 } 25 }
==============================================窗体==============================================
------------------------------------------------------------------------------
1 using Car.entity; 2 using System; 3 using System.Collections.Generic; 4 using System.ComponentModel; 5 using System.Data; 6 using System.Drawing; 7 using System.Linq; 8 using System.Text; 9 using System.Threading.Tasks; 10 using System.Windows.Forms; 11 12 namespace Car 13 { 14 public partial class frmZuCheSystem : Form 15 { 16 public frmZuCheSystem() 17 { 18 InitializeComponent(); 19 } 20 21 /// <summary> 22 /// 可租车集合 23 /// </summary> 24 Dictionary<string, Vehicle> KeZuChe = new Dictionary<string,Vehicle>(); 25 26///<summary> 27/// 已经租了的车集合 28///</summary> 29 Dictionary<string, Vehicle> YiZuChe = new Dictionary<string, Vehicle>(); 30 31 32///<summary> 33/// 加载事件 34///</summary> 35///<param name="sender"></param> 36///<param name="e"></param> 37privatevoid ZuCheSystem_Load(object sender, EventArgs e) 38 { 39 Init(); 40 BangKeZuChe(); 41 } 42 43///<summary> 44/// 初始化可租车列表 45///</summary> 46publicvoid Init() 47 { 48 Vehicle vehicle = new JCar(); 49 vehicle.Color = "黑色"; 50 vehicle.DailyRent = 200; 51 vehicle.LicenseNo = "粤A12345"; 52 vehicle.Name = "奥迪"; 53 vehicle.YearsOfService = 2; 54 55 Vehicle vehicle1 = new JCar(); 56 vehicle1.Color = "银色"; 57 vehicle1.DailyRent = 200; 58 vehicle1.LicenseNo = "粤B22222"; 59 vehicle1.Name = "宝马"; 60 vehicle1.YearsOfService = 2; 61 62 Vehicle vehicle2 = new Truck(); 63 vehicle2.Color = "蓝色"; 64 vehicle2.DailyRent = 200; 65 vehicle2.LicenseNo = "粤C33333"; 66 vehicle2.Name = "东风"; 67 ((Truck)vehicle2).Load = 20; 68 vehicle2.YearsOfService = 2; 69 70 KeZuChe.Add(vehicle.LicenseNo, vehicle); 71 KeZuChe.Add(vehicle1.LicenseNo, vehicle1); 72 KeZuChe.Add(vehicle2.LicenseNo, vehicle2); 73 } 74 75///<summary> 76/// 绑定可租车ListView数据 77///</summary> 78publicvoid BangKeZuChe() 79 { 80//清空ListView 81 lvKeZu.Items.Clear(); 82//遍历可租车集合 添加到 ListView 83foreach (var item in KeZuChe) 84 { 85 ListViewItem lvi = new ListViewItem(item.Key); 86 lvi.SubItems.Add(item.Value.Name); 87 lvi.SubItems.Add(item.Value.Color); 88 lvi.SubItems.Add(item.Value.YearsOfService.ToString()); 89 lvi.SubItems.Add(item.Value.DailyRent.ToString()); 90if (item.Value is Truck) 91 { 92 lvi.SubItems.Add((item.Value as Truck).Load.ToString()); 93 } 94else 95 { 96 lvi.SubItems.Add("无"); 97 } 98 lvKeZu.Items.Add(lvi); 99 } 100101 } 102103///<summary>104/// 单击租车 105///</summary>106///<param name="sender"></param>107///<param name="e"></param>108privatevoid btnZu_Click(object sender, EventArgs e) 109 { 110//判断111if (lvKeZu.SelectedItems.Count > 0) 112 { 113if (!string.IsNullOrEmpty(txtName.Text.Trim())) 114 { 115//获取选中行的车牌号116string chePaiHao = lvKeZu.SelectedItems[0].SubItems[0].Text.ToString(); 117 Vehicle vehicle = null; 118//判断选中的是哪种车119if (KeZuChe[chePaiHao] is JCar) 120 { 121 vehicle = new JCar(); 122 vehicle = KeZuChe[chePaiHao]; 123 } 124if (KeZuChe[chePaiHao] is Truck) 125 { 126 vehicle = new Truck(); 127 vehicle = KeZuChe[chePaiHao]; 128//如果选的是卡车就加一个重量属性129 ((Truck)vehicle).Load = ((Truck)KeZuChe[chePaiHao]).Load; 130 } 131132 vehicle.RentUser = txtName.Text; 133//添加指定车辆 到已租车集合134 YiZuChe.Add(vehicle.LicenseNo, vehicle); 135//删除指定车辆 的可租车集合136 KeZuChe.Remove(chePaiHao); 137 MessageBox.Show("客户 " + vehicle.RentUser + " 租车成功!"); 138 } 139else140 { 141 MessageBox.Show("请填写租用者", "提示!", MessageBoxButtons.OK, MessageBoxIcon.Information); 142 } 143 } 144else145 { 146 MessageBox.Show("请选择车辆","提示!",MessageBoxButtons.OK,MessageBoxIcon.Information); 147 } 148 } 149150///<summary>151/// 单击刷新重新绑定 可租车列表 152///</summary>153///<param name="sender"></param>154///<param name="e"></param>155privatevoid btnShuaXinKeZu_Click(object sender, EventArgs e) 156 { 157 BangKeZuChe(); 158 } 159160///<summary>161/// 单击退出 162///</summary>163///<param name="sender"></param>164///<param name="e"></param>165privatevoid btnExit_Click(object sender, EventArgs e) 166 { 167 Application.Exit(); 168 } 169170///<summary>171/// 刷新已租车列表 (结算界面) 172///</summary>173///<param name="sender"></param>174///<param name="e"></param>175privatevoid btnShuaXin_Click(object sender, EventArgs e) 176 { 177 BangYiZuCheList(); 178 } 179180///<summary>181/// 绑定已租车列表 lvJieSuan 182///</summary>183publicvoid BangYiZuCheList() 184 { 185//清空ListView186 lvJieSuan.Items.Clear(); 187//遍历已租车集合 添加到 ListView188foreach (var item in YiZuChe) 189 { 190 ListViewItem lvi = new ListViewItem(item.Key); 191 lvi.SubItems.Add(item.Value.Name); 192 lvi.SubItems.Add(item.Value.Color); 193 lvi.SubItems.Add(item.Value.YearsOfService.ToString()); 194 lvi.SubItems.Add(item.Value.DailyRent.ToString()); 195if (item.Value is Truck) 196 { 197 lvi.SubItems.Add((item.Value as Truck).Load.ToString()); 198 } 199 lvJieSuan.Items.Add(lvi); 200 } 201 } 202203///<summary>204/// 更改tabControl1选项时 205///</summary>206///<param name="sender"></param>207///<param name="e"></param>208privatevoid tabControl1_SelectedIndexChanged(object sender, EventArgs e) 209 { 210//当选中还车时绑定已租车列表 lvJieSuan211if (tabControl1.SelectedIndex == 1) 212 { 213 BangYiZuCheList(); 214 } 215 } 216217///<summary>218/// 当选中发生改变 219///</summary>220///<param name="sender"></param>221///<param name="e"></param>222privatevoid rbtnKa_CheckedChanged(object sender, EventArgs e) 223 { 224 txtLoad.Enabled = true; 225 } 226227///<summary>228/// 当选中发生改变 229///</summary>230///<param name="sender"></param>231///<param name="e"></param>232privatevoid rbtnJiao_CheckedChanged(object sender, EventArgs e) 233 { 234 txtLoad.Enabled = false; 235 } 236237///<summary>238/// 单击入库 239///</summary>240///<param name="sender"></param>241///<param name="e"></param>242privatevoid btnRuKu_Click(object sender, EventArgs e) 243 { 244// 判断输入信息是否为空245if (FeiKong()) 246 { 247 Vehicle vehicle = null; 248//判断添加车型是哪种249if (rbtnJiao.Checked == true) 250 { 251 vehicle = new JCar(); 252 } 253else254 { 255 vehicle = new Truck(); 256 (vehicle as Truck).Load = int.Parse(txtLoad.Text); 257 } 258 vehicle.Color = cmbColor.Text; 259 vehicle.DailyRent = double.Parse(txtDailyRent.Text); 260 vehicle.LicenseNo = txtLicenseNo.Text; 261 vehicle.Name = txtVehicleName.Text; 262 vehicle.YearsOfService = int.Parse(txtYearsOfService.Text); 263264try265 { 266//当vehicle.LicenseNo(Keys)车牌号重复时,报出异常267 KeZuChe.Add(vehicle.LicenseNo, vehicle); 268 MessageBox.Show("添加成功"); 269 } 270catch (Exception) 271 { 272 MessageBox.Show("已有该车牌号"); 273 } 274 } 275else276 { 277 MessageBox.Show("信息不能为空!"); 278 } 279 } 280281///<summary>282/// 判断是否为空 283///</summary>284///<returns></returns>285publicbool FeiKong() 286 { 287bool isK = false; 288if (string.IsNullOrEmpty(txtLicenseNo.Text.Trim())) 289 { 290 } 291elseif (string.IsNullOrEmpty(txtVehicleName.Text.Trim())) 292 { 293 } 294elseif (string.IsNullOrEmpty(cmbColor.Text.Trim())) 295 { 296 } 297elseif (string.IsNullOrEmpty(txtYearsOfService.Text.Trim())) 298 { 299 } 300elseif (string.IsNullOrEmpty(txtDailyRent.Text.Trim())) 301 { 302 } 303else304 { 305 isK = true; 306 } 307return isK; 308 } 309310311///<summary>312/// 单击结算 313///</summary>314///<param name="sender"></param>315///<param name="e"></param>316privatevoid btnJie_Click(object sender, EventArgs e) 317 { 318//判断319if (lvJieSuan.SelectedItems.Count > 0) 320 { 321if (!string.IsNullOrEmpty(txtDay.Text.Trim())) 322 { 323//找到选中还车是哪一辆324string key = lvJieSuan.SelectedItems[0].Text; 325//按照输入的租车天数给该车属性赋值326 YiZuChe[key].RentDate = int.Parse(txtDay.Text); 327//调用该车的计算总价方法 并输出总价328 MessageBox.Show("还车成功,总价为:" + YiZuChe[key].Money()); 329//还车成功后, 在可租车集合中添加该车330 KeZuChe.Add(YiZuChe[key].LicenseNo,YiZuChe[key]); 331//还车成功后, 在已租车集合中删除该车332 YiZuChe.Remove(key); 333 } 334else335 { 336 MessageBox.Show("请输入租车天数!"); 337 } 338 } 339else340 { 341 MessageBox.Show("请选中一辆车!"); 342 } 343 } 344 } 345 }
原文:http://www.cnblogs.com/1-2-3-4/p/6705418.html
内容总结
以上是互联网集市为您收集整理的(深入.Net平台和C#编程)第十章.课程总复习.20170413全部内容,希望文章能够帮你解决(深入.Net平台和C#编程)第十章.课程总复习.20170413所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。