泊车管理.docx
- 文档编号:6955336
- 上传时间:2023-01-13
- 格式:DOCX
- 页数:14
- 大小:142.74KB
泊车管理.docx
《泊车管理.docx》由会员分享,可在线阅读,更多相关《泊车管理.docx(14页珍藏版)》请在冰豆网上搜索。
泊车管理
应用技术学院
课程设计报告
课程名称C语言课程设计
课题名称泊车管理
专业电气工程与自动化
班级0783
学号10
姓名朱锦
指导教师王颖
2008年3月18日
前言
《C语言程序设计》课程设计是对学生的一种全面综合训练,它包括问题分析,总体结构设计,用户界面设计,程序设计基本技能和技巧,多人合作,以至一整套软件工作规范的训练和科学作风的培养。
是与课堂听讲、自学和练习相辅相成的必不可少的一个教学环节。
通常,课程设计的课题比平时的习题复杂得多,也更接近实际。
课程设计着眼于与应用的结合点,使学生学会如何把书上学到的知识用于解决实际问题,培养软件工作所需要的动手能力;另一方面,能使书上的知识变“活”,使学生更好地深化理解和灵活掌握教学内容。
为了达到上述目的,本课程设计安排了八个设计课题,训练重点在于基本的程序设计方法和分析问题的能力,而不强调面面俱到。
学生可任选其中一题进行设计,设计完毕写出课程设计报告,用A4纸打印成册;并将课程设计报告与源程序存盘。
学习委员将课程设计报告与磁盘(缺一不可)收齐后交指导老师。
一、目的
全面熟悉、掌握C语言基本知识,掌握C程序设计中的顺序、分支、循环三种结构及数组、函数和C语言基本图形编程等方法,把编程和实际结合起来,增强对不同的问题运用和灵活选择合适的数据结构以及算法描述的本领,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用计算机解决实际问题的能力,养成提供文档资料的习惯和规范编程的思想,为以后在专业课程中应用计算机系统解决计算、分析、实验和设计等学习环节打下较扎实的基础。
二、基本情况
课程类别:
必修课
课程学分:
1学分
课程学时:
1周
课程对象:
电气工程0781、0782、0783、0784、0785、0786
三、时间安排
时间
任务
2008-3-8下午3:
40-5:
40
指导老师给学生布置课程设计的任务及要求
2008-3-10到2008-3-15
学生根据设计任务及要求,对系统进行需求分析、概要设计和详细设计,并在此基础上编写程序代码
学生提交系统程序清单初稿
上机调试程序
修改并完善程序并上机调试程序
2008-3-16
接受指导老师的验收
2008-3-16到2008-3-22
书写程序设计报告
提交课程设计报告
设计和调试过程规范化要求
1)需要分析
分析系统功能需求以及用户操作流程。
2)概要设计
在需求分析的基础上,确定系统总体框架(系统功能结构图)。
3)详细设计
定义数据储存结构,并设计实现系统功能的具体算法,画出各算法的工作流程图。
4)代码设计
根据所设计的算法,定义相应函数分别实现系统的各子功能模块,同时由主程序提供友好的用户界面,使用户可通过选择主菜单来调用课程设计中要求完成的各个功能模块,子程序执行完后还可以返回到主菜单,继续选择其他功能执行。
源程序要求书写规范,结构清晰。
重点函数的重点变量。
重点功能部分均要求给出清晰的程序注释。
5)程序调试
程序编译、链接成功后,自己设计实现程序功能的一组或多组测试数据,并严格按照此测试数据进行测试,然后分析测试结果。
如果程序不能正常进行或结果不正确,则需对程序进行单步调试,在调试过程中认真查找算法实现中存在的问题,并加以分析和改正。
如果程序能够基本正确地运行,可考虑增加若干基本的容错功能;另外尽量对现有的算法给出改进方案,并比较不同算法之间的优缺点。
设计报告及书写内容要求
课程设计任务完成后,每位同学必须独立书写一份课程设计报告,注意:
不得抄袭他人的报告(或给他人抄袭),一旦发现,成绩为零分。
课程设计报告的内容应包括以下五个部分:
1)需求分析:
包括设计题目、设计要求以及系统功能需求分析;
2)概要设计:
包括系统总体设计框架和系统功能模块图;
3)详细设计:
包括主要功能模块的算法设计思路以及对应的工作流程图;
4)主要源程序代码:
包括存储结构设计说明,以及完整源程序清单;
5)调试分析过程描述:
包括测试数据、测试输出结果,以及对程序调试过程中存在问题的思考(列出主要问题的出错现象、出错原因、解决方法及效果等);
6)总结:
包括课程设计过程中的学习体会和收获、对c语言和本次课程设计的认识以及自己的建议等内容。
7)书写格式严格按所附要求书写。
附1:
●课程设计报告装订顺序:
封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。
●正文的格式:
一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。
●正文的内容:
一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现(至少要有一个主要模块的流程图);四、程序调试;五、总结;六、附件(所有程序的原代码,要求对程序写出必要的注释)。
正文总字数要求在5000字以上(不含程序原代码)。
目录
一.课程设计文档--------------------------------------------------------------7
二.总体方案--------------------------------------------------------------------8
三.流程图-----------------------------------------------------------------------9
四.调试分析--------------------------------------------------------------------10
五.心得体会--------------------------------------------------------------------10
六.源程序截图----------------------------------------------------------------12
〈一〉课程设计文档
一.课程设计题目:
泊车管理
二.内容摘要
1、设计内容:
对一个有N台车停放位置的停车场,泊车管理系统实现对泊车场的泊车,查询,取车,并且通过相关费率计算出停车费用。
2、设计要求:
1)实现停车场的停车、查询、取车及计算停车费用等工作。
2)根据车牌号码停车,查询,取车。
3)根据停车与取车之间的时间间隔利用相关费率计算停车费用。
4)采用菜单工作方式。
在一个操作执行之后,分别用1/2/3代表停车,取车与结束。
其中按3之后可以按回车或空格键跳出控制界面;若按1输入车牌号码之后再重复如此操作便会显示出“此车已泊”的相关提示
5)要求整个设计以人为本,用户界面友好且可操作性强。
3、算法提示:
1)数据结构:
结构体数据类型
2)数据库结构:
下表构成该系统的基本数据库:
车牌号码
停车时间
取车时间
相关费率
4、测试数据:
要求输入车牌号码,泊车时间,取车时间。
三.关键字:
泊车管理
〈二〉总体方案
在了解该系统的功能后,可以通过运用函数、编译语句、数据类型来实现。
由于数据多,数据结构相似的特点,自然的想到用数组实现数据的存储,且总体数据结构应用文件的数据。
文件类型为结构体数据,数据库结构用文件来实现。
【概要设计】
程序的模块组成及各个函数的功能:
1.程序的模块组成:
主函数:
main
菜单函数:
carspark()
carget()
I/O函数:
#include
屏幕操作函数:
#include
库函数:
#include
函数结束程序:
exit()
读取字符函数:
getch();
2.各函数的主要功能:
显示菜单函数:
显示各菜单,并有添加功能。
屏幕操作函数:
在屏幕上实行操作,具有控制功能。
〈三〉流程图
〈四〉调试分析
1、程序编译成功之后开始调试:
根据提示:
按1输入车牌号码进行泊车,并输入当前时与当前分。
如要查询此车是否停泊成功则只需再次输入相同车牌号码便会出现“此车已泊”的提示。
按2输入车牌号码进行取车,并输入当前时与当前分,系统自动根据已设定的费率计算出泊车管理费用并在屏幕上显示出来。
按3结束泊车,并按回车或空格键可退出操作界面。
2.以下是课程设计中的错误总结和分析:
1)变量是程序中不可或缺的一部分,必须先定义后使用。
2)“;”是C语言的语句结束语,不可省略。
3)输入输出类型要一致。
4)调用函数必须先声明。
〈五〉心得体会
课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新月异,当今计算机应用在生活中可以说是无处不在。
因此,作为二十一世纪的大学生来说掌握计算机开发技术是十分重要的。
回顾起此次课程设计,至今我仍感慨颇多,的确,从拿到题目到完成整个编程,从理论到实践,经过一周的课程设计,虽然甚是辛苦,但我却学到了许多东西,不仅巩固了以前所学过的知识,而且学到了很多在书上所没有学到过的知识,使我自己对C语言又有了重新的认识,觉得它十分的重要,但掌握它又不是一件容易的事。
只有通过自己不停的思考,不断的上机实践。
才能够比较熟练的掌握好,在其中我们遇到了比较多的困难,因为其中有些知识我们并没有学到过,要自己去查找资料来完成。
在设计过程中遇到问题,可以说是困难重重,因为毕竟是第一次做的,难免会遇到各种各样的问题,同时在设计过程中发现了自己的不足之处,对以前的所学过的知识理解的不够深刻,掌握的不够牢固。
通过这次课程设计之后,觉得以前学过的知识要重新温习才能够达到查漏补缺的效果。
刚开始听说我们要设计泊车管理时心里真的是没有一点底,毫无思绪,无从下手,毕竟C语言才刚学一年就要编写如此复杂的应用程序。
但参考了一些资料和与几个有经验的学长们讨论后,编写思路才漫漫清楚,开始了解它的基本方式和操作方法。
在不太熟悉的部分,我们能够充分利用自己的自学能力,发挥它,以及在设计过程中的团队作用,提高自己解决问题的能力。
在设计程序是也增加了自己的实践能力,通过翻阅有关文献获得了些自己原来不了解的知识。
从接触C语言到了解C语言是一个过程,是自身学习的过程更是一段由量变到质变的过程。
俗话说师傅领进门,修行靠个人。
在编写过程中遇到的不解和麻烦都基本上是通过自身的反复琢磨和学长的帮助而解决的。
通过这段时间的课程设计,我认识到C语言是一门比较难的课程。
需要多花时间上机练习,这次的程序训练培养了我的实际分析问题的能力,实际编程能力。
随着程序的逐渐完善,自己也在慢慢进步,达到了预期目的。
这次课程设计终于完成了,在设计中遇到了许多的问题,但在王颖老师的指导下,终于迎刃而解,同时在王颖老师的身上我学到了很多实用的知识。
在此我深表示感谢!
同时,对给过我帮助的所有同学和各位指导老师再次感谢。
——朱锦
参考资料
C语言课程程序设计谭浩强著
C语言实例解析精粹人民邮电出版社
源程序截图
应用技术学院课程设计评分表
课程名称:
泊车管理
项目
评价
设计方案的合理性与创造性
设计与调试结果
设计说明书的质量
答辩陈述与回答问题情况
课程设计周表现情况
综合成绩
教师签名:
日期:
附录:
源程序清单
#include
#include
#include
为建立链表时分配空间准备*/
intcars[16][3];/*数组*/
voidcar_park(void)/*菜单:
泊车*/
{
intn,m,o;/*定义整形变量*/
for(n=0;n<16;n++)if(cars[n][0]==0)break;
if(n==16)
{
printf("\n便道很拥挤.\n");
getch();/*读取字符函数:
从控制台读取一个字符,并不在屏幕上显示出来*/
return;
}
printf("\n泊车-请输入车牌:
");
scanf("%d",&o);/*车牌号码*/
for(m=0;m<16;m++)if(cars[m][0]==o)break;
if(m!
=16)
{
printf("\n此车已泊.\n");
getch();/*读取字符函数*/
return;
}
cars[n][0]=o;
if(n<10)
{
printf("请输入当前时:
");
scanf("%d",&cars[n][1]);
printf("请输入当前分:
");
scanf("%d",&cars[n][2]);
return;
}
elseprintf("\n请先在便道上等候车位");
getch();/*读取字符函数*/
}
voidcar_get()/*菜单:
取车*/
{
intn,o,p,q,r;/*定义整形变量*/
printf("\n取车-请输入车牌:
");
scanf("%d",&o);/*车牌号码*/
for(n=0;n<16;n++)if(cars[n][0]==o)break;
if(n==16)
{
printf("\n没有这个车牌.\n");
getch();/*读取字符函数*/
return;
}
printf("请输入当前时:
");
scanf("%d",&p);/*小时(24小时格式)*/
printf("请输入当前分:
");
scanf("%d",&q);/*分钟*/
r=(p*60+q)-(cars[n][1]*60+cars[n][1]);
printf("停车%d分钟合计%.2f元\n",r,r*0.08);/*计算泊车费用*/
for(r=n;r<15;r++)
{
cars[r][0]=cars[r+1][0];
cars[r][0]=cars[r+1][0];
cars[r][0]=cars[r+1][0];
}
cars[9][1]=p;
cars[9][2]=q;
getch();/*读取字符函数*/
}
voidmain(void)
{intn;
charx;
mainloop:
clrscr();
printf("颇具现代化的停车场\n");
printf("制作者:
0783朱锦:
\n");
for(n=0;n<10;n++)
{
if(cars[n][0]!
=0)
printf("[CAR%d]%d:
%d\n",cars[n][0],cars[n][1],cars[n][2]);
elseprintf("[===============]\n");
}
printf("\n便道:
\n");
for(n=10;n<15;n++)
{
if(cars[n][0]!
=0)
printf("[CAR%d]",cars[n][0]);
elseprintf("[-------]");
}
printf("\n\n泊车?
取车?
结束(1/2/3)\n");
x=getch();
if(x=='1')car_park();
if(x=='2')car_get();
if(x=='3')exit(0);/*函数结束程序,以免造成死循环*/
gotomainloop;
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 泊车 管理