C程序课程设计停车场管理系统.doc
《C程序课程设计停车场管理系统.doc》由会员分享,可在线阅读,更多相关《C程序课程设计停车场管理系统.doc(9页珍藏版)》请在咨信网上搜索。
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; 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(struct Garage gar[][6]) { int i, j; for (i=0; i<2; i++) { for (j=0; j<6; j++) { if (gar[i][j].isempty == 0) { gar[i][j].time += 5; } } } } /*停车模块*/ void Park(struct Garage gar[][6]) { int i; 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("对不起1 2层都没有空车位您现在不能在此停车\n"); } /*查看所有车辆信息*/ void Information(struct Garage gar[][6]) { int i, 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"); } /*取车模块*/ double Leave(struct Garage gar[2][6]) { int i, j; charnum[8]; double charge = 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; return charge; } } } printf("没有您输入的车号。\n\n"); return charge; } /*是否查看总收入*/ voidIsPrintTotal(double total) { 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() { int choice; double total = 0; struct Garage gar[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) { case 1: Park(gar); break; case 2: total += Leave(gar); IsPrintTotal(total); break; case 3: Information(gar); break; case 0: exit(0); } } return 0; } 四、运行与测试 五、 总结与思考 两个星期的努力终于总算把课程设计给完成了。这是一个坚苦而又漫长的过程。看着辛苦得来的劳动成果很是欣慰。刚开始可以说是一点头绪都没有于是就去图书馆找资料。找到了一些关于停车场管理系统的。可是这点进展却远远不够。这只是一个小小的开始。下一步是上网。查找到了些与这个题目相似的,可以从中吸取一些知识。又查到了些有关这方面的函数。最后经过奋战终于完成了这个程序。虽然设计程序很累。可是当设计结束时真是别有一番滋味在心头。世上无难事只怕有心人。此次课程设计我受益匪浅,学会了很多,也知道了自己需要需要学的更多,同时,我也爱上了C,体会到了它的奇妙,实在是觉得它是一门大学问,它所蕴含的知识自己永远也学不完,唯有不断奋进,不断进步。- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序 课程设计 停车场 管理 系统
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【人****来】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【人****来】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【人****来】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【人****来】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文