停车库管理系统_C语言课程设计报告书_第1页
停车库管理系统_C语言课程设计报告书_第2页
停车库管理系统_C语言课程设计报告书_第3页
停车库管理系统_C语言课程设计报告书_第4页
停车库管理系统_C语言课程设计报告书_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1、学号2012-2013学年 第二学期1208010221高级语言程序设计课程设计报告题目:校园车辆管理系统专业:计算机科学与技术班级:计算机科学与技术<2>班:志海指导教师:淮宁成绩:计算机与信息工程系2013年06月30 日目录1设计容与要求.31.1设计容.31.2设计任务与具体要求.32概要设计.42.1该系统的功能简介.42.2 总体程序框图.42.3各个模块之间的主要关系.433设计过程或程序代码.43.1各个模块的程序流程图与运行界面.53.2对关键代码加以分析说明.64程序调试分析.105小结.12致.13参考文献.13附:源程序.1321 / 211 设计容与要求1

2、.1设计容校园车辆管理系统主要根据课程设计要求进行设计,并了解了学校的停车的工作流程,该系统功能主要包括六大模块:1)输入停车的信息,车牌号。2)根据输入的信息找到车辆的位置。 3)对车辆的信息的查询。4)保存当前的信息。5)系统软件的介绍。6)退出管理系统。1.2设计任务与具体要求主要利用c语言的文件操作能力设计开发一个小型的车辆管理系统,至少具有如下功能:车辆的车牌的输入,信息的保存,根据信息找到停车的位置,退出系统。操作界面要符合用户的一般习惯,图形或文本界面都可以。要求:明确课程设计的目的,能根据课程设计的要求,查阅相关文献,为完成设计准备必要的知识; 提高学生用高级语言进行程序设计的

3、能力,重点提高用C语言进行文件操作和绘图应用的编程技术水平;初步了解软件开发的一般方法和步骤; 提高撰写技术文档的能力。2 概要设计2.1系统的功能简介该系统的主要功能是停车时车牌号的记录,停车库的三个主车库和四个便道车库。根据停车的信息来找到车辆的位置,可以保存当前信息,也可以退出系统。2.1总体程序框图2.2各个模块之间的主要关系该程序的功能主要是实现车辆的进入和开出,并对车辆的停车时间的计算。各个模块之间的关系是相互联系的。主函数包含了所有的子函数。主函数是整个程序的核心。子函数之间也是有联系的,对停车进行记录,然后才可以进行取车、信息查询和保存信息。因此停车的记录是非常重要的。3设计过

4、程或程序代码3.1各个模块的程序流程图 1)主函数程序(N-S)流程图与运行界面主函数程序(N-S)流程图(见图3.1-A) 主函数main()定义变量char c;e=0;while(1)c=gnxzjm();switch(c)case '1': carp();break;停车操作case '2': carg();break;取车操作case '3': card();break;车库信息case '4': xxbc();break;信息保存case '5': rjis();break;软件介绍case '

5、6':exit(0);退出系统图3.1-A主函数程序简单说明:该功能主要显示的是给用户一个进入界面,它主要的是显示该程序主要能够执行的有哪些功能。下面是显示给用户的界面。(见图3.1-A) 主函数程序运行界面:图3.1B主函数界面 2)停车函数(N-S)流程图与程序运行界面(见图3.2-B)该程序主要是记录车牌,然后为其分配适合的停车位置,主停车位没有了就会自动分配到便道的停车位上面。3)取车函数(N-S)流程图与程序运行界面(见图3.3-B)定义数据变量输入车牌号for(i=0;i<=n;i+)!strcmp(ci.chepai,p)输出位置、时间b0=1strcpy(cg-1

6、.chepai,cg.chepai);cg-1.weizhi=cg.weizhi-1;cg-1.rhour=cg.rhour;cg-1.rmin=cg.rmin;for(w=1;w<max2;w+)bi=b+isystem( "pause" );图3.5-A修改个人记录程序取车函数是在原有的停车函数的基础上进行修改,在修改的同时你可以看到停车时停的车的车牌。以下是修改职工工资信息过后的显示界面。(见图3.5-B)4)车库信息函数(N-S)流程图与程序运行界面(见图3.4-B)5密码(N-S)流程图与程序运行界面3.2对关键代码加以分析说明1)/* 结构体声明 */st

7、ruct carchar chepai11;int weizhi;int rhour;int rmin;struct car *next;4设计结果与分析当把程序写好并进行调试时,并不是一帆风顺的,总会遇到很多在调试时遇到的错误。1. 首先在定义函数时,不能输入汉字。否则会程序会显示错误。2.在程序中,如果定义、学号、车牌号等为float型,而后面其相应的返回值为双精度浮点型,会出现相应的警告3.前后定义变量要统一。4.如果要调用添加函数,修改函数,修改函数,查找函数,统计函数等要在主函数前面进行申明。否则会显示警告。5.对背景颜色设置的时候,当你输入的颜色在存中不存在时,运行程序过后,系统会

8、告诉你相应的颜色符号常数与数值。6.如果程序在运行的过程中,对于一个循环语句,如果你返回的值始终是真的,那么程序将进如死循环。7. 未注意int,float型数据的数值围,int型数据的数值围(-3276832768)。对定义工资变量时,如果将职工工资定义为float型,将会出现警告。8.对应该有花括弧的复合语句,忘记加花括弧。9. 所调用的函数在调用语句之后才定义,而又在调用前未加说明。5 小 结现在的社会进步很快,买车的老师和学生非常的多,在一个大的大学,一个车辆管理系统就显得尤为重要。在本课程设计的设计过程中,我刚开始感觉到有点头痛。要通过一学期C语言的学习后将所学知识运用起来有点困难,

9、但回过头来再去看教课书,对于这些知识点有关的背景,概念和解决方案更进一步的理解,感觉也不是很难。另外我还体会了从事C语言课程设计工作需要特别谨慎认真地态度和作风,一点都不能马虎。每个细微的细节都必须十分注意,如果不认真思考,就会出现或大或小的错误。如果把早期的错误隐藏下来,对后面的工作影响就会很大,甚至有时会推倒很多前面做的工作。有时候,我自己觉得我写的程序非常正确,但是就是编译通不过,在查找错误的过程中,面临着否认自己的过程,非常的痛苦,而且由于自己的经验与各方面的能力的不足,所以进展的速度非常的缓慢,往往几天的时间没有一点进展。这时候,我一般是先自己通过书本,手册和资料找解决办法,实在没辙

10、才向老师同学请教。在开始编写程序的时候,我看到别人的程序功能非常的详细,而且界面非常漂亮,总是希望自己的程序也非常的完善,但是,发现编一个好的程序不是一蹴而就的事情,需要长时间的积累和经验。在反反复复的学习中,我终于作出一个简单的程序,虽然这个程序的功能非常简单,而且在实际运用中还有些不足,因为工资的的容非常丰富,我涉与到的仅仅是工资管理的一部分简单容,离实际的客户需求肯定还有差距。由于我的知识浅薄,经验不足与阅历颇浅,在该系统的设计方面还有很多不足,比如功能过少,界面不醒目等问题,我会在以后的学习过程中,根据具体要求不断的修改、完善,争取使系统慢慢趋于完美。致在这次C语言课程设计中,我的老师

11、和同学给了我与大的帮助。特别是我的指导,还有我的C语言任课老师。在此,我对他们表示感!感他们在我面对困难时给了我帮助和支持。也感那些给我帮助的所有同学!参考文献谭浩强著.C程序设计(第三版)源程序#include "stdio.h"#include "string.h"#include "stdlib.h"#include "time.h" #define max 3#define max2 6#define price 0.5#define ClearScreen() system( "cls"

12、; )void csh();void carp();void carg();void bian();char gnxzjm();void pdate();void card();int timeh();int timem();void rjjs();void xxbc();void pass();int amax=0,0,0;int bmax2=0,0,0;int o; int q; int j; int bq;/*.*/struct carchar chepai11;int weizhi;int rhour;int rmin;struct car *next;struct car cmax+

13、max2,*pc; /*.*/int main()system("color 4F");pass(); char c; int e=0; while(1) system("cls"); csh(); /*初始化界面*/ c=gnxzjm(); /*功能选择界面*/switch(c)case '1': carp();break;case '2': carg(); break;/*取车操作*/case '3': card();break;/*车库信息*/case '4': xxbc();brea

14、k;case '5': rjjs();break;case '6': exit(0);/*退出*/default: break; return 0;/*.*/void csh() /*初始函数*/ system("cls"); printf("tttt校园车辆管理系统nn"); printf("tt: 志海t"); printf("专业: 12 计算机科学与技术2t"); printf("学号: 1208010221n"); printf("*"

15、;); printf(" tt1. 停车 2. 取车 3. 淮师车库信息n"); printf(" tt4. 信息保存 5.软件介绍 6. 退出"); printf("n*n");/*.*/char gnxzjm() /*选择函数*/ char c; printf("请选择1 2 3 4 5 6功能n"); c=getchar(); printf("n"); return c;/*.*/void carp() /*停车函数*/system( "cls" );if(j<=

16、max)int i;for(i=0;i<max;i+)if(ai=0)j=i+1;ai=1;break; q=i; /*当无车的时候车位为0,有车为1*/printf("请输入车牌号(例A123456)n");scanf("%s",&ci.chepai);/*输入车牌号*/printf("车辆停在车库的%d位n",j);cq.weizhi=j;/*记录车的位置编号*/cq.rhour=timeh();cq.rmin=timem();printf("停入车辆情况:n");printf("车牌号

17、:%sn",cq.chepai);printf("车位置:%dn",cq.weizhi);printf("车停入时间:%d:%dn",cq.rhour,cq.rmin);/*第q个车在第j个车位上,q从0开始记,j从1开始记,在j=2位置上的车对应的c为c1*/j+;system("pause");else bian();/*.*/void bian() /*便道停车函数*/system( "cls" );int i;int bj;for(i=0;i<max2;i+)if(bi=0)bj=i+max

18、;bi=1;break;/*bj为车的车位,bq为bcbq的编号*/ /*当无车的时候车位为0,有车为1*/ /*bj为车的信息在cbj中占的位置*/printf("请输入车牌号(例A123456)n");scanf("%s",&cbj.chepai);/*输入车牌号*/printf("车库已满,车辆停在便道的%d位n",i+1);cbj.weizhi=bj;/*记录车的位置编号*/printf("停入车辆情况:n");printf("车牌号:%sn",cbj.chepai);print

19、f("车位置:%dn",i+1);/*便道上的车位,bq从0开始记,在bj从1开始记,在车位bj=1位置上的车对应bc0*/system("pause");/*.*/void carg() /*取车函数*/system( "cls" );int i,w;int f=0,g;char p11;int outh,outm;int inh,inm;double cost;printf("请输入要驶出的车的车牌n");scanf("%s",&p);for(i=0;i<max;i+)if(!

20、strcmp(ci.chepai,p)printf("车牌号%s驶出车库%d位置n",p,i+1);outh=timeh();outm=timem();printf("输入驶出时间为%d:%dn",outh,outm);inh=outh-ci.rhour;inm=outm-ci.rmin;printf("车在车库中的时间:n");printf("停留%d小时%d分钟n",inh,inm);cost=(inh*60+inm)*price;printf("您应缴费用:%f元nnnnn",cost);

21、f=i;g=i+1;cmax-1.next=&cmax;cmax.next=&cmax+1;if(b0=1)printf("便道上第1辆车%s驶入车库n",cmax.chepai);cmax.rhour=timeh();cmax.rmin=timem();printf("停入车辆情况:n");printf("车牌号:%sn",cmax.chepai);printf("车位置:%dn",cmax.weizhi);printf("车停入时间:%d:%dn",cmax.rhour,cm

22、ax.rmin);b0=b1;system( "pause" );for(g=i+1;g<max+max2;g+)strcpy(cg-1.chepai,cg.chepai); cg-1.weizhi=cg.weizhi-1;cg-1.rhour=cg.rhour;cg-1.rmin=cg.rmin;for(w=1;w<max2;w+)bi=b+i;system( "pause" );/*.*/void card() /*车库信息函数*/system( "cls" );if(a0!=0)int i,j;printf(&quo

23、t;车库总体信息:n");printf("车库信息:n");printf("tt车位编号 车牌号 停入时间n");for(i=0;i<max;i+)printf("tt%d t%s %d:%dn",ci.weizhi,ci.chepai,ci.rhour,ci.rmin);printf("便道车辆信息:n");printf("tt车位编号 车牌号n");for(j=0;j<max2;j+)printf("tt%d t%sn",j+1,cj+max.che

24、pai);printf("");system("pause");else printf("nnn*当前淮师车库没有车辆停入*nnn");system("pause");/*.*/int timeh() int h; struct tm *local; time_t t; t = time(NULL); local = localtime(&t); h=local->tm_hour ; return h; /*.*/int timem() int m; struct tm *local; time_t

25、t; t = time(NULL); local = localtime(&t); m=local->tm_min ; return m; /*.*/void rjjs()system( "cls" );printf("tt本软件为车库存取车记录系统nn");printf("tt1.用户可以通过功能键1,2选择存车,取车功能n");printf("tt2.在存车功能中,汽车优先停放在车库,nt若车场已停满,则后来的汽车则在门外的便道上等候,nt一旦停车场有车辆开走,排在便道上的第一辆汽车即可进入n");printf("tt3.系统可以记录

温馨提示

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

评论

0/150

提交评论