版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Xxxxx大学xxxxxxxxxxx 系20xx-20xx学年第一学期C程序设计课程设计题目名称: 停车场管理系统设计姓 名:学 号:班 级:指导教师 :编写日期:20 年1月5日一20 年1月31日成绩:目录(一)需求分析 错误! 未定义书签1- 1 停车 错误! 未定义书签1- 2 取车 错误! 未定义书签1- 3 功能的选择 错误! 未定义书签(二)总体设计(程序设计组成框图) 错误! 未定义书签2- 1 停车模块 错误! 未定义书签2- 2 取车模块 错误! 未定义书签2- 3 车辆信息浏览模块 错误! 未定义书签2-4 程序设计组成框图 错误! 未定义书签(三)详细设计 错误! 未定
2、义书签3- 1 停车场分析 错误! 未定义书签3- 2 停车操作 错误! 未定义书签3- 3 收费管理(取车) 错误! 未定义书签3-4 车辆信息 错误! 未定义书签3-5 退出系统 错误! 未定义书签(四)程序运行结果测试与分析 错误! 未定义书签(五)结论与心得 错误! 未定义书签(六)参考文献 错误! 未定义书签(七)致谢 . 错误!未定义书签附录: . 错误! 未定义书签一)需求分析1- 1 停车车辆信息要用文件存储,因而要提供文件的输入输出操作。1-2 取车当车离开时,要删除文件中 该车的信息, 因而要提供文件的删除操作。1-3 功能的选择提供现实操作和用键盘式菜单实现功能选择。(二
3、)总体设计(程序设计组成框图)2-1 停车模块对车辆信息赋值, 分配前检查车位使用情况 (按行查找 park 数组,元素为 0 表示车位 为空,则允许分配) 。把新添加的车辆信息以追加的方式写入汽车 信息文件,并更改汽车信 息文件中其他汽车信息的停车时间 (停车时间加 5) 。2-2 取车模块计算费用(停车费用 =停车时间 * 元) ,从文件中删除该车信息。并将该车 位对应的 二位数组变量设为 0 ,表示该车位可用。输出提示信息:是否输出停 车费用总计( Y/N) 如果选择 Y ,则输出停车费用,否则回到上级菜单。2- 3车辆信息浏览模块输出车辆信息文件中的记录。另外,用户按Esc键退出系统。
4、2-4程序设计组成框图(三)详细设计3-1停车场分析有一个两层的停车场,每层有6个车位,当第一层车停满后才允许使用第 二层。(停车场可用一个二维数组实现,每个数组元素存放一个车牌号)假设停车场初始状态为第一层已经停有 4辆车,其车位号依次为1 4,停 车时间依次为20, 15, 10,5 .即先将这四辆车的信息存入文件” ”中。(数组的对应元素也要进行赋值)3-2停车操作当一辆车进入停车场时,先输入其车牌号,再为它分配一个层号和一个车 位号(分配前先查询车位的使用情况,如果第一层有空则必须停在第一层),停 车时间设为 5 , 最后将新停入的汽车的信息添加文件”中 , 并将在此之前的 所有车的停
5、车时间加 5。3- 3 收费管理(取车)当有车离开时 , 输入其车牌号 , 先按其停车时间计算费用 , 每 5 分钟元 . ( 停车费用可设置一个变量进行保存 ), 同时从文件”中删除该车的信息 , 并 将该车对应的车位设置为可使用状态 ( 即二维数组对应元素清零 ). 按用户的选 择来判断是否要输出停车收费的总计。3-4 车辆信息输出停车场中全部车辆的信息。3-5 退出系统退出系统。(四)程序运行结果测试与分析系统初始运行时,会显示如图 4-1 所示的输入界面,用户可以根据提示, 进行相应的选择,来完成系统提供的各种功能。根据系统提示提示用户选择相 应的数字键,按ENTE键后进入相应的功能菜
6、单。如下图 4-2是输入1显示停 车以及所需用户的车牌号输入后按ENTER键进入所要放车的停车位菜单,其中包含了系统分配的层号和一个车位号即图 4-3下面即为此程序执行此功能时的截图:图 4-1 输 入 界 面图 4-2 输入 1 和车牌号界面图 4-3 详细信息界面(五)结论与心得通过这次实习,让我初步有了编写小系统的能力,我对很多的函数有了新 的认识,也学会了运用多种函数,也明白了编写软件的基本过程和基本方法。 编写软件的过程中我又学到了曾经自己不知道的函数或是自己不会的函数的用 法。这次课程设计课总的来说让我受益匪浅。在软件的设计过程中遇到了很多的困难。在软件一次一次的调试失败下, 曾经
7、想过要放弃。我最后还是坚持了下来,毫不畏惧困难,在一起讨论论证到 底是用什么函数,什么样的循环来最简单的实现程序的功能,经过几个日夜的 努力我总算是顺利的完成了软件的设计。在程序的编写过程中我发现有很多的知识漏洞和缺陷,需要进一步努力学 习来巩固完善自己的知识面。在这几天的编写过程中我对 c 语言有了更进一步 的认识和了解。此次编程过程的经验和知识肯定能促进我以后的学习,更是对 我今后参加电子设计类软件编程大赛有较大的帮助(六)参考文献1 谭浩强,C程序设计(第四版),北京:清华大学出版社,2 (七)致谢能够完成这次课程设计要感谢 c 语言课程的老师,感谢老师的悉心教导,帮 助改错,还要感谢各
8、位同学的帮助,我会继续努力的。附录:程序源代码:#include #include #include struct Garagechar carnum8; /* 车牌号 */ int lay; ay = i+1;garij.garagenum = j+1; garij.time = 0; garij.isempty = 1;/* 第一层的 1-4 号车位停车 */for (i=0; i4; i+) gar0i.isempty =0; strcpy(gar00.carnum, 0000); /*初始化的车牌号 */gar00.time = 20;strcpy(gar01.carnum, 1111
9、); gar01.time = 15;strcpy(gar02.carnum, 2222); gar02.time = 10;strcpy(gar03.carnum, 3333); gar03.time = 5;/* 新停入的汽车后,将在此之前的所有车的停车时间加 5*/ void AddTime(struct Garage gar6) int i, j; for (i=0; i2; i+) for (j=0; j6; j+) if (garij.isempty = 0) garij.time += 5; /* 停车 */void Park(struct Garage gar6) int i;
10、 char num8;printf( 请输入车牌号: ); scanf(%s, num);for (i=0; i6; i+) if (gar0i.isempty = 1) printf( 第一层第号车位空着,请在此处停车n, i+1); strcpy(gar0i.carnum, num);printf(车牌号:%s 层号:1 车位号:%d n, num, i+1);AddTime(gar); /* 在此之前停车的所有汽车时间加 5*/ gar0i.isempty = 0; /* 表示该车为已经停车 */ gar0i.time = 5; /* 将时间设为 5*/ return; printf(
11、第一层已经没有空车位 n);for (i=0; i6; i+)if (gar1i.isempty = 1) printf( 第二层第d号车位空着,请在此处停车n, i+1); strcpy(gar1i.carnum, num);printf( 车牌号: %s 层号: 2 车位号: %d n, num ,i+1);AddTime(gar); /* 在此之前停车的所有汽车时间加 5*/ gar1i.isempty = 0; /* 表示该车位已经停车 */ gar1i.time = 5; /* 将时间设为 5*/ return;n);printf( 对不起, 1 2 层都没有空车位,您现在不能在此停
12、车 /* 查看所有车辆信息 */void Information(struct Garage gar6) int i, j;printf( 车牌号 层号 车位号 停车时间 n);for (i=0; i2; i+) for(j=0; j6; j+) if (garij.isempty = 0)printf( %s%8d%8d%8dn, garij.carnum, garij.garagenum, garij.time);printf(n);/* 取车 */ double Leave(struct Garage gar26)int i, j; char num8;double charge = 0
13、;printf( 请输入要取的车牌号: ); scanf(%s, num);for (i=0; i2; i+) for (j=0; j6; j+) if (!strcmp(garij.carnum, num) printf( 您 在 %d 层 %d 车 位 停 车 %d 分 钟 n, garij.garagenum, garij.time);charge = garij.time/5*;printf( 停车费用为每 5 分钟元,您需交 %.2lf 元 n, charge); garij.isempty = 1;return charge;printf( 没有您输入的车号。 nn);return
14、 charge;garij.lay,garij.lay,/* 是否查看总收入 */ void IsPrintTotal(double total)char ch;printf( 是否查看停车收费总计 Y/N);scanf(%c, &ch);while (ch!=y & ch!=Y & ch!=n & ch!=N) printf( 请输入 丫 或 N );scanf(%c, &ch);printf(n);switch (ch)case 丫:case y:printf(停车收费总计为.2lf元n, total);break;case N:case n:break;main() int choice;double total = 0;struct Garage gar26;Init(gar); / 初始化第一层已经停有的 4 辆车while (1) Instruction();printf( 请输入要进行的操作 :);scanf(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 47189-2026油井水泥浆体弹性模量试验方法
- 宫腔镜下子宫内膜息肉摘除术后护理查房
- 肱骨内固定装置去除术后护理查房
- 根治性颈淋巴结清扫术后护理查房
- 风险评估与应对措施规划手册
- 餐饮服务业食品安全操作指导书
- 供应链环节责任管理品质保障承诺书范文3篇
- 行业文档归档与检索管理工具
- 辽宁省铁岭市达标名校2026届初三下学期月考二英语试题含解析
- 浙江省仙居县2025-2026学年初三零模语文试题含解析
- 《医学影像检查技术学》课件-足X线摄影
- 黄金冶炼项目可行性研究报告
- 第15课《十月革命与苏联社会主义建设》中职高一下学期高教版(2023)世界历史全一册
- GB/T 11981-2024建筑用轻钢龙骨
- 2024年高等教育文学类自考-06216中外建筑史考试近5年真题集锦(频考类试题)带答案
- 《AutoCAD 2023基础与应用》 课件全套 劳动 项目1-8 AutoCAD 2023 入门、绘制简单平面图形-综合实训
- 缠论-简单就是美
- 教师读书分享《做温暖的教育者》
- QCT1177-2022汽车空调用冷凝器
- 2.1科学探究感应电流的方向课件-高二物理(2019选择性)
- 2024陆上风电场安全生产标准化实施规范
评论
0/150
提交评论