1、课程设计格式模板计算机信息工程学院数 据 结 构课 程 设 计 报 告题 目: 停车场管理系统 专 业: 计算机科学与技术(软件方向) 班 级: 学 号 姓 名: 指导教师: 完成日期: 目 录一、概要设计 11.题目的内容与要求 12.总体结构 1二、详细设计 11.主模块流程图 12.判断模块流程图 2三、使用说明与执行结果 4附 录(程序清单) 6 一、概要设计1.题目的内容与要求内容:停车场管理系统,本系统提供一共3个车位的车位信息,可以对汽车车牌,进入停车位时间和停车时长进行管理和记录。总体说是一套面向管理方的一套系统。 要求:1) 完成系统的设计、编码和调试;2) 系统利用C语言和
2、数据结构的知识实现;3) 按照课程设计规范书写课程设计报告;4)熟练掌握基本的调试方法,并将程序调试通过。2.总体结构 本程序主要分为四个模块(功能模块图见图1.1):主模块,计算模块,判断模块,显示模块。计算模块:计算停车时长,停车费用。判断模块:判断车辆信息是否准确。显示模块:根据所输内容,显示相关信息。图1-1 功能模块图 二、详细设计1.主模块流程图控制整个程序的运行,通过主函数模块分别调用各个模块,实现各项功能,流程如图2-1所示。 显示车辆信息 添加车辆信息 删除车辆信息 图2-1 主模块流程图2.判断模块流程图输入车牌号信息,1继续添加,2停止添加。共3车位,多于3的车牌信息将自
3、动归入停车进便道。流程如图2-2所示。 否 是 图2-2 判断模块流程图3.显示模块流程图流程如图2-3所示。 无 有图2-3 判断模块流程图三、使用说明与执行结果 说明如何使用程序,列出每一步的操作步骤。运行操作及结果:1.首先进入主菜单。图4-1主菜单 2.显示车辆信息。图4-2 车辆信息3.删除车辆信息并计价。 图4-3 删除车辆信息并计价4.添加车辆信息 图4-4 添加车辆信息图附 录(程序清单)#include#include#include#include/#include conio.h int N=0; struct tingchechang char cph20;/车牌号 i
4、nt hour1;/进入停车场的小时 int minute1;/进入停车场分钟 s200;void Re_file() /从文件中读取信息FILE *fp;fp=fopen(停车场管理系统.txt,r);while(fscanf(fp,%sn%dn%dn%dn%dn,&sN.cph,&sN.hour1,&sN.minute1)!=EOF)N+;fclose(fp);void Wr_file() int i; FILE *fp; fp=fopen(停车场管理系统.txt,w); for(i=0;itm_mday; y=timeinfo-tm_hour; z=timeinfo-tm_min; pr
5、intf(当前时间7月%d日%d点%d分n,x,y,z); printf( *n);printf( * *n);printf( * 1.显示车辆信息 *n);printf( * *n);printf( * 2.退 出 *n);printf( * *n);printf( *n);printf(nnnnnnnnnnnnnnnn);printf(请选择:);scanf(%d,&num);switch(num)case 1:for(p=s;pcph);if(ttm_mday,p-hour1,p-minute1);else if(t2)printf(n停车区域:便道n);case 2: printf(n
6、n请按任意键退出!); getchar();void Appe()/ int num;struct tingchechang *p;int x,y,z; time_t rawtime; / struct tm *timeinfo; / time(&rawtime); timeinfo=localtime(&rawtime); x=timeinfo-tm_mday; y=timeinfo-tm_hour; z=timeinfo-tm_min;printf( *n); printf( * *n);printf( * 1.添加车辆信息 *n);printf( * *n);printf( * 2.退
7、出 *n);printf( * *n);printf( *n); printf(nnnnnnnnnnnnn);printf(nnnn 请输入选项:);scanf(%d,&num);switch(num)case 1: printf(nn ); printf(车牌号:); scanf(%s,sN.cph);printf(停车时间:);printf(7月%d号%d点%d分n,timeinfo-tm_mday,timeinfo-tm_hour,timeinfo-tm_min);sN.hour1=timeinfo-tm_hour;sN.minute1=timeinfo-tm_min;/scanf(%d
8、 %d,&sN.hour1,&sN.minute1); N+; printf(nn * 是否继续追加?*n); printf(nn * 1.是 * 2. 否 *nnn); printf(请输入选项:); scanf(%d,&num); switch(num) case 1: Appe();break; case 2: printf(按任意键返回主菜单n); getchar(); return; case 2: printf(按任意键返回主菜单n); getchar(); break;void Dele()/int num,j,k,m,flag;struct tingchechang p10;c
9、har chepaihao10;int t;int r;int L;int x,y,z;float X; time_t rawtime; / struct tm *timeinfo; / time(&rawtime); timeinfo=localtime(&rawtime); x=timeinfo-tm_mday; y=timeinfo-tm_hour; z=timeinfo-tm_min;/l=(y-(p-hour1)*60*0.1+(z-(p-minute1)*0.1; /x=(sN.hour2)-(p-hour1)*60+(sN.minute2)-(p-minute1); printf
10、( *n);printf( * *n); printf( * 1.按车牌号查找并删除 *n);printf( * *n);printf( * *n);printf( * *n);printf( * 2.退 出 *n);printf( * *n);printf( *n); printf(nnnnnnnnnnnn);printf(nn请输入你的选项:);scanf(%d,&num);if(num=1)printf(nn请输入车牌号:);scanf(%s,chepaihao);flag=0;for(j=0;jN;j+)if(strcmp(sj.cph,chepaihao)=0) flag=1; k=
11、j;m=1; flag=0,num=0,t=0; for(j=0;jN;j+) if(strcmp(sj.cph,chepaihao)=0) flag=1; num+; pk=sj; t+; for(r=0;rhour1)*60*0.1+(z)-(p-minute1)*0.1; L=(y-(p-hour1)*60+(z-(p-minute1); printf(车牌号为%s的车应付车费%.1f元n,pr.cph,X); printf(汽车进入时间为为7月%d号%d点%d分n,x,p-hour1,p-minute1); printf(汽车离开时间为为7月%d号%d点%d分n,x,y,z); pri
12、ntf(汽车呆在停车场时间为%dn,L); s3.hour1=y;s3.minute1=z;if(flag=0)printf(查无结果! 请按任意键退出!n);if(m=1) for(j=k;jN;j+) sj=sj+1; N-; printf(n按任意键下一步n); getchar(); printf(nn * 是否继续删除? *n); printf(nn * 1.是 * 2.否 *nnn); printf(nn请输出选项:); scanf(%d,&num);/ switch(num) case 1:Dele();break;if(num=2)printf(n按任意键返回主菜单n);getc
13、har();void Quit()/ printf(nnn* 谢谢使用 再见! *nnn); printf(*欢迎再次试用本系统*);printf( * * n);printf( * * * * n); printf( * * * n); printf( * * n); printf( * * n);printf( * * n); printf( * * n); printf( * * n); printf( * * n);printf( * * n);printf( * * n);printf( * * n);printf( * * n);printf( * * n); printf( *
14、n); void main () int sele; /Re_file();sele=1; while(sele) printf(nn*进入管理系统*n); printf(1.停车费用1分钟0.1元每小时 * * 2.停车位3个 n); printf( * *n); printf( * n) ; printf( * n); printf( * *n); printf( * *主菜单 *n); printf( * *n); printf( * 1.显示车辆信息 *n); printf( * *n); printf(* *n); printf( * 2.添加车辆信息 *n); printf(* *
15、n); printf( * *n); printf(* 3.删除车辆信息 *n); printf( * *n); printf( * *n); printf( * 4.退 出 *n); printf( * *n); printf( * *n); printf( * *n); printf( * *n); printf( * n); printf(请输入你的选择:); scanf(%d,&sele); switch(sele) case 1:Disp();break; case 2:Appe();break; case 3:Dele();break; case 4:Quit(); sele=0; break; getchar();课程设计总结:本次编译程序云运用到了C语言课程及数据结构课程中相关数组,指针,文件等知识。开始时程序出现了许多问题,编译不出,经过思考和老师的指导最终成功的使程序运行,在运行中又发现了许多不完善的地方和一些出现BUG的地方,总体来说程序仍有很大的改进空间,下去以后进一步完善。在这次期末课题报告制作过程中,对自己的基础课程知识有了一个很好的巩固,对专业技能有相应的提高,并且通过与老师和同学们的交流讨论提高了自己的团队协作能力。我觉得这次报告的制作使我在多方面受益良多。指导教师评语:指导教师(签字): 年 月 日课程设计成绩