- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构课程设计——车库管理系统课案
课程设计报告 (本科) 课程: 数据结构 学号: ------- 姓名: ------- 班级: 计算机科学与技术 教师: ------ 时间: 2015年12月 计算机学院
设计名称: 车库管理系统 设计内容、目的与要求: 1、问题描述:
设有一个可以停放n辆汽车的狭长停车场,它只有一个大门可以供车辆进出。车辆按到达停车场时间的早晚依次从停车场最里面向大门口处停放(最先到达的第一辆车放在停车场的最里面)。如果停车场已放满n辆车,则后来的车辆只能在停车场大门外的便道上等待,一旦停车场内有车开走,则排在便道上的第一辆车就进入停车场。停车场内如有某辆车要开走,在它之后进入停车场的车都必须先退出停车场为它让路,待其开出停车场后,这些车辆再依原来的次序进场。每辆车在离开停车场时,都应根据它在停车场内停留的时间长短交费,费用由自己设定。如果停留在便道上的车未进停车场就要离去,允许其离去,不收停车费,并且仍然保持在便道上等待的车辆的次序。编制一程序模拟该停车场的管理问题。
2、基本要求:
要求程序输出每辆车到达后的停车位置(停车场或便道上),以及某辆车离开停车场时应交纳的费用和它在停车场内停留的时间。
3、实现提示:
汽车的模拟输入信息格式可以是:(到达/离去,汽车牌照号码,到达/离去的时刻)。例如,(‘A’,1,5)表示1号牌照车在5这个时刻到达,而(‘D’,5,20)表示5号牌照车在20这个时刻离去。整个程序可以在输入信息为(‘E’,0,0)时结束。本题可用栈和队列来实现。 计划与进度安排: 计划:
12月1号到10号写程序并记录过程
11号到20号写实验报告,并整理相关文件
进度:
12月1号到5号设计讨论除了程序框架。由---编写代码。
6号调试讨论程序发现有问题。修改了输入问题。发现进栈问题。
7号调试解决。又发现队列与栈的连接问题。
9号解决。并同时优化了栈与队列在主程序中的调用。
设计过程、步骤(可加页): #includestdio.h
#includemalloc.h
#includestring.h
#define N 2 //N代表车库进车的数量,N=2
typedef struct car //车信息
{
char AD; //A,D代表车的进来和离开
int num;
int time;
}car;
typedef struct stack //栈
{
car car[N];
int top;
}stack;
typedef struct anode //队节点
{
car data;
struct anode *next;
}node;
typedef struct Link //队
{
node *front;
node *rear;
}link;
int z=0; //总车数
void inits(stack *s) //栈的创建、判断
{
s=(stack *)malloc(sizeof(stack));
s-top =-1;
}
bool sempty(stack *s)
{
return (s-top ==-1);
}
bool sfull(stack *s)
{
return (s-top==N-1);
}
void show(car p) //展示p
{
if(p.time0)
{
printf(离开车辆号码:%d\n汽车在街道上不收费。,p.num );
}else{
printf(离开车辆号码:%d\n,p.num );
if(p.time==0)
printf(不足一小时按一小时计费,费用:2\n\n);
else
printf(费用:%d\n\n,p.time*2 );
printf(现有车辆:%d\n,z-1);
}
}
void initq(link *q) //队的创建、判断
{
q=(link *)malloc(sizeof(link));
q-front=q-rear=NULL;
}
bool qempty(link *q)
{
return (q-front ==q-rear );
}
void toinq(link *q,car p) //进队、栈
{
node *a;
a=(node *)malloc(sizeof(link));
a-data =p;
if(q-rear==NULL)
q-fron
您可能关注的文档
最近下载
- 2025至2030年中国机器人关节模组行业市场竞争态势及前景战略研判报告.docx
- 员工冲突管理培训.pptx VIP
- 新课标人教版 宾语从句 复习课件.ppt VIP
- 厂务系统介绍.ppt VIP
- 2024年10月广东省高等教育自学考试00020高等数学(一)试卷及答案.pdf
- 英语人教版八年级下册unit5 setionB 课件.ppt VIP
- 人教版新目标八年级上册英语导学案(全册).pdf VIP
- 人教版九年级英语Unit 2 reading-The Spirit of Christmas.pptx VIP
- 丹毒中医护理方案ppt课件.pptx VIP
- 人教版九年级英语unit8全单元课件.ppt VIP
文档评论(0)