泊车管理课程设计报告_第1页
泊车管理课程设计报告_第2页
泊车管理课程设计报告_第3页
泊车管理课程设计报告_第4页
泊车管理课程设计报告_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

1、应用技术学院课 程 设 计 报 告课程名称: c语言课程设计 课题名: 泊车管理 专 业: 电气工程 班 级:0783班 学 号:200713010325 姓 名 :袁思 指导教师: 王颖 2007年 3 月 20日湖南工程学院课 程 设 计 任 务 书课程名称: c语言程序设计 课 题: 泊车管理 专业班级: 电气工程 学生姓名: 袁思 学 号: 200713010325 指导老师: 王颖 审 批: 任务书下达日期:2007 年3月15日任务完成日期:2007 年 3 月24 日 前 言c语言程序设计课程设计是对学生的一种全面综合训练,它包括问题分析,总体结构设计,用户界面设计,程序设计基本

2、技能和技巧,多人合作,以至一整套软件工作规范的训练和科学作风的培养。是与课堂听讲、自学和练习相辅相成的必不可少的一个教学环节。通常,课程设计的课题比平时的习题复杂得多,也更接近实际。课程设计着眼于与应用的结合点,使学生学会如何把书上学到的知识用于解决实际问题,培养软件工作所需要的动手能力;另一方面,能使书上的知识变“活”,使学生更好地深化理解和灵活掌握教学内容。为了达到上述目的,本课程设计安排了十五个设计课题,训练重点在于基本的程序设计方法和分析问题的能力,而不强调面面俱到。学生可任选其中一题进行设计,设计完毕写出课程设计报告,用a4纸打印成册;并将课程设计报告与源程序存盘。学习委员将课程设计

3、报告与磁盘(缺一不可)收齐后交指导老师。一、目的全面熟悉、掌握c语言基本知识,掌握c程序设计中的顺序、分支、循环三种结构及数组、函数和c语言基本图形编程等方法,把编程和实际结合起来,增强对不同的问题运用和灵活选择合适的数据结构以及算法描述的本领,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用计算机解决实际问题的能力,养成提供文档资料的习惯和规范编程的思想,为以后在专业课程中应用计算机系统解决计算、分析、实验和设计等学习环节打下较扎实的基础。二、基本情况课程类别:必修课课程学分:1学分课程学时:1周课程对象:电气工程0781、0782、0783、0784、

4、0785、0786三、时间安排时间 任务2008-3-8下午3:40-5:40指导老师给学生布置课程设计的任务及要求2008-3-10到2008-3-15学生根据设计任务及要求,对系统进行需求分析、概要设计和详细设计,并在此基础上编写程序代码 学生提交系统程序清单初稿上机调试程序修改并完善程序并上机调试程序 2008-3-16接受指导老师的验收2008-3-16到2008-3-22书写程序设计报告2008-3-25提交课程设计报告 设计和调试过程规范化要求1)需要分析分析系统功能需求以及用户操作流程。2)概要设计在需求分析的基础上,确定系统总体框架(系统功能结构图)。3)详细设计定义数据储存结

5、构,并设计实现系统功能的具体算法,画出各算法的工作流程图。4)代码设计根据所设计的算法,定义相应函数分别实现系统的各子功能模块,同时由主程序提供友好的用户界面,使用户可通过选择主菜单来调用课程设计中要求完成的各个功能模块,子程序执行完后还可以返回到主菜单,继续选择其他功能执行。源程序要求书写规范,结构清晰。重点函数的重点变量。重点功能部分均要求给出清晰的程序注释。5)程序调试程序编译、链接成功后,自己设计实现程序功能的一组或多组测试数据,并严格按照此测试数据进行测试,然后分析测试结果。如果程序不能正常进行或结果不正确,则需对程序进行单步调试,在调试过程中认真查找算法实现中存在的问题,并加以分析

6、和改正。如果程序能够基本正确地运行,可考虑增加若干基本的容错功能;另外尽量对现有的算法给出改进方案,并比较不同算法之间的优缺点。设计报告及书写内容要求课程设计任务完成后,每位同学必须独立书写一份课程设计报告,注意:不得抄袭他人的报告(或给他人抄袭),一旦发现,成绩为零分。课程设计报告的内容应包括以下五个部分:1) 需求分析:包括设计题目、设计要求以及系统功能需求分析;2) 概要设计:包括系统总体设计框架和系统功能模块图;3) 详细设计:包括主要功能模块的算法设计思路以及对应的工作流程图;4) 主要源程序代码:包括存储结构设计说明,以及完整源程序清单;5) 调试分析过程描述:包括测试数据、测试输

7、出结果,以及对程序调试过程中存在问题的思考(列出主要问题的出错现象、出错原因、解决方法及效果等);6) 总结:包括课程设计过程中的学习体会和收获、对c语言和本次课程设计的认识以及自己的建议等内容。7) 书写格式严格按所附要求书写。附1:l 课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(a4大小的图纸及程序清单)。 l 正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。l 正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现(至少要有一个主要模块的流程图);四、程序调试;五、总结;六、附件(所有程序的原代

8、码,要求对程序写出必要的注释)。正文总字数要求在5000字以上(不含程序原代码)。 目录 需求分析-8 设计题目 设计要求 设计大纲 系统的功能要求 概要分析-10 系统的主要功能 详细设计-10 各函数的功能 函数流程图主函数流程图泊车函数流程图取车函数流程图 调试-20程序运行界面测试数据总结-21附录-23 参考文献 源程序及其注释 评分表 课程设计正文档 一、课程设计题目 停车场泊车计费管理系统的设计与实现二、设计内容及要求1、 要求整个系统均用c语言实现 2、 系统的各个功能模块都用函数的形式来实现 3、 系统要求有泊车、取车和退出功能,并且能根据泊车和取车时间进行计费,计费标准 0

9、.08元分钟。三、设计大纲 一、问题描述: 对一个有n便道的泊车场。该系统实现对泊车场的泊车、取车、查询、泊车费用的计算等操作的管理。二、 功能要求: 1本系统采用一个结构体数组,每个数组的结构体应当包括:车牌号、泊车时间、取车时间、相关费率。 2本系统显示这样的菜单: (1)设置车位数。 (2)泊车:记录所停车位数,车牌号码。 (3)取车:清空该车位,清除对应车位原有信息。 (4)查询:可以查询末车位的状态,总共剩余空车位及某车是否停在泊车内。 (5)泊车费用计算:记录泊车时间,了解相关费率,进行计算。 3执行一个具体的功能后,程序将重新显示菜单。 4将停车场所有相关数据保存到文件中。三、算

10、法提示: 1数据结构:结构体类型数组。 2数据库结构:下表构成系统的基本数据库。 车牌号 泊车时间 取车时间 相关费率 int float float float四、测试数据:车牌号:12458泊车时间:8:10取车时间:12:10相关费率:?费用: ?五、其它 对该系统有兴趣的同学 可以在实现上述基本功能后,完善系统的其它功能四、系统的功能要求:a) 停车场有16个便道,每个便道上有3个等候泊车的车位。 b) 泊车时要求输入车牌号和泊车开始时间。c) 如果停车场无空位泊车,则需在便道上等候泊车车位;只有当车辆取走腾出空车位时才可进入停车场。 d) 如果便道上已停满车,则显示相关提示信息不能泊

11、车。 e) 取车时依据车牌号进行,同时要求输入取车时间并计算出泊车费用。 五、系统的主要功能停车场泊车管理系统实现对车辆的停泊、取回、查询、泊车费用的计算等操作的管理。查询函数又主要包括查询便道是否拥挤,车辆是否在停车场内等子函数。泊车费用的计算函数则通过相应的泊车费率与系统所纪录的泊车时间来实现管理。根据相关的要求。我们采用一个结构体数组来定义每一辆车的信息结构。每一辆车的信息结构包括该车辆的车牌号(int)、该车辆的泊车时间(float)、该车辆的取车时间(float)、该车辆的相关费率(float)、该车辆的泊车费用(float)等。然后把它们组成一个有序的整体,作为该车辆的一个“数据库

12、”。以此来对所有的车辆进行统一的管理。六、各函数的功能:1) 程序的模块组成:主函数 main( ):泊车函数(car_park() ):按车牌寻找函数:取车函数(car_get():时间纪录函数:泊车费用计算函数2) 各个程序的主要功能:泊车函数:输入要停车辆的车牌号,且系统将自动纪录泊车时间(当前时,当前分)。按车牌寻找函数:输入自己车辆的车牌号,通过系统查询该车在车场的位置(几便道)。取车函数:输入要取车辆的车牌号,且系统将自动纪录取车时间(当前时,当前分)。且自动清除对应车位的原有信息。时间纪录函数;嵌套在泊车函数和取车函数中,纪录泊车和取车时间。泊车费用计算函数:通过系统显示相关的费

13、率与取车和泊车的时间差值的乘积计算出泊车的费用。七、课题的功能模块划分1) 流程图界面: 开始 菜单界面功能选项 能选项结束取车 泊车输入车牌号输入车牌号输入泊车时间输入取车时间主函数(main( ))流程图:开始 输出carn0carn1 carn2输出:“停车场”输出“=”n16 carsn0!=0 0 n 输出car carn0 输出“ ”carn0!=0n150 n输出“便道”x=1输出“泊车?取车?结束(1/2/3)”输入值=x n+1 n ncar_park( ) x=2 ncar_get()x=3 n exit(0) 结束 泊车函数(car_park(void))流程图:开始 0

14、 in16 ncarn0=0 n n+1 nn=16 n输出“便道很拥挤”输入任意字符输出:“泊车,请输入车牌:”输入值 o o mm16 ncarm0=0 nm+1 mm!=16 n输出“此车已泊”输入任意字符 0 carn0ncarn1 输入任意字符输出“请输入当前分”输入值=carn2结束取车函数流程图:开始输出:“取车请输入车牌”输入值=o 0 n nn16 ncarn0=o n+1 nn=16 n输出:“没有这个车牌”输入任意字符输出:“请输入当前时”输入值 p输出:“请输入当前分”输入值 q(p*60+q)-(carn1*60+carn2) r 输出:“停车:r分钟 合计:r *0

15、。08元” n rr15 ncarr+10 carr0 carr+10 carr0 carr+10 carr0 r+1 rp car151q car152输入任意值 结束 2)各个函数的说明 泊车函数:car_park( ) :本函数采用了两个for语句的循环结构,一个是用来判断便道是否拥挤,一个则是用来查询已占用的车位数,以此来确定可否再泊车。可以泊车,则将该车车牌(o)与停放车位carn相对应,对号入座。 按车牌查询函数,时间纪录函数:这两种函数并不单独使用,而是嵌套在泊车和取车函数中进行。查询函数通过for循环和if条件语句来得以实现。而时间纪录函数则通过地址符(&)与相应的车辆所在车位

16、(carn)链接。 取车函数 car_park( ):本函数采用if语句和return语句,通过确认车牌(o),再与相应的车位( carn )链接,从而达到取车的目的。系统还将通过新一轮的赋值把此空位移除。 费用计算函数:系统通过一个具体的数学公式计算出泊车的时间,再与费率(0.08)取积。八、程序调试:程序运行并链接的界面: 测试数据:车牌号:12458 泊车时间:8:00 取车时间:12:00 费率:0.08 泊车费用:? 九、总结 此次课程设计,我感慨颇多,的确,从从拿到题目到完成整个编程,从理论到实践,在整整一个多星期的日子里,我学到了很多很多的的东西,不仅巩固了以前所学过的知识,而且

17、学到了很多在书本上所没有学到过的知识,学会了好多常用语句的用法。通过这次课程设计还使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,比如说结构体数组通过这次课程设计之后,把以前所学过的知识重新温故。经过一个星期的上机实践学习,使我对c语言有了更进一步的认识和了解,要想学好它要重在实践,

18、要通过不断的上机操作才能更好地学习它,通过实践,我也发现我的好多不足之处,首先是自己在指法上还不行,经常按错字母,通过学习也有所改进;再有对c语言的一些标准库函数不太了解,还有对函数调用的正确使用不够熟悉,还有对c语言中经常出现的错误也不了解,通过实践,使我在这几个方面的认识有所提高。 通过实践的学习,我认识到学好计算机要重视实践操作,不仅仅是学习c语言,还是其它的语言,以及其它的计算机方面的知识都要重在实践,所以后在学习过程中,我会更加注视实践操作,使自己更好地学好这门专业课。编程是一件很枯燥很无聊的事情,但是出于完成作业,得到学分的压力,还必须强迫自己坚持下去,按照老师所说的模块化思想,分

19、部分的进行编写。而且编程是一件高精度、模范化的事情,稍有疏乎都会影响全局,也可能因为某一处的小的错误而导致整个程序的无法运行。所以认真仔细就是非常重要的了。开始的时候真的感觉编程是一件很无聊的事情,不过当一个程序运行成功的时候那种喜悦是无法言语的。昨天,我终于把累了一个星期的课程设计做完了。真的很累,连续多个晚上半夜12点后睡觉,早上7点整还要从床上爬起来签到。只要有时间都是对着电脑,要不就是翻阅资料。所以今天,看着自己的最终版本,身上的压力感,责任感也变得轻松了很多,整个人感觉就是轻松了很多,而且脸上的表情也由绷紧状态慢慢变得松弛,慢慢可以恢复昔日的微笑了。现在等待着老师的检查。但是,我在此

20、必须声明,这个程序有一个比较大的弊端,它不能通过检测车子的类别来确定相关的费率。这就必然导致了一定的不公平性。就如一辆东风大型货车和一辆奔奔小巧跑车,在泊车时间一样的的情况下,泊车费用却无任何差距。可大型货车却又占了相当于两辆奔奔跑车的空间。受此影响更大的还是停车场的经济效益。也因此他们可能不能有足够的资金去改善相应的系统。所以希望还有更好更完善的作品出现。c语言是一门很有用的课,在实际生活中被广泛运用。我们要学好它,重在实践操作,只有那样才能更好地熟悉它、理解它、使用它、驾御它。通过程序设计,我在各方面都有所提高,但我们不能停止前进的脚步,我们要学习的道路还很长很长,c语言是计算机“语言中的

21、语言”,它确实很深奥,所以它需要更多的耐心和毅力。最后我要感谢给过我帮助的指导老师和同学,有了你们我才会做的更好。附录参考文献:c语言课程程序设计 -谭浩强著c语言程序设计教程 -郭浩强著 源程序:#include /* i/o函数 */#include /* 屏幕操作函数 */#include /* 数据库函数 */ int cars163; /* 定义数组 */ void car_park(void) /* 泊车 */ int n,m,o; /* 定义整型变量 */ for(n=0;n16;n+) if(carsn0=0) break; /* 循环结构 */ if(n=16) printf

22、(n the shortcut is crowed.n); getch(); /* 输入任意字符 */ return; /* 返回菜单 */ printf(n park_please input the number of the car:); scanf(%d,&o); /* 输入车牌号 */ for(m=0;m16;m+) if(carsm0=o) break; /*查询已占用车位数 */ if(m!=16) printf(n the car is there.n); getch(); return; carsn0=o; /* 车牌与停放车位对应 */ if(n16) printf(ple

23、ase input the hour :); scanf(%d,&carsn1); /* 输入泊车时间 */ printf(please input the minute:); scanf(%d,&carsn2); return; else printf(n please wait ); getch(); /*输入字符 */ void car_get() /* 取车 */ int n,o,p,q,r; /* 定义变量 */ printf(n get_ please input the number of the car:); scanf(%d,&o); /* 输入车牌 */ for(n=0;n16;n+) if(carsn0=o) break; /*查询车位*/ if(n=16) printf(n the number is not exist n); getch(); /* 输入字符 */ return; /* 返回上级菜单目录 */ printf(please input the hour:); scanf(%d,&p); /* 输入取车时间 */ printf(please input the minute:); scanf(%d,&q); r=(p*60+q)-(carsn1*

温馨提示

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

评论

0/150

提交评论