1、 C面向对象程序设计课程设计车位管理程序 22 2020年4月19日 文档仅供参考,不当之处,请联系改正。 南京航空航天大学金城学院 《C++面向对象程序设计》课程设计 实验报告 题目: _ 车位管理程序 班级: 分组: 组员: 成绩:
2、 指导教师: 完成日期: 年 月 日 目录 一、程序的主要功能 二、系统总框架图 三、各模块的功能 四、功能模块图 五、程序结构流程图 六、试验结果 七、编程体会 八、参考资料 九、附录:程序清单及源程序 一、 程序的主要功能 (1)停车:新来车辆时如果有空位,按顺序为该车分配停车位,并自动记录开始停车的时间(用系统的时间); (2)计费:车辆开走时,输入车位编号,自动记录结束停车的时间(用系统的时间);计算出相应停
3、车费; (3)显示:显示停车场中各类车辆的信息。 (4)退出 二、系统总框架图 主函数 用户选择操作 操作完成 退出程序 三、 各模块的功能 Park类 //描述停车场的类Park,定义Park内的数据成员 Automobile类 //包括纯虚函数Pay用于显示车辆信息并交纳相应停车费,以及getlicense()获得车牌号 Time类 // 获取系统时间 Truck类 //公有继承Automobile类,并增加静态数据成员deadweight(载重量),对基类中的纯虚函数pay()详细定义 Carriag
4、e类 //公有继承Automobile类,并增加静态数据成员num(乘坐人数),对基类中的纯虚函数pay()详细定义 Car类 //公有继承Automobile类,并增加静态数据成员displacement(排气量) int main () //主函数(功能选择→ 功能实现) 四、 功能模块图 主函数 输入车牌号 退出 返回菜单 输入车牌号 选择车类型 停车 显示 取车 取车成功 显示缴费信息 停车成功 显示停车场信息 五、程序结构流程图 开始 pay(int i=0) Car 结束 pay(int
5、 i=0)
pay(int i=0)
Carriage
Truck
getlicense()
停车
取车
显示
六、试验结果
七、编程体会
刚开始没有想到去怎么做,简单弄了一下框架,后面慢慢的边写边改,然后就写出来了。经过百度的查找,懂得了用tm 时间结构。这次课设让我对c++有了更深的认识
八、参考资料
(1) 《C++面向对象程序设计》/陈腊梅等编.-北京:中国电力出版社, .8
九、附录:程序清单及源程序
#include
6、 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 Au
7、tomobile //基类
{
int i;
double j ;
string license; //车牌号
public:
string getlicense()
{
cout<<"请输入车牌号:"<
8、 i)=0; //纯虚函数 }; //--------------------------------------------------------- class Time //定义时间类 { int hour; //时 int min; //分 public: void gettime() //时间函数 { struct tm *newtime; //获取时间 time_t long_time; time( &long_time ); newtime = localtime( &long_t
9、ime ); hour=newtime->tm_hour; //得到系统的当前小时 min=newtime->tm_min; //得到系统的当前分钟 } int showTime_h() { return hour; } int showTime_m() { return min; } }; //--------------------------------------------------------- class Truck:public Automobile //卡车 { static float dea
10、dweight; //载重量
public:
void pay(int i=0)
{
cout<<"-------------------"< 11、ur <<":"< >deadweight;
}
};
//---------------------------------------------------------
class Carriage:public Automobile //客车
{
stat 12、ic int num; //乘坐人数
public:
void pay(int i=0)
{
cout<<"-------------------"< 13、 <<":"< >num;
}
};
//---------------------------------------------------------
class Car:public Automobile //小轿车
{
static float di 14、splacement; //排气量
public:
void pay(int i=0)
{
cout<<"-------------------"< 15、q_hour <<":"< >displacement;
}
};
float Truck::deadweight=0; //静态成员初始化
int Carriage::num=0;
float Car::displacement=0;
//----------------- 16、
int main()
{
int i,m,n;
string lschepai;
do
{
cout<<" 欢迎光临 "< 17、 3. 显示 "< 18、k 2:Carriage 3:Car"< 19、1; p[i].chepai=Car1.getlicense();Car1.paiqi();}break;
default:cout<<"输入错误!"< 20、 cout<<"-------------------"< 21、 break;
}
else
{
if(i==2)
cout< 22、ur=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;
23、 }
else
{
if(i==2)
cout<<"你输入的车牌号不存在!"< 24、ixing<






