停车场管理系统 c语言
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2015-2016学年第二学期《高级语言程序设计》
课程设计报告
题目:停车场管理系统
专业:计算机科学与技术
班级:15级计科<1>班
姓名:胡玉玉
指导教师:陈广宏
成绩:
计算机学院
2016 年 4月 25 日
目录
1. 设计内容及要求 (1)
1.1 课程设计内容 (1)
1.2 课程设计的要求 (2)
2 概要设计 (3)
2.1 设计思路 (3)
2.2 程序基本框架结构图 (4)
3 设计过程或程序代码 (5)
3.1 主要程序代码及解释 (5)
4 设计结果与分析 (13)
4.1 程序运行结果截图与分析 (13)
5 参考文献 (16)
1.设计内容及要求
1.1 课程设计内容
①通过本次课程设计,强化上级动手能力,在理论和实践的基础
上巩固《C语言程序设计》课程的学习内容。掌握软件设计的基本方法。
②熟悉C语言的基本内容从而掌握C语言的基本知识以及了解C
语言的基本编写及运行。
③了解程序的分模块编写并对程序的每个模块进行详细的设计并
且能理解一般C语言编写的程序。
④掌握书写程序设计说明文档的能力。
⑤熟悉C程序设计的开发环境及C程序的调试过程
1.2 课程设计的要求
①分析课程设计题目的要求。
②写出详细设计说明。
③编写程序代码,调试程序使其能正确运行。
④设计完成的软件要便于操作和使用。
⑤设计完成后提交课程设计报告。
2.概要设计
2.1设计思路
停车场是一个可停放n辆汽车的狭长通道,并只有一个大门可供汽车进出,汽车在停车场内按车辆到达的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端),如车长内已停满n辆汽车,则后来的汽车只能在门外的便道上等候,一旦有车开走,则排在便道上的第一辆车即可开入;当停车场内某辆车要离开时,在它后进入的车辆必须先退出车场为它让路,待该辆车开出大门外,其它车辆再按原次序进入车场,每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用,以栈模拟停车场,以队列模拟车场外的便道,按照从终端读入的输入数据序列进行模拟管理.每一组输入数据包括三个数据项:汽车”到达”
或”离去”信息,汽车牌照号码以及到达或离去的时刻(到达或离去的时刻也可用计算机控制).对每一组输入数据进行操作后的输入信息为:如是车辆到达,则输入汽车在停车场。
2.2程序基本框架结构图
3.设计过程或程序代码
3.1 主要程序代码及解释
#include
#include
#include
#define N 3
#define MAX 50
#define sign 10
#define price 10
char part[N][sign];
char Rpart[MAX][sign];
char time[N][20];
int P,R;
partadd(char *t)
{
strcpy(&part[P][0],t);
printf("请输入时间:\n");
scanf("%s",&time[P][0]);
getchar();
P++;
}
Rpartadd(char *t)
{
if(R { strcpy(&Rpart[R][0],t); R++; } else { printf("过道已满无法停车\n"); } } newcar() { char temp[sign]; printf("请输入车牌号码:"); scanf("%s",temp); getchar(); if(P { partadd(temp); } else if(R { Rpartadd(temp); } } int timed(char *t1,char *t2) { int i=0,y=0,x=0,j,n=1; while(1) { if(t1[i]=='.') { for(j=i-1;j>=0;j--) { y=y+(t1[j]-'0')*(60*n); n=n*10; } while(1) { if(t1[j]==NULL) { for(n=1;j>i;j--) { y=y+(t1[j]-'0')*n; n=n*10; } break; } j++; } i=0; while(1) { if(t2[i]=='.') { for(j=i-1;j>=0;j--) { x=x+(t2[j]-'0')*(60*n); n=n*10; } while(1) { if(t2[j]==NULL) { for(n=1;j>i;j--) { x=x+(t2[j]-'0')*n; n=n*10; } break; } j++; } y=(x-y)*price; return y; } i++; }