第十章汽车租凭系统

  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 }
时间: 2024-08-06 15:58:48

第十章汽车租凭系统的相关文章

汽车租货系统

//父类 public abstract class Superclass { public double money;// 单价 private double moneys;// 总价 private int sky;// 天数 public String info;// 车型和车牌 private String discount;// 折扣 /* * get和set天数 */ public int getSky() { return sky; } public void setSky(dou

汽车租凭系统

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 7 namespace CarSys.Entity 8 { 9 /// <summary> 10 /// 汽车类(父类) 11 /// </summary> 12 public abstract class Vehicle 13

继承、封装和多态的一个简单应用(答答租车系统)

Car.java package com.imooc; //使用面向对象的封装特性public class Car {    // 描述汽车可能有特征    private String name; // 车的名称    private double cargoCapacity;// 车的载货量    private int busLoad;// 车的载客量    private int dailyRent;// 车的日租金 public String getName() {        re

简单的租车系统

完成了一个简单的租车系统.实现简单的租车功能,用户选择租车序号和每辆车所租的天数,计算出租车所需要的费用. /* * 使用gbk编码 */ package adad; import java.util.Scanner; import javax.print.DocFlavor.INPUT_STREAM; import org.omg.CORBA.PUBLIC_MEMBER; /* * 创建汽车类 */ abstract class car{ public void man(){ System.o

慕课网-哒哒租车系统

//定义一个父类 public class Car {      String name;//车名      double  rent;//租金    public String getName(){            return name;    }    public void setName(String carName){            this.name=carName;    }    public double getRent(){            return

答答租车系统(实际开发代码编写)

一.项目功能 1.展示所有可租车辆 2.选择车型.租车辆.租车天数 3.展示租车清单,包括总金额.总载货量及车型.总载客量及车型 二.项目分析 1.数据模型:通过对现实世界的事与物的主要特征的分析.抽象,提取数据结构及相应的约束.其中,数据结构的组成是:操作(方法).属性,如将现实的车写成代码.本项目的数据模型是??模型. 货车(载货量) 客车(载客量) 皮卡车(载货.载客量) 轻型(5t).重型(5-20t) 小客车(4人).大客车(>10人) 载货.载客 2.业务模型:设计程序之前,应该明确

汽车辐射监测系统-Qt开发[转]发

1.Wait()和Notify.NotifyAll都是Object的方法 2.多线程的协作是通过控制同一个对象的Wait()和Notify()完成 3.当调用Wait()方法时,当前线程进入阻塞状态,直到有另一线程调用了该对象的Notify()方法 package Thread.Wait; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.con

第十章 汽车租赁系统

本次综合练习的任务是开发”汽车租赁系统“,汽车租赁系统包括以下功能 1.租车 显示系统中所有可出租的汽车,选中要出租的汽车,输入租用人以出租汽车,如图所示 2.还车 在还车列表中选择汽车信息,输入出租天数,计算租金,如图所示 3.新车入库 需要录入汽车的车牌号,车型,颜色,使用时间,和每日租金,如果是卡车还要录入卡车的载重,如图所示 具体实现过程: 1.搭建系统 按照类图创建类,体会Vehicle,Trech和Car三个类之间的关系 Car类: namespace _09汽车租赁系统{ publ

Mpale 在汽车底盘悬架系统公差分析应用

汽车底盘的作用是接受发动机的动力,使车轮转动,并保证汽车按驾驶员的操纵正常行驶.底盘包括传动系统.行驶系统.转向系统和制动系统这四大部分,通常,这四大系统也简称为传动系.行驶系.转向系和制动系.悬架是车架与车桥之间传力连接装置的总称,它的功用是把路面作用于车轮上的支撑力.牵引力.制动力和侧向力以及这些作用力所造成的力矩传递到车架(或车身)上,以保证汽车的正常行驶.在整个底盘的悬架系统,需要考虑前束和外倾角参数,在公差建模过程,把它们作为分析对象,计算各个输入公差对分析对象的影响. 一. 公差建模