- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
XXXXXX
C程序设计
课程设计说明书
设计(论文)题目:停车场管理系统
所在院:信息工程学院
专业班级: 14通信工程2班
学生姓名:
学号:201451032
指导教师:XXX
2016年3月7日
一、问题描述
某停车场有20车位(1-20号),车辆信息包括:车位号,车牌号,进入时间,离开时间,计费(按每天20元收费)。
编程实现如下菜单驱动的停车场管理系统:
(1)查找空车位并显示车位号。
(2)车辆进入(判断有没有空车位,如果有,允许车辆进入,同时记录车位号,车牌号及辆进入时间)。
(3)查找车辆并显示车辆信息。
(4)车辆离开(按照车位号查找车辆,如果在车位,计费,同时让车辆离开)。
(5)显示所有在位车辆信息。
二、设计要求
1. 界面清晰,美观大方。
2. 要求使用菜单的形式描述功能项,菜单设计美观大方、实用,可仿照课程说明书模板或自行设计。
3. 模块化程序设计:要求在设计的过程中,按功能定义函数或书写多个文件,进行模块化设计
4. 程序以缩进格式书写,要求清晰、易懂。
5. 各功能模块要求必须有准确描述函数功能的注释,重要语句最好也加上注释,以更好地让读者理解。
6. 要求对2-3个重要功能模块进行描述。
7. 课程设计题目选择要求一个班最多有两人可选择同一题目,但要求不得抄袭,最终每个人(即使题目相同)内容都是独立的。
8. 课程设计至少包含5-10个功能模块,若题目中不够5-10个功能项,请自行设计功能项(5-10个功能项数目不同,得分也不同)。
9. 可以选择老师提供的参考选题,也可以自选,如果自选,需要将自选题目的详细内容以及实现要求提供给老师,老师批准后方可采用。
10. 要求利用结构化方法以及C的编程思想来完成系统的设计
11. 编辑平台选用Microsoft Visual C++ 6.0。
三、分析与实现
本程序采用模块化设计,主函数清晰、明了,各功能分别在不同模块中实现。共有七个功能模块,每个功能模块以函数的形式表示,实现了有关停车场管理的七项功能。
具体实现如下:
首先声明必要的变量及数据结构。
//相关头文件
#include stdio.h
#include string.h
#include stdlib.h
//符号常量定义
struct Garage
{
char carnum[8]; /*车牌号*/
int lay; /*层号*/
intgaragenum; /*车位号*/
int time; /*停车时间*/
intisempty; /*该车位是否为空,1表示空0表示有车*/
};
void Instruction()
{
printf(停车场管理系统使用说明\n);
printf(停车请输入1 \n);
printf(取车请输入2 \n);
printf(查看全部车辆的信息请输入3 \n);
printf(退出请输入0 \n);
}
/*初始化停车场信息初始状态为第一层已经停有4辆车, *其车位号依次为1
—4 , 停车时间依次为20, 15, 10 , 5 */
voidInit(struct Garage gar[][6])
{
int i, 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(struct Garage gar[][6])
{
int i, j;
for (i=0;
文档评论(0)