C程序课程设计停车场管理系统.docx

上传人:b****6 文档编号:16352086 上传时间:2023-07-12 格式:DOCX 页数:11 大小:20.67KB
下载 相关 举报
C程序课程设计停车场管理系统.docx_第1页
第1页 / 共11页
C程序课程设计停车场管理系统.docx_第2页
第2页 / 共11页
C程序课程设计停车场管理系统.docx_第3页
第3页 / 共11页
C程序课程设计停车场管理系统.docx_第4页
第4页 / 共11页
C程序课程设计停车场管理系统.docx_第5页
第5页 / 共11页
C程序课程设计停车场管理系统.docx_第6页
第6页 / 共11页
C程序课程设计停车场管理系统.docx_第7页
第7页 / 共11页
C程序课程设计停车场管理系统.docx_第8页
第8页 / 共11页
C程序课程设计停车场管理系统.docx_第9页
第9页 / 共11页
C程序课程设计停车场管理系统.docx_第10页
第10页 / 共11页
C程序课程设计停车场管理系统.docx_第11页
第11页 / 共11页
亲,该文档总共11页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C程序课程设计停车场管理系统.docx

《C程序课程设计停车场管理系统.docx》由会员分享,可在线阅读,更多相关《C程序课程设计停车场管理系统.docx(11页珍藏版)》请在冰点文库上搜索。

C程序课程设计停车场管理系统.docx

C程序课程设计停车场管理系统

 

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.编辑平台选用MicrosoftVisualC++6.0。

三、分析与实现

本程序采用模块化设计,主函数清晰、明了,各功能分别在不同模块中实现。

共有七个功能模块,每个功能模块以函数的形式表示,实现了有关停车场管理的七项功能。

具体实现如下:

首先声明必要的变量及数据结构。

//相关头文件

#include

#include

#include

//符号常量定义

structGarage

{

charcarnum[8];/*车牌号*/

intlay;/*层号*/

intgaragenum;/*车位号*/

inttime;/*停车时间*/

intisempty;/*该车位是否为空,1表示空0表示有车*/

};

voidInstruction()

{

printf("停车场管理系统使用说明\n");

printf("停车请输入1\n");

printf("取车请输入2\n");

printf("查看全部车辆的信息请输入3\n");

printf("退出请输入0\n");

}

/*初始化停车场信息初始状态为第一层已经停有4辆车,*其车位号依次为1

—4,停车时间依次为20,15,10,5*/

voidInit(structGaragegar[][6])

{

inti,j;/*给所有的车位的层号车位号初始化停车时间初始化为0停车位

全都初始化为空*/

for(i=0;i<2;i++)

{

for(j=0;j<6;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;i<4;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;i<2;i++)

{

for(j=0;j<6;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;i<6;i++)

{

if(gar[0][i].isempty==1)

{

printf("第一层第%d号车位空着请在此处停车\n",i+1);

strcpy(gar[0][i].carnum,num);

printf("车牌号%s层号1车位号%d\n",num,i+1);

AddTime(gar);/*在此之前停车的所有汽车时间加5*/

gar[0][i].isempty=0;/*表示该车为已经停车*/

gar[0][i].time=5;/*将时间设为5*/

return;

}

}

printf("第一层已经没有空车位\n");

for(i=0;i<6;i++)

{

if(gar[1][i].isempty==1)

{

printf("第二层第%d号车位空着请在此处停车\n",i+1);

strcpy(gar[1][i].carnum,num);

printf("车牌号%s层号2车位号%d\n",num,i+1);

AddTime(gar);/*在此之前停车的所有汽车时间加5*/

gar[1][i].isempty=0;/*表示该车位已经停车*/

gar[1][i].time=5;/*将时间设为5*/

return;

}

}

printf("对不起12层都没有空车位您现在不能在此停车\n");

}

/*查看所有车辆信息*/

voidInformation(structGaragegar[][6])

{

inti,j;

printf("车牌号层号车位号停车时间\n");

for(i=0;i<2;i++)

{

for(j=0;j<6;j++)

{

if(gar[i][j].isempty==0)

printf("%s%8d%8d%8d\n",gar[i][j].carnum,gar[i][j].lay,

gar[i][j].garagenum,gar[i][j].time);

}

}

printf("\n");

}

/*取车模块*/

doubleLeave(structGaragegar[2][6])

{

inti,j;

charnum[8];

doublecharge=0;

printf("请输入要取的车牌号");

scanf("%s",num);

for(i=0;i<2;i++)

{

for(j=0;j<6;j++)

{

if(!

strcmp(gar[i][j].carnum,num))

{

printf("您在%d层%d车位停车%d分钟\n",gar[i][j].lay,

gar[i][j].garagenum,gar[i][j].time);

charge=gar[i][j].time/5*0.2;

printf("停车费用为每5分钟0.2元您需交%.2lf元\n",charge);

gar[i][j].isempty=1;

returncharge;

}

}

}

printf("没有您输入的车号。

\n\n");

returncharge;

}

/*是否查看总收入*/

voidIsPrintTotal(doubletotal)

{

charch;

printf("是否查看停车收费总计Y/N");

scanf("%c",&ch);

while(ch!

='y'&&ch!

='Y'&&ch!

='n'&&ch!

='N')

{

printf("请输入Y或N");

scanf("%c",&ch);

printf("\n");

}

switch(ch)

{

case'Y':

case'y':

printf("停车收费总计为%.2lf元\n",total);

break;

case'N':

case'n':

break;

}

}

/*主函数模块*/

main()

{

intchoice;

doubletotal=0;

structGaragegar[2][6];

Init(gar);/*初始化第一层已经停有的4辆车*/

while

(1)

{

Instruction();

printf("请输入要进行的操作:

");

scanf("%d",&choice);

while(choice<0||choice>3)

{

printf("输入的不合法请输入0-3选择");

scanf("%d",&choice);

}

switch(choice)

{

case1:

Park(gar);

break;

case2:

total+=Leave(gar);

IsPrintTotal(total);

break;

case3:

Information(gar);

break;

case0:

exit(0);

}

}

return0;

}

四、运行与测试

5、总结与思考

两个星期的努力终于总算把课程设计给完成了。

这是一个坚苦而又漫长的过程。

看着辛苦得来的劳动成果很是欣慰。

刚开始可以说是一点头绪都没有于是就去图书馆找资料。

找到了一些关于停车场管理系统的。

可是这点进展却远远不够。

这只是一个小小的开始。

下一步是上网。

查找到了些与这个题目相似的,可以从中吸取一些知识。

又查到了些有关这方面的函数。

最后经过奋战终于完成了这个程序。

虽然设计程序很累。

可是当设计结束时真是别有一番滋味在心头。

世上无难事只怕有心人。

此次课程设计我受益匪浅,学会了很多,也知道了自己需要需要学的更多,同时,我也爱上了C,体会到了它的奇妙,实在是觉得它是一门大学问,它所蕴含的知识自己永远也学不完,唯有不断奋进,不断进步。

 

 

欢迎您的下载,

资料仅供参考!

 

致力为企业和个人提供合同协议,策划案计划书,学习资料等等

打造全网一站式需求

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2