收藏 分销(赏)

C面向对象程序设计优秀课程设计车位管理程序.docx

上传人:快乐****生活 文档编号:2727264 上传时间:2024-06-05 格式:DOCX 页数:16 大小:68.92KB 下载积分:8 金币
下载 相关 举报
C面向对象程序设计优秀课程设计车位管理程序.docx_第1页
第1页 / 共16页
C面向对象程序设计优秀课程设计车位管理程序.docx_第2页
第2页 / 共16页


点击查看更多>>
资源描述
南京航空航天大学金城学院 《C++面向对象程序设计》课程设计 试验汇报 题目: _ 车位管理程序 班级: 分组: 组员: 成绩: 指导老师: 完成日期: 年 月 日 目录 一、程序关键功效 二、系统总框架图 三、各模块功效 四、功效模块图 五、程序结构步骤图 六、试验结果 七、编程体会 八、参考资料 九、附录:程序清单及源程序 一、 程序关键功效 (1)停车:新来车辆时假如有空位,按次序为该车分配停车位,并自动统计开始停车时间(用系统时间); (2)计费:车辆开走时,输入车位编号,自动统计结束停车时间(用系统时间);计算出对应停车费; (3)显示:显示停车场中各类车辆信息。 (4)退出 二、系统总框架图 主函数 用户选择操作 操作完成 退出程序 三、 各模块功效 Park类 //描述停车场类Park,定义Park内数据组员 Automobile类 //包含纯虚函数Pay用于显示车辆信息并交纳对应停车费,和getlicense()取得车牌号 Time类 // 获取系统时间 Truck类 //公有继承Automobile类,并增加静态数据组员deadweight(载重量),对基类中纯虚函数pay()具体定义 Carriage类 //公有继承Automobile类,并增加静态数据组员num(乘坐人数),对基类中纯虚函数pay()具体定义 Car类 //公有继承Automobile类,并增加静态数据组员displacement(排气量) int main () //主函数(功效选择→ 功效实现) 四、 功效模块图 主函数 输入车牌号 退出 返回菜单 输入车牌号 选择车类型 停车 显示 取车 取车成功 显示缴费信息 停车成功 显示停车场信息 五、程序结构步骤图 开始 pay(int i=0) Car 结束 pay(int i=0) pay(int i=0) Carriage Truck getlicense() 停车 取车 显示 六、试验结果 七、编程体会 刚开始没有想到去怎么做,简单弄了一下框架,后面慢慢边写边改,然后就写出来了。经过baidu查找,知道了用tm 时间结构。这次课设让我对c++有了更深认识 八、参考资料 (1) 《C++面向对象程序设计》/陈腊梅等编.-北京:中国电力出版社,.8 九、附录:程序清单及源程序 #include <iostream> #include <time.h> #include <string> using namespace std; class Park { public: int judge; //判定车位是否为空,0为空,1相反 int t_hour; //开始停车时间 int t_min; int q_hour; //qiut离开时间 int q_min; int leixing; //车类型 string chepai;//车牌号 }; Park p[3]; //定义Park类对象p[3] //--------------------------------------------------------- class Automobile //基类 { int i; double j ; string license; //车牌号 public: string getlicense() { cout<<"请输入车牌号:"<<endl; cin>>license; return license; } double money(int i=0) { j=1/60; return ((p[i].q_hour-p[i].t_hour)*60+(p[i].q_min-p[i].t_min))*j; } virtual void pay(int i)=0; //纯虚函数 }; //--------------------------------------------------------- class Time //定义时间类 { int hour; //时 int min; //分 public: void gettime() //时间函数 { struct tm *newtime; //获取时间 time_t long_time; time( &long_time ); newtime = localtime( &long_time ); hour=newtime->tm_hour; //得到系统目前小时 min=newtime->tm_min; //得到系统目前分钟 } int showTime_h() { return hour; } int showTime_m() { return min; } }; //--------------------------------------------------------- class Truck:public Automobile //卡车 { static float deadweight; //载重量 public: void pay(int i=0) { cout<<"-------------------"<<endl; cout<<"取车成功!"<<endl; cout<<"车牌号:"<<p[i].chepai<<endl; cout<<"所停车位:"<<i+1<<endl; cout<<"载重量:"<<deadweight<<endl; cout<<"进入停车场时间:"<<p[i].t_hour <<":"<<p[i].t_min<<endl; cout<<"离开停车场时间:"<<p[i].q_hour <<":"<<p[i].q_min<<endl; cout<<"需交纳停车费:"<<(money())*2<<endl; cout<<"-------------------"<<endl; } void zaizhong() { cout<<"请输入载重量"<<endl; cin>>deadweight; } }; //--------------------------------------------------------- class Carriage:public Automobile //客车 { static int num; //乘坐人数 public: void pay(int i=0) { cout<<"-------------------"<<endl; cout<<"取车成功!"<<endl; cout<<"车牌号:"<<p[i].chepai<<endl; cout<<"所停车位:"<<i+1<<endl; cout<<"乘坐人数:"<<num<<endl; cout<<"进入停车场时间:"<<p[i].t_hour <<":"<<p[i].t_min<<endl; cout<<"离开停车场时间:"<<p[i].q_hour <<":"<<p[i].q_min<<endl; cout<<"需交纳停车费:"<<(money())*1.5<<endl; cout<<"-------------------"<<endl; } void renshu() { cout<<"请输入乘坐人数:"<<endl; cin>>num; } }; //--------------------------------------------------------- class Car:public Automobile //小轿车 { static float displacement; //排气量 public: void pay(int i=0) { cout<<"-------------------"<<endl; cout<<"取车成功!"<<endl; cout<<"车牌号:"<<p[i].chepai<<endl; cout<<"所停车位:"<<i+1<<endl; cout<<"排气量:"<<displacement<<endl; cout<<"进入停车场时间:"<<p[i].t_hour <<":"<<p[i].t_min<<endl; cout<<"离开停车场时间:"<<p[i].q_hour <<":"<<p[i].q_min<<endl; cout<<"需交纳停车费:"<<(money())*1<<endl; cout<<"-------------------"<<endl; } void paiqi() { cout<<"请输入排气量:"<<endl; cin>>displacement; } }; float Truck::deadweight=0; //静态组员初始化 int Carriage::num=0; float Car::displacement=0; //--------------------------------------------------------- int main() { int i,m,n; string lschepai; do { cout<<" 欢迎光临 "<<endl; cout<<"**************************"<<endl; cout<<" 1. 停车 "<<endl; cout<<" 2. 取车 "<<endl; cout<<" 3. 显示 "<<endl; cout<<" 4. 退出 "<<endl; cout<<"**************************"<<endl; cout<<" 请选择功效:"<<endl; cin>>m; if(m==1) { for(i=0;i<3;i++) { if(p[i].judge==0) //judge为0即代表车位为空,能够停车 { do{ cout<<"请选择车类型:1:Truck 2:Carriage 3:Car"<<endl; cin>>p[i].leixing; switch(p[i].leixing) { case 1:{Truck Truck1; p[i].chepai=Truck1.getlicense();Truck1.zaizhong();}break; case 2:{Carriage Carriage1; p[i].chepai=Carriage1.getlicense();Carriage1.renshu();}break; case 3:{Car Car1; p[i].chepai=Car1.getlicense();Car1.paiqi();}break; default:cout<<"输入错误!"<<endl;break; } } while(p[i].leixing!=1&&p[i].leixing!=2&&p[i].leixing!=3); Time Time_t; Time_t.gettime(); p[i].t_hour=Time_t.showTime_h(); p[i].t_min=Time_t.showTime_m(); cout<<"-------------------"<<endl; cout<<"停车成功!车位:"<<i+1<<endl; cout<<"车牌号:"<<p[i].chepai<<endl; cout<<"车类型:"<<p[i].leixing<<endl; cout<<"停车时间:"<<p[i].t_hour <<":"<<p[i].t_min<<endl; cout<<"-------------------"<<endl; p[i].judge=1; //给judge赋值为1,表明该车位已占用 break; } else { if(i==2) cout<<endl<<"车位已满!请选择其它功效!"<<endl<<endl;; } } } if(m==2) { cout<<"请输入车牌号:"<<endl; cin>>lschepai; Time Time_q; Time_q.gettime(); for(i=0;i<3;i++) { if(lschepai==p[i].chepai) { p[i].q_hour=Time_q.showTime_h(); p[i].q_min=Time_q.showTime_m(); switch(p[i].leixing) { case 1:{Truck Truck2;Truck2.pay(i);};break; case 2:{Carriage Carriage2;Carriage2.pay(i);};break; case 3:{Car Car2;Car2.pay(i);};break; } p[i].judge=0; break; } else { if(i==2) cout<<"你输入车牌号不存在!"<<endl; } } } if(m==3) { for(i=0;i<3;i++) { cout<<"-------------------"<<endl; if(p[i].judge==1) { cout<<"车位:"<<i+1<<endl; cout<<"车牌号:"<<p[i].chepai<<endl; cout<<"车类型:"<<p[i].leixing<<endl; cout<<"进入停车场时间:"<<p[i].t_hour <<":"<<p[i].t_min<<endl; cout<<"目前时间:"<<p[i].t_hour <<":"<<p[i].t_min<<endl; } if(p[i].judge==0) { cout<<"车位"<<i+1<<"为空!"<<endl; } cout<<"-------------------"<<endl; } } if(m==4) break; if(m!=1&&m!=2&&m!=3&&m!=4) { cout<<"你输入有误,请重新输入!"<<endl; } } while(m!=4); return 0; }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服