第十章汽车租凭系统

  1 namespace Vehicle
  2 {
  3     /// <summary>
  4     /// 车辆类
  5     /// </summary>
  6    public abstract class Abstract
  7     {
  8        //颜色
  9        public string Color { get; set;}
 10        //日租金
 11        public double DailyRent { get; set;}
 12 
 13        //车牌号
 14        public string LicenseNo { get; set; }
 15 
 16        //车名
 17        public string Name { get; set;}
 18 
 19 
 20        public int RentDate { get; set;}
 21 
 22        //租凭者
 23        public string RentUser { get; set;}
 24 
 25        public int YearsOfService { get; set;}
 26 
 27 
 28        public Abstract(string licenseNo, string name, string color,double dailyRent, int rentDate)
 29        {
 30            this.Color = color;
 31            this.DailyRent = dailyRent;
 32            this.LicenseNo = licenseNo;
 33            this.Name = name;
 34            this.RentDate = rentDate;
 35            this.Name = name;
 36            //this.YearsOfService = yearsOfService;
 37           
 38        }
 39        public Abstract()
 40        {
 41        }
 42 
 43 
 44        ////方法重载
 45        //public abstract double Calcprice(double a);
 46 
 47 
 48     }
 49 }
 50 ------------------------------------------------------------------------------------
 51 //小轿车类
 52 namespace Vehicle
 53 {
 54    public class Car:Abstract
 55     {
 56        public Car(string licenseNo, string name, string color, double dailyRent, int rentDate)
 57           : base(licenseNo,name,color,dailyRent,rentDate)
 58        {
 59        }
 60        public Car() { }
 61       
 62       }
 63                    
 64        
 65     }     
 66 
 67     }
 68 ------------------------------------------------------------------------------------
 69 namespace Vehicle
 70 {
 71     //卡车类
 72   public  class Truck:Abstract
 73     {
 74 
 75           public Truck(string licenseNo, string name, string color,double dailyRent, int rentDate,int Load)
 76           : base(licenseNo, name, color, dailyRent, rentDate)
 77         {
 78           this.Load = Load;
 79         }
 80           public Truck() { }
 81     
 82 
 83       public int Load { get; set;}
 84 
 85 
 86     }
 87 }
 88 -------------------------------------------------------------------------------------
 89 namespace Vehicle
 90 {
 91     public partial class Form1 : Form
 92     {
 93         public Form1()
 94         {
 95             InitializeComponent();
 96         }
 97 
 98         //保存可租车的车的集合
 99         Dictionary<string, Abstract> abstracts = new Dictionary<string, Abstract>();
100 
101         //保存租出的车的集合
102         Dictionary<string, Abstract> renVehicles = new Dictionary<string, Abstract>();
103 
104 
105         //加载事件
106         private void Form1_Load(object sender, EventArgs e)
107         {
108             abstracts.Add(new Truck("粤233654", "奥迪A7", "黑色", 3, 240, 12).LicenseNo, new Truck("粤233654", "奥迪A7", "黑色", 3, 240, 12));
109             abstracts.Add(new Truck("粤66666", "奥迪A6", "白色", 4, 200, 13).LicenseNo, new Truck("粤66666", "奥迪A6", "白色", 4, 200, 13));
110             abstracts.Add(new Car("粤88888", "京123456", "红色", 6, 150).LicenseNo, new Car("粤88888", "京123456", "红色", 6, 150));
111         }
112         //添加到listView里
113         public void Info()
114         {
115             list_view.Items.Clear();
116             foreach (var item in abstracts)
117             {
118                 ListViewItem view = new ListViewItem(item.Key);
119                 view.SubItems.Add(item.Value.Name);
120                 view.SubItems.Add(item.Value.Color);
121                 view.SubItems.Add(item.Value.DailyRent.ToString());
122                 view.SubItems.Add(item.Value.RentDate.ToString());
123                 //判断一下是否是小轿车还是卡车
124                 if (item.Value is Truck)
125                 {
126                     view.SubItems.Add((item.Value as Truck).Load.ToString());
127                 }
128                 if (item.Value is Car)
129                 {
130 
131                     view.SubItems.Add("");
132                 }
133 
134                 list_view.Items.Add(view);
135             }
136         }
137 
138         public void Info2()
139         {
140             listView2.Items.Clear();
141             foreach (var items1 in renVehicles)
142             {
143                 ListViewItem list = new ListViewItem(items1.Key);
144                 list.SubItems.Add(items1.Value.Name);
145                 list.SubItems.Add(items1.Value.Color);
146                 list.SubItems.Add(items1.Value.DailyRent.ToString());
147                 list.SubItems.Add(items1.Value.RentDate.ToString());  
148                 //判断是否是卡车还是轿车
149                 if (items1.Value is Truck)
150                 {
151                     list.SubItems.Add((items1.Value as Truck).Load.ToString());
152                 }
153                 else
154                 {
155 
156                     list.SubItems.Add("");
157                 }
158                 //刷新
159                 listView2.Items.Add(list);
160             }
161 
162 
163         }
164 
165         //出租车刷新的事件
166         private void btn_shuaxin_Click(object sender, EventArgs e)
167         {
168             Info();
169         }
170         //租车的事件
171         private void btn_zhuche_Click(object sender, EventArgs e)
172         {
173             if (string.IsNullOrEmpty(txt_name.Text.Trim()))
174             {
175 
176                 MessageBox.Show("请输入租凭者");
177                 return;
178 
179             }
180             if (list_view.SelectedItems.Count!= 1)
181             {
182                 MessageBox.Show("请选择车辆");
183                 return;
184             }
185             string Rows = list_view.SelectedItems[0].Text;
186             renVehicles.Add(Rows, abstracts[Rows]);
187             abstracts.Remove(Rows);
188             Info();
189             MessageBox.Show("租车成功");
190 
191         }
192         //还车的刷新事件
193         private void button1_Click(object sender, EventArgs e)
194         {
195             Info2();
196         }
197         //结算
198         private void button2_Click(object sender, EventArgs e)

199         {
200             if (string.IsNullOrEmpty(txt_day.Text.Trim()))
201             {
202                 MessageBox.Show("请输入天数");
203                 return;
204             }
205             if (list_view.SelectedItems.Count != 0)
206             {
207                 MessageBox.Show("请选择车辆");
208                 return;
209             }
210             string listview = listView2.SelectedItems[0].Text;
211 
212             MessageBox.Show(((renVehicles[listview].RentDate) * (double.Parse(txt_day.Text))).ToString());
213 
214             abstracts.Add(renVehicles[listview].LicenseNo, renVehicles[listview]);
215             renVehicles.Remove(listview);
216             Info2();
217         }
218 
219         private void rad_car_CheckedChanged(object sender, EventArgs e)
220         {
221             //判断是选中的是小轿车还是卡车
222             if (rad_car.Checked == true)
223             {
224                 txt_load.Text = "";
225                 txt_load.Enabled = false;
226             }
227             else
228             {
229 
230                 txt_load.Enabled = true;
231             }
232 
233 
234         }
235         //入库的事件
236         private void btn_add_Click(object sender, EventArgs e)
237         {
238             if(string.IsNullOrEmpty(txt_datetime.Text.Trim())||string.IsNullOrEmpty(txt_day.Text.Trim())||string.IsNullOrEmpty(txt_load.Text.Trim())||string.IsNullOrEmpty(txt_name.Text.Trim())||string.IsNullOrEmpty(txt_no.Text.Trim())||string.IsNullOrEmpty(txt_Rentday.Text.Trim())||string.IsNullOrEmpty(txt_day.Text.Trim()))
239             {
240                 MessageBox.Show("入库的信息不能为空");
241                 return;
242 
243             }
244             if (rad_car.Checked == true)
245             {
246                 abstracts.Add(new Car(txt_no.Text,txt_type.Text, cmb_color.Text, double.Parse(txt_Rentday.Text), int.Parse(txt_datetime.Text)).LicenseNo, new Car(txt_no.Text,txt_type.Text, cmb_color.Text, double.Parse(txt_datetime.Text), int.Parse(txt_Rentday.Text)));
247             }
248             else
249             {
250 
251                 abstracts.Add(new Truck(txt_no.Text,txt_type.Text, cmb_color.Text, double.Parse(txt_Rentday.Text), int.Parse(txt_datetime.Text), int.Parse(txt_load.Text)).LicenseNo, new Truck(txt_no.Text,txt_type.Text, cmb_color.Text, double.Parse(txt_Rentday.Text), int.Parse(txt_datetime.Text), int.Parse(txt_load.Text)));
252 
253             }
254             MessageBox.Show("添加成功");
255             //刷新
256             Info();
257 
258         }
259 
260     }
261 }
第十章汽车租凭系统
原文地址:https://www.cnblogs.com/1-9-9-5/p/6705883.html