C语言课程设计停车场管理系统.doc_第1页
C语言课程设计停车场管理系统.doc_第2页
C语言课程设计停车场管理系统.doc_第3页
C语言课程设计停车场管理系统.doc_第4页
C语言课程设计停车场管理系统.doc_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C语言课程设计题 目 停车场管理系统指导教师 曹东燕学生姓名 张成 王青岳 魏鑫学 号 201100805098 201100805102 201100805096专 业 电子信息工程教学单位 物理系 (盖章) 目 录1设计内容与设计要求 11.1系统功能简介 11.2系统运行环境 12功能划分,模块详细说明 13程序流程图 24运行的运行及说明 34.1系统的运行 34.2运行说明 75总结 7附件:源程序清单71设计内容与设计要求1.1系统功能简介n 系统有简洁明了的菜单界面,用户可以通过输入简单的选项来完成相应的工作。n 用户可以选择1,2,3,4分别进行相应的操作,统一查看,统一输出。n 此停车场管理系统停车场管理系统 (1) 有一个两层的停车场, 每层有6个车位, 当第一层车停满后才允许使用第二层. ( 停车场可用一个二维数组实现, 每个数组元素存放一个车牌号 ) 每辆车的信(2) 假设停车场初始状态为第一层已经停有4辆车, 其车位号依次为14 , 停车时间依次为20, 15, 10 , 5 . 即先将这四辆车的信息存入文件”car.dat”中( 数组的对应元素也要进行赋值 )(3) 停车操作: 当一辆车进入停车场时, 先输入其车牌号, 再为它分配一个层号和一个车位号(分配前先查询车位的使用情况, 如果第一层有空则必须停在第一层), 停车时间设为5 , 最后将新停入的汽车的信息添加文件”car.dat”中, 并将在此之前的所有车的停车时间加5.(4) 收费管理(取车): 当有车离开时, 输入其车牌号, 先按其停车时间计算费用, 每5分钟0.2元. (停车费用可设置一个变量进行保存), 同时从文件”car.dat”中删除该车的信息, 并将该车对应的车位设置为可使用状态(即二维数组对应元素清零). 按用户的选择来判断是否要输出停车收费的总计.(5) 输出停车场中全部车辆的信息.(6) 退出系统.n1.2系统运行环境n Vc+6.0下运行,硬件基本无要求,现在的计算机系统基本都可以运行该系统。 4系统的运行及说明4.1系统的运行系统初始运行时,会显示如图4-1所示的输入界面,用户可以根据提示,进行相应的选择,来完成系统提供的各种功能。 图4-1输入界面根据系统提示提示用户选择相应的数字键,按ENTER键后进入相应的功能菜单。如下图4-2是输入1,显示停车以及所需用户的车牌号输入后按ENTER键进入所要放车的停车位菜单,其中包含了系统分配的层号和一个车位号。下面即为此程序执行此功能时的截图: 图4-2输入1和车牌号界面 停车场管理系统 查看全部车辆信息 退出 停车取车 4.2运行说明首先打开软件,根据给出的信息输入相应的功能模块数字,输入完毕后按“ENTER”键进入,再根据提示执行相应的操作,程序使用完毕后输入数字0退出程序。5总结通过这次实习,让我们初步有了编写小系统的能力,我们对很多的函数有了新的认识,也学会了运用多种函数,也明白了编写软件的基本过程和基本方法。编写软件的过程中我们又学到了曾经自己不知道的函数或是自己不会的函数的用法。这次课程设计课总的来说让我受益匪浅。在软件的设计过程中遇到了很多的困难。在软件一次一次的调试失败下,曾经想过要放弃。我们小组成员最后还是坚持了下来,毫不畏惧困难,在一起讨论论证到底是用什么函数,什么样的循环来最简单的实现程序的功能,经过几个日夜的努力我们总算是顺利的完成了软件的设计。在程序的编写过程中我们发现有很多的知识漏洞和缺陷,需要进一步努力学习来巩固完善自己的知识面。在这几天的编写过程中我们对c语言有了更进一步的认识和了解。此次编程过程的经验和知识肯定能促进我以后的学习,更是对我今后参加电子设计类软件编程大赛有较大的帮助。 附件:源程序清单 #include #include #include struct Garage char carnum8; /*车牌号*/ int lay; /层号 int garagenum; /*车位号*/ int time; /*停车时间*/int isempty; /*该车位是否为空,1表示空,0表示有车*/;/*打印使用说明*/void Instruction() printf( 停车场管理系统使用说明n); printf( 停车请输入 1 取车请输入 2 n); printf( 查看全部车辆的信息请输入 3 退出请输入 0 n); /*初始化停车场信息,初始状态为第一层已经停有4辆车, * 其车位号依次为1-4 , 停车时间依次为20, 15, 10 , 5 */void Init(struct Garage gar6) int i, j; /*给所有的车位的层号,车位号初始化,停车时间初始化为0,停车位全都初始化为空*/ for (i=0; i2; i+) for (j=0; j6; j+) garij.lay = 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); 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; char num8;printf(请输入车牌号:); scanf(%s, num); for (i=0; i6; i+) if (gar0i.isempty = 1) printf(第一层第%d号车位空着,请在此处停车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(第一层已经没有空车位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; printf(对不起,1 2层都没有空车位,您现在不能在此停车n);/*查看所有车辆信息*/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.lay, garij.garagenum, garij.time); printf(n);/*取车*/double Leave(struct Garage gar26) int i, j; char num8; double charge = 0; 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.lay, garij.garagenum, garij.time);charge = garij.time/5*0.2; printf(停车费用为每5分钟0.2元,您需交%.2lf元n, charge); garij.isempty = 1; return charge; printf(没有您输入的车号。nn);return charge;/*是否查看总收入*/void IsPrintTotal(double total) char ch; 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 gar26; Init(gar); /初始化第一层已经停有的4辆车 while (1) Instruction(); printf(请输入要进行的操作:); scanf(%d, &choice); while (choice3) 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;袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论