- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
中国地质大学
C语言课程设计汇报文档
课程名称 c语言课程设计
老师姓名
本科生姓名*********
本科生学号 *********
本科生专业*********
所在院系*********
日期 20XX年6月20日
第27题课程设计:停车场管理
Part1;
【要求】
有一个两成停车场,每层有6个车位,当地一层车停满后才许可使用第二层,每辆车信息包含车牌号,层号,车位号,停车时间共4项,其中停车时间按分钟算。
假设停车场初始状态为第一层已经停有4辆车,其车位号依次为1-4,停车时间依次为20,15,10,5,即先将这四辆车信息存入文件car.dat中
停车操作:当一辆车进入停车场时,先输入其车牌号,在为她分配一个车位号和层号,停车时间设为5,最终将新停近汽车信息加到文件中,并将在此之前全部车停车时间加5。
收费管理:当有车离开时,输入其车牌号,先按其停车时间收费,每5分钟收费0.2元,同时从文件car.dat中删除其信息,并将该车为设置为可停车状态,按用户选择来判定是否要输出停车收费总计。
输出停车场中全部车辆信息。
退出系统
【提醒】
需求分析:车辆信息要用文件存放,提供文件输出输入操作,当车离开时要删除文件中该车信息,所以要提供文件删除操作,另外还要用键盘式菜单功效选择。
总体设计:整个管理系统可设计为停车模块,取车模块,车辆信息浏览模块。
Part2:
开始 步骤图:输入车牌号
开始
输入车牌号
有此车,查看信息
调走车辆,删除信息
无此车,退出
有车位,在文件中添加信息,车停和此,全部停车时间加5
查看费用
退出系统
Part3
设计思绪
先设计一个结构体函数structGarage,存放车牌号,层号,车位号,停车时间等信息。
初始化结构体中变量,满足题目设置条件,然后自定义函数实现停车,取车,查看停车信息,查看收费功效,
最终在主函数中调用这些函数,实现最终功效,完成设计。
Part4:程序
#includestdio.h
#includestring.h
#includestdlib.h
structGarage
{
charcarnum[8];/*车牌号*/
intlay;//层号
intgaragenum;/*车位号*/
inttime;/*停车时间*/
intisempty;/*该车位是否为空,1表示空,0表示有车*/
};
voidInstruction()
{printf(停车场管理系统使用说明\n);
printf(停车请输入1取车请输入2\n);
printf(查看全部车辆信息请输入3退出请输入0\n);
}
/*初始化停车场信息,初始状态为第一层已经停有4辆车,*其车位号依次为1—4,停车时间依次为20,15,10,5*/
voidInit(structGaragegar[][6])
{
inti,j;/*给全部车位层号,车位号初始化,停车时间初始化为0,停车位全全部初始化为空*/
for(i=0;i2;i++)
{for(j=0;j6;j++)
{gar[i][j].lay=i+1;
gar[i][j].garagenum=j+1;
gar[i][j].time=0;
gar[i][j].isempty=1;
}
}
/*第一层1-4号车位停车*/
for(i=0;i4;i++)
{gar[0][i].isempty=0;}
strcpy(gar[0][0].carnum,0000);/*初始化车牌号*/
gar[0][0].time=20;
strcpy(gar[0][1].carnum,
1111);gar[0][1].time=15;
strcpy(gar[0][2].carnum,2222);
gar[0][2].time=10;
strcpy(gar[0][3].carnum,3333);
gar[0][3].time=5;}
/*新停入汽车后,将在此之前全部车停车时间加5*/
voidAddTime(structGaragegar[][6])
{inti,j;for(i=0;i2;i++)
{for(j=0;j6;j++)
{if(gar[i][j].isempty==0)
{gar[i][j].time+=5;
}
}
}
}
/*停车*/
voidPark(structGaragegar[][6])
{inti;charnum[8];
printf(请输入车牌号:);
scanf(%s,num);/*查找空车位*/
for(i=0;i6;i++)
{if(gar[0][i].isempty==1)
{printf(第一层第%d号车位空着,请在此处停车\n,i+1);
strcpy(gar[0][i].carnum,num);
printf(车牌号
原创力文档


文档评论(0)