- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构停车场模拟管理程序的设计与实现课案
停车场模拟管理程序的设计与实现
简介
设计停车场模拟管理程序,要求实现4个大的功能模块
程序功能介绍和操作提示
汽车进入停车位的管理模块
汽车离开停车位的管理模块
查看停车厂停车状态的的查询模块
数据结构的设计:
停车场停放收费是按照时间来计算,首先要定义一个时间的结构体,并定义出一个最短时间。
typedef struct time
{
int hour;
int min;
}Time;
为了便于区分每辆汽车并了解每辆车当前所处的位置,需要记录汽车的牌照号码,停放地址和到达时间。
typedef struct car
{
int num;
int position;
Time t;
double money;
}Car;
创建栈来构建停车场。
typedef struct
{
Car elem[N+1];
int top;
}Stack;
创建队列来构建便道,方便汽车出入。
typedef struct Node
{
Car data;
struct Node *next;
}QueueNode;
当停车场的停车位上都已停满了汽车,又有新的汽车到来时要把它调度到便道上,便道上的车辆要按照进入便道的先后顺序顺次序放在便道上。当有车从停车位上离开后,便道上的第一辆汽车就立即进入停车位上的某个车位。
typedef struct
{
QueueNode *front;
QueueNode *rear;
}LinkQueue;
三、功能(函数)设计:
本程序从总体上分为四个功能模块,分别为:
(1)程序功能介绍,和操作提示模块
(2)汽车进入停车位的管理模块
(3)汽车离开停车位的管理模块
(4)查看停车场状态的查询模块
函数功能:
进入停车位函数:输入1后进入“进入停车场”函数,然后输入车牌号、到达时间。然后程序自动提示停放位置,若车位已满,程序将提示“车库已满,请稍等!”。
进入离开停车场函数:输入2后进入“离开停车场”函数,然后车牌号、离开时间。若有此车牌号的车,程序自动显示要收取的费用,如果停车时间没超过最小时间,将提示“未使用车位,不收费”。
若没有此车牌号的车,程序将显示“没有这车”。
序将显示整个停车场情况,有车显示车的数据,无车显示“无车”。
四、界面设计:
(1)用“*”和“\n”(回车)来构出上下界。
(2)在界内显示出程序功能介绍,和操作提示,用1234的序号区分。
(3)用“\t”(空格)对齐。
五、程序设计:
(1)void InitQueue 函数:便道初始化程序,使malloc返回的指针转化为指向QueueNode类型数据的指针。
(2)int EnterQueu函数:给便道申请空间。
(3)void InitStack函数:确保堆栈为空。
(4)void Push函数:便道中的车入库。
(5)int IsEmpty函数:判断车库是否为空。
(6)int IsFull函数:判断车库是否为满。
(7)int GetTop函数:车离开车库。
(8)int DeleteQueue函数:将便道中的车放入车库。
(9)void In函数:汽车进入停车位的管理模块 。
(10)void Money函数:计算停车花费。
(11)void Out函数:汽车离开停车位的管理模块。
(12)void print1函数:查看停车场状态的查询模块。
(13)void print2函数:查看通道状况。
(14)void print函数:界面输出。
函数的调用关系图
主函数流程图
“到达函数”流程图
“离开函数”程序图
“显示函数”流程图
描述编写代码期间遇到的问题及其解决办法。
Declaration missing 经常漏“;”号,和打出中文标点符号。在编译后发现错误,一一改正。
访问结构体时,拼错结构体中的定义。
Call of non-function 调用未定义函数。由于不正确的函数声明或函数名拼错造成的。更改函数名正常。
Compound statement missing复合语句漏掉了大括号“}”。补上后正常。
还有各种小错误。
六、运行与测试:
1、测试的数据及其结果:
1)连续有7辆汽车到来,牌照号分别为001、002、003、004、005、006、007,前5辆车应该进入停车位1-5车位,第6、7辆车应停入便道的1、2位置上。
(2)上面(1)中的情况发生后,让牌照003的汽车从停车场开走,应显示005、004的让路动作和006从便道到停车位的动作。
(3)随时检查停车位和便道的状态,不应该出现有空位而便道上还有车的情况。
(4)其它正常操作的一般情况。
2、运行与测试期间遇到的问题及其解决办法。
(1).问题1:输入一样的牌照号,程序不提示错
您可能关注的文档
最近下载
- 2025年公安招聘辅警考试笔试题及答案.docx VIP
- (完整word)二次函数练习顶点式基础练习题 .pdf VIP
- 2025年公安局警务辅助人员招聘考试笔试试题(附答案).docx VIP
- 2025-2026学年苏科版劳动五年级上册教学计划及进度表.pdf VIP
- 干式变压器技术规范书.docx VIP
- 2025年西藏自治区昌都市护士基础理论知识考试题库及答案解析.pdf VIP
- 工程建设监理收费标准(发改价格2022670号).docx VIP
- 2025年黑龙江省绥化市辅警招聘考试题库及答案.docx VIP
- 操作手册模板【范本模板】.pdf VIP
- 幼儿园角色扮演的重要性和意义.docx VIP
文档评论(0)