课程设计格式模板.docx
- 文档编号:23929036
- 上传时间:2023-05-22
- 格式:DOCX
- 页数:20
- 大小:170.73KB
课程设计格式模板.docx
《课程设计格式模板.docx》由会员分享,可在线阅读,更多相关《课程设计格式模板.docx(20页珍藏版)》请在冰豆网上搜索。
课程设计格式模板
计算机信息工程学院
《数据结构》
课程设计报告
题目:
停车场管理系统
专业:
计算机科学与技术(软件方向)
班级:
学号
姓名:
指导教师:
完成日期:
目录
一、概要设计1
1.题目的内容与要求1
2.总体结构1
二、详细设计1
1.主模块流程图1
2.判断模块流程图2
三、使用说明与执行结果4
附录(程序清单)6
一、概要设计
1.题目的内容与要求
内容:
停车场管理系统,本系统提供一共3个车位的车位信息,可以对汽车车牌,进入停车位时间和停车时长进行管理和记录。
总体说是一套面向管理方的一套系统。
要求:
1)完成系统的设计、编码和调试;
2)系统利用C语言和数据结构的知识实现;
3)按照课程设计规范书写课程设计报告;
4)熟练掌握基本的调试方法,并将程序调试通过。
2.总体结构
本程序主要分为四个模块(功能模块图见图1.1):
主模块,计算模块,判断模块,显示模块。
计算模块:
计算停车时长,停车费用。
判断模块:
判断车辆信息是否准确。
显示模块:
根据所输内容,显示相关信息。
图1-1功能模块图
二、详细设计
1.主模块流程图
控制整个程序的运行,通过主函数模块分别调用各个模块,实现各项功能,流程如图2-1所示。
显示车辆信息添加车辆信息删除车辆信息
图2-1主模块流程图
2.判断模块流程图
输入车牌号信息,1继续添加,2停止添加。
共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
intN=0;
structtingchechang
{
charcph[20];//车牌号
inthour1;//进入停车场的小时
intminute1;//进入停车场分钟
}s[200];
voidRe_file()//从文件中读取信息
{
FILE*fp;
fp=fopen("停车场管理系统.txt","r");
while(fscanf(fp,"%s\n%d\n%d\n%d\n%d\n",&s[N].cph,&s[N].hour1,&s[N].minute1)!
=EOF)
N++;
fclose(fp);
}
voidWr_file()
{
inti;
FILE*fp;
fp=fopen("停车场管理系统.txt","w");
for(i=0;i fprintf(fp,"%s\n%d\n%d\n%d\n%d\n",s[i].cph,s[i].hour1,s[i].minute1); fclose(fp); } voidDisp() { structtingchechang*p; intnum; intx,y,z; intl; intt=-1; time_trawtime; structtm*timeinfo; time(&rawtime); timeinfo=localtime(&rawtime); x=timeinfo->tm_mday; y=timeinfo->tm_hour; z=timeinfo->tm_min; printf("当前时间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("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"); printf("请选择: "); scanf("%d",&num); switch(num) { case1: { for(p=s;p { t++; printf("车牌号: "); printf("%s",p->cph); if(t<=2) { printf("\n停车区域: 停车场\n"); printf("停车时间7月%d号%d点%分\n",timeinfo->tm_mday,p->hour1,p->minute1); } elseif(t>2) printf("\n停车区域: 便道\n"); } } case2: printf("\n\n请按任意键退出! "); getchar(); } } voidAppe()// { intnum; structtingchechang*p; intx,y,z; time_trawtime;// structtm*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.退出**\n"); printf("****\n"); printf("*****************************************\n"); printf("\n\n\n\n\n\n\n\n\n\n\n\n\n"); printf("\n\n\n\n请输入选项: "); scanf("%d",&num); switch(num) { case1: printf("\n\n"); { printf("车牌号: "); scanf("%s",s[N].cph); printf("停车时间: "); printf("7月%d号%d点%d分\n",timeinfo->tm_mday,timeinfo->tm_hour,timeinfo->tm_min); s[N].hour1=timeinfo->tm_hour; s[N].minute1=timeinfo->tm_min; //scanf("%d%d",&s[N].hour1,&s[N].minute1); N++; } printf("\n\n***是否继续追加? ? ? ***\n"); printf("\n\n***1.是***2.否***\n\n\n"); printf("请输入选项: "); scanf("%d",&num); switch(num) { case1: Appe();break; case2: printf("按任意键返回主菜单\n"); getchar(); return; } case2: printf("按任意键返回主菜单\n"); getchar(); break; } } voidDele()// { intnum,j,k,m,flag; structtingchechangp[10]; charchepaihao[10]; intt; intr; intL; intx,y,z; floatX; time_trawtime;// structtm*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=((s[N].hour2)-(p->hour1))*60+((s[N].minute2)-(p->minute1)); printf("*****************************************\n"); printf("****\n"); printf("**1.按车牌号查找并删除**\n"); printf("****\n"); printf("****\n"); printf("****\n"); printf("**2.退出**\n"); printf("****\n"); printf("*****************************************\n"); printf("\n\n\n\n\n\n\n\n\n\n\n\n"); printf("\n\n请输入你的选项: "); scanf("%d",&num); if(num==1) { printf("\n\n请输入车牌号: "); scanf("%s",chepaihao); flag=0; for(j=0;j { if(strcmp(s[j].cph,chepaihao)==0) { flag=1; k=j;m=1; } }flag=0,num=0,t=0; for(j=0;j { if(strcmp(s[j].cph,chepaihao)==0) { flag=1; num++; p[k]=s[j]; t++; } } for(r=0;r { X=(y-(p->hour1))*60*0.1+((z)-(p->minute1))*0.1; L=(y-(p->hour1))*60+(z-(p->minute1)); printf("车牌号为%s的车应付车费%.1f元\n",p[r].cph,X); printf("汽车进入时间为为7月%d号%d点%d分\n",x,p->hour1,p->minute1); printf("汽车离开时间为为7月%d号%d点%d分\n",x,y,z); printf("汽车呆在停车场时间为%d\n",L); } s[3].hour1=y; s[3].minute1=z; if(flag==0) printf("查无结果! 请按任意键退出! \n"); } if(m==1) { for(j=k;j s[j]=s[j+1]; N--; printf("\n按任意键下一步\n"); getchar(); printf("\n\n***是否继续删除? ? ? ***\n"); printf("\n\n***1.是***2.否***\n\n\n"); printf("\n\n请输出选项: "); scanf("%d",&num);// switch(num) { case1: Dele();break;} } if(num==2) printf("\n按任意键返回主菜单\n"); getchar(); }voidQuit()// { printf("\n\n\n************************谢谢使用再见! ! ! **************************\n\n\n"); 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("*\n"); } voidmain() { intsele; //Re_file(); sele=1; while(sele) { printf("\n\n**************************进入管理系统***************************\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("****\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) { case1: Disp();break; case2: Appe();break; case3: Dele();break; case4: Quit();sele=0;break; } getchar(); } } 课程设计总结: 本次编译程序云运用到了C语言课程及数据结构课程中相关数组,指针,文件等知识。 开始时程序出现了许多问题,编译不出,经过思考和老师的指导最终成功的使程序运行,在运行中又发现了许多不完善的地方和一些出现BUG的地方,总体来说程序仍有很大的改进空间,下去以后进一步完善。 在这次期末课题报告制作过程中,对自己的基础课程知识有了一个很好的巩固,对专业技能有相应的提高,并且通过与老师和同学们的交流讨论提高了自己的团队协作能力。 我觉得这次报告的制作使我在多方面受益良多。 指导教师评语: 指导教师(签字): 年月日 课程设计成绩
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课程设计 格式 模板