大学 C语言 停车场管理系统 设计c语言课程设计 含调试图.docx
- 文档编号:6836199
- 上传时间:2023-01-11
- 格式:DOCX
- 页数:12
- 大小:175.62KB
大学 C语言 停车场管理系统 设计c语言课程设计 含调试图.docx
《大学 C语言 停车场管理系统 设计c语言课程设计 含调试图.docx》由会员分享,可在线阅读,更多相关《大学 C语言 停车场管理系统 设计c语言课程设计 含调试图.docx(12页珍藏版)》请在冰豆网上搜索。
大学C语言停车场管理系统设计c语言课程设计含调试图
Xxxxx大学
xxxxxxxxxxx系
20xx-20xx学年第一学期
《C程序设计》课程设计
题目名称:
停车场管理系统设计
姓名 :
学 号:
班 级 :
指导教师 :
编写日期 :
20年1月5日-20 年1月31日
成绩:
目录
(一)需求分析ﻩ3
1-1停车3
1-2取车ﻩ3
1—3功能得选择3
(二)总体设计(程序设计组成框图)3
2-1停车模块ﻩ3
2-3车辆信息浏览模块4
2-4程序设计组成框图4
(三)详细设计4
3-1停车场分析4
3-2停车操作4
3-5退出系统5
(四)程序运行结果测试与分析5
(五)结论与心得ﻩ7
(六)参考文献7
(七)致谢8
(一)需求分析
1-1停车
车辆信息要用文件存储,因而要提供文件得输入输出操作。
1—2取车
当车离开时,要删除文件中 该车得信息,因而要提供文件得删除操作。
1-3功能得选择
提供现实操作与用键盘式菜单实现功能选择。
(二)总体设计(程序设计组成框图)
2-1停车模块
对车辆信息赋值,分配前检查车位使用情况(按行查找 park数组,元素为0表示车位为空,则允许分配)。
把新添加得车辆信息以追加得方式写入汽车信息文件,并更改汽车信 息文件中其她汽车信息得停车时间(停车时间加 5) 。
2—2取车模块
计算费用(停车费用=停车时间*0、2元),从文件中删除该车信息.并将该车位对应得二位数组变量设为 0,表示该车位可用.输出提示信息:
就是否输出停车费用总计?
(Y/N)如果选择Y,则输出停车费用,否则回到上级菜单。
2-3车辆信息浏览模块
输出车辆信息文件中得记录。
另外,用户按Esc键退出系统.
2-4程序设计组成框图
(三)详细设计
3-1停车场分析
有一个两层得停车场,每层有6个车位,当第一层车停满后才允许使用第二层.(停车场可用一个二维数组实现,每个数组元素存放一个车牌号 )
假设停车场初始状态为第一层已经停有4辆车,其车位号依次为1—4 ,停车时间依次为20,15,10,5、 即先将这四辆车得信息存入文件”car、dat”中。
(数组得对应元素也要进行赋值 )
3-2停车操作
当一辆车进入停车场时,先输入其车牌号, 再为它分配一个层号与一个车位号(分配前先查询车位得使用情况, 如果第一层有空则必须停在第一层),停车时间设为5, 最后将新停入得汽车得信息添加文件”car、dat"中,并将在此之前得所有车得停车时间加5。
3—3收费管理(取车)
当有车离开时, 输入其车牌号,先按其停车时间计算费用,每5分钟0、2元、(停车费用可设置一个变量进行保存), 同时从文件”car、dat”中删除该车得信息,并将该车对应得车位设置为可使用状态(即二维数组对应元素清零)、按用户得选择来判断就是否要输出停车收费得总计。
3—4车辆信息
输出停车场中全部车辆得信息。
3-5退出系统
退出系统.
(四)程序运行结果测试与分析
系统初始运行时,会显示如图4-1所示得输入界面,用户可以根据提示,进行相应得选择,来完成系统提供得各种功能.根据系统提示提示用户选择相应得数字键,按ENTER键后进入相应得功能菜单。
如下图4-2就是输入1,显示停车以及所需用户得车牌号输入后按ENTER键进入所要放车得停车位菜单,其中包含了系统分配得层号与一个车位号即图4-3
下面即为此程序执行此功能时得截图:
图4-1输入界面
图4-2输入1与车牌号界面
图4—3详细信息界面
(五)结论与心得
通过这次实习,让我初步有了编写小系统得能力,我对很多得函数有了新得认识,也学会了运用多种函数,也明白了编写软件得基本过程与基本方法。
编写软件得过程中我又学到了曾经自己不知道得函数或就是自己不会得函数得用法。
这次课程设计课总得来说让我受益匪浅。
在软件得设计过程中遇到了很多得困难。
在软件一次一次得调试失败下,曾经想过要放弃。
我最后还就是坚持了下来,毫不畏惧困难,在一起讨论论证到底就是用什么函数,什么样得循环来最简单得实现程序得功能,经过几个日夜得努力我总算就是顺利得完成了软件得设计.
在程序得编写过程中我发现有很多得知识漏洞与缺陷,需要进一步努力学习来巩固完善自己得知识面.在这几天得编写过程中我对c语言有了更进一步得认识与了解。
此次编程过程得经验与知识肯定能促进我以后得学习,更就是对我今后参加电子设计类软件编程大赛有较大得帮助
(六)参考文献
[1]谭浩强,《C程序设计(第四版)》,北京:
清华大学出版社,2010、6
[2]
(七)致谢
能够完成这次课程设计要感谢c语言课程得老师,感谢老师得悉心教导,帮助改错,还要感谢各位同学得帮助,我会继续努力得。
附录:
程序源代码:
#include #include<string、h> #include<stdlib、h〉 structGarage { charcarnum[8];/*车牌号*/ intlay;//层号 int garagenum;/*车位号*/ inttime; /*停车时间*/ intisempty;/*该车位就是否为空,1表示空,0表示有车*/ };/*打印使用说明*/ void Instruction() {printf("停车场管理系统使用说明\n”); printf("停车请输入1取车请输入2\n”); printf("查瞧全部车辆得信息请输入3退出请输入 0 \n”); }/*初始化停车场信息,初始状态为第一层已经停有4辆车,* 其车位号依次为1—4,停车时间依次为20,15,10 ,5*/ voidInit(structGarage gar[][6]) { int i, 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; char num[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(struct Garage gar[][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]) { int i, 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"); return charge; } /*就是否查瞧总收入*/ 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; struct Garagegar[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; case 0: exit(0); } } return0; }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大学 C语言 停车场管理系统 设计c语言课程设计 含调试图 语言 停车场 管理 系统 设计 课程设计 调试