课程设计格式模板.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//#include"conio.h"
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;ifprintf(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;js[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的地方,总体来说程序仍有很大的改进空间,下去以后进一步完善。
在这次期末课题报告制作过程中,对自己的基础课程知识有了一个很好的巩固,对专业技能有相应的提高,并且通过与老师和同学们的交流讨论提高了自己的团队协作能力。
我觉得这次报告的制作使我在多方面受益良多。
指导教师评语:
指导教师(签字):
年月日
课程设计成绩