高速公路收费系统

攀枝花学院

学生课程设计(论文)

题 目: 高速公路计费系统设计 学生姓名: 号:所在院(系) : 数学与计算机学院 专 业: 软件工程 班 级: 指导教师: 职称:

2013年1月 4日 攀枝花教务处制

攀枝花学院本科学生课程设计任务书

注:任务书由指导教师填写

课程设计(论文)指导教师成绩评定表

摘要

中国已经有4万多公里的高速公路,在未来还将翻倍。修建高速公路被各地官员拉入地方经济工作日常首要位置,与1950年后的美国相似,越来越密集的高速网正在促使着中国发生巨大的变化。

高速公路收费系统是高速公路管理的重要组成部分。建立智能化的收费系统是加强高速公路管理的一个重要环节。高速公路收费系统解决了高速公路收费业务中由于采取传统方法和手段出现的难以处理的问题,并把管理对象转向信息对象的信息管理系统,把高速公路收费系统推向另一个高度。

利用计算机进行高速公路计费系统设计,是利用C 语言对数据的输入、保存、收取费用、统计等功能。通过输入的车牌号,计算出所需要的费用,并统计过往车辆的数目。

关键词:高速公路、智能交通、收费系统

目录

摘要 .................................................................................................................................................. I 1需求分析........................................................................................................................................ 3

1.1需求概述 . ............................................................................................................................ 3 随着我国经济的迅猛发展,高速公路交通作为经济发展的主要基础设施之一,越来越受到重视。 . .................................................................................................................................. 3 高速公路收费系统的需求分析主要以新的收费模式下高速公路的实际情况和运营管理方面的要求为基础。 . .............................................................................................................. 3 1.2需求环境 . ............................................................................................................................ 3 1.3 功能描述 . ........................................................................................................................... 3 2概要设计........................................................................................................................................ 5

2.1 程序功能模块 . ................................................................................................................... 5 2.2 程序流程图 . ....................................................................................................................... 6 2.3数据结构的设计 . ................................................................................................................ 6 3详细设计........................................................................................................................................ 8

3.1 程序的初始化 . ................................................................................................................... 8

3.1.1代码功能 . ................................................................................................................. 8 建立主要的程序。 . .......................................................................................................... 8 3.2.2 功能实现代码 . ........................................................................................................ 8 3.2 建立主菜单 . ....................................................................................................................... 9

3.2.1代码功能 . ................................................................................................................. 9 3.2.2 功能实现代码 . ........................................................................................................ 9 3.3 信息的输入 . ....................................................................................................................... 9

3.2.1代码功能 . ................................................................................................................. 9 3.3.2 功能实现代码 . ...................................................................................................... 10 3.4 信息的输出 . ..................................................................................................................... 10

3.4.1代码功能 . ............................................................................................................... 10 3.4.2 功能实现代码 . ...................................................................................................... 10 3.5 统计结果 . ......................................................................................................................... 12

3.5.1代码功能 . ............................................................................................................... 12 3.5.2 功能实现代码 . ...................................................................................................... 13

4 测试与运行 . ................................................................................................................................ 14 结束语 ............................................................................................................................................ 17 参考文献......................................................................................................................................... 18 附页 ................................................................................................................................................ 19

1需求分析

1.1需求概述

随着我国经济的迅猛发展,高速公路交通作为经济发展的主要基础设施之一,越来越受到重视。

高速公路收费系统的需求分析主要以新的收费模式下高速公路的实际情况和运营管理方面的要求为基础。

车道收费软件按功能分为进入和离开两种类型:

进入车道收费系统通过所配车道设备及收费员对进入高速公路的车辆进行识别车牌、车型、车情输入。将车道信息、车型、车牌号、日期时间等其他信息写入数据库表中,形成记录。然后抬起电动栏杆机,让车辆驶出车道,完成进入的操作。

离开车道收费系统通过所配车道设备及收费员对驶出高速公路的车辆进行识别车牌。对读出的信息进行自动及人工核对,计算出通行费,并用费额显示器显示收费金额,并用语音设备发出礼貌用语收取通行费。将出口的站点、车道标识信息、收费标识信息、车型、车种、车牌号、日期时间等其他信息在车道数据库表中写成记录,并保存; 再打开电动栏杆机,车辆驶出车道,让车辆离开收费站。

1.2需求环境

本课程设计需要的设备为硬件要求和软件配置要求具体要求如下: ①硬件要求:一台计算机。

②软件配置:WINDOWS 、C/VC++6.0。

1.3 功能描述

本课程设计是利用图形学的相关知识在TC 或Visual C++环境下利用结构体、switch 语句等来实现高速公路收费的全过程,其基本的功能描述如下:

I. 建立主菜单。

II. 输入车辆信息,包括:车牌号、车辆类型、收费入口、进入时间,并进

行包存。

III. 收取通行费(输入车牌号,显示该车的类型、进入时间、进入口、

该支付的费用。)

IV. 统计在工作人员上班期间所有通过的车辆的总数。

2概要设计

2.1 程序功能模块

由需求分析知,本次课程设计是用于高速公路收费,故其功能模块分为:

●●● 三个模块。进入系统主菜单 信息的输入 信息的输出

2.2 程序流程图

图2.1程序流程图

2.3数据结构的设计

根据需求分析将高速公路收费系统的数据结构的设计如下:

01. 用一个结构体数组

struct vehicle{ char num[8];

int variety//用4.5.6分别代表大. 中. 小车型//; int entime;//进入时间//

int enter;//入口//

} ve[N];来定义过往的车辆及车的车牌号、类型、进入时间、进入口。

02. 用函数void menu();来表示主菜单。

03. 用函数void input();表示信息的输入。

04. 用函数void show();表示信息的输出及收取的费用。

05. 用函数void all();来表示统计的结果。

3详细设计

3.1 程序的初始化

3.1.1代码功能

建立主要的程序。

3.2.2 功能实现代码

struct vehicle//车辆的信息,包括:车牌号、种类、进入时间、入口//

{

char num[8];

int variety;//用4.5.6分别代表大. 中. 小车型//

int entime;

int enter;

}ve[N];

int count=0;//定义全局变量,以便于统计//

void menu();//主菜单函数//

void input();//输入函数//

void show();//输出函数//

void all();//统计函数//

void main()

{

while(1)

{

menu();

}

}

3.2 建立主菜单

3.2.1代码功能

在初始化程序中,主要实现的是主菜单的形成以及进入主菜单后做出相应的选择。

3.2.2 功能实现代码

void menu()//建立主菜单//

{

char n;

printf("\n\n\n\n\n");//先将主菜单位于屏幕中央//

printf(" 欢迎使用高速公路收费系统\n");

printf(" 主菜单\n");

printf(" 1. 输入车辆信息 \n");

printf(" 2. 显示车辆信息 \n");

printf(" 3. 显示车辆总数 \n"); printf(" 请输入数字选择操作类型:\n");

n=getch();

switch(n)

{

case '1': input();break;//如果输入的数字为1,则表示应该输入车辆的一系列的信息//

case '2': show();break; //如果输入的数字为2,则表示应该输出车辆信息以及应该收取的费用//

case '3': all();break; //如果输入的数字为3,则表示应该输出该工作期间统计的总的车辆通过数//

default: break;

}

}

3.3 信息的输入

3.2.1代码功能

信息的输入的功能就是将车辆的车牌号、类型、进入时间、进

入口的信息输入电脑。

3.3.2 功能实现代码

void input()//进行车辆信息的输入//

{

printf("请输入车辆信息\n");

printf("车牌号:\n");

scanf("%s",&ve[count].num);

printf("车辆类型(4,5,6分别代表大,中,小):\n");

scanf("%d",&ve[count].variety);

printf("进入时间:\n");

scanf("%d",&ve[count].entime);

printf("入口(1,2,3代表三个入口):\n");

scanf("%d",&ve[count].enter);

count++;//每一次车辆进入count 加1,统计总的车辆数//

printf("是否继续添加(Y/N)\n");

if(getch()=='y'||getch()=='Y') //判断是否继续添加,如果输入的是’y ’或者是‘Y ’,则继续输入。如果输入的是其他符号。则停止输入并返回主菜单//

input();

}

3.4 信息的输出

3.4.1代码功能

输出车辆信息及应该收取的费用。

3.4.2 功能实现代码

void show()//求某一辆车的信息及收费//

{

char num[8];

int i;

double a,b,c,l1=200,l2=300,l3=400;// 定义三个入口到出口的路程分别是l1 l2 l3(200 300 400)公里//

printf("请输入车牌号:\n");//输入车牌号,以便于对该车的信息进行核对,并进行后面的操作//

scanf("%s",num);

for(i=0;i

{if(strcmp(ve[i].num,num)==0)//如果有车辆的车牌号于输入的车牌号相同则输出该车的信息,以及进行计算//

{

printf("车辆信息:\n");

printf("车辆类型:%d\n",ve[i].variety);

printf("入口站:%d\n",ve[i].enter);

printf("进入时间:%d\n",ve[i].entime);

printf("车牌号:%s\n",ve[i].num);

}

}

for(i=0;i

{

if(ve[i].variety==4 && ve[i].enter==1)//如果该车属于大型车,且由1号入口进入//

{

a=0.5*l1;

printf("此车应缴费%f元",a);

}

else if(ve[i].variety==4 && ve[i].enter==2) //如果该车属于大型车,且由2号入口进入//

{

a=0.4*l2;

printf("此车应缴费%f元",a);

}

else if(ve[i].variety==4 && ve[i].enter==3)// 如果该车属于大型车,且由3号入口进入//

{

a=0.3*l3;

printf("此车应缴费%f元",a);

}

else if(ve[i].variety==5&& ve[i].enter==1)// 如果该车属于中型车,且由1号入口进入//

{

b=0.5*l1;

printf("此车应缴费%f元",b);

}

else if(ve[i].variety==5 && ve[i].enter==2) //如果该车属于中型车,

且由2号入口进入//

{

b=0.4*l2;

printf("此车应缴费%f元",b);

}

else if(ve[i].variety==5 && ve[i].enter==3) //如果该车属于中型车,且由3号入口进入//

{

b=0.3*l3;

printf("此车应缴费%f元",b);

}

else if(ve[i].variety==6 && ve[i].enter==1) //如果该车属于小型车,且由1号入口进入//

{

c=0.3*l1;

printf("此车应缴费%f元",c);

}

else if(ve[i].variety==6 && ve[i].enter==2)// 如果该车属于大型车,且由2号入口进入//

{

c=0.3*l2;

printf("此车应缴费%f元",c);

}

else if(ve[i].variety==6 && ve[i].enter==3)// 如果该车属于大型车,且由3号入口进入//

{

c=0.3*l3;

printf("此车应缴费%f元",c);

}

}

return;

}

3.5 统计结果

3.5.1代码功能

输出在工作期间一共有多少辆车通过了这一个收费

3.5.2 功能实现代码

void all()

{

printf("车辆总数为:%d",count);

return;

}

4 测试与运行

由需求分析可知,高速公路收费系统设计是在TC 环境下进行的。本程序已调试成功并实现了其功能,其运行结果如下:

1. 主菜单界面

图4.1主菜单界面图

2.输入界面

图4.2输入界面图1

2.1如果不继续添加

图4.3输入界面图2

2.2 如果继续添加

图4.4输入界面图3

3输出界面

图 4.5输出界面图

4. 统计界面

图4.6统计界面图

结束语

在这次课程设计中,我基本上完成了任务,值得总结的有以下及几点:

1. 在开发实现之前,对需求要理解清楚,对收费流程要了解透彻,明晰所要达到的性能指标;

2. 采用有效的模式提高开发的效率,增强系统的灵活性;

3. 适当简化一些复杂的流程,采取分而治之的策略;

4. 在碰到问题难以解决时,要多向老师和同学提问,多和老师同学交流; 遇到的不足:

1. 系统收费模型比较粗糙,有待进一步完善;

2. 由于水平有限,软件设计部分不够完善,有待于进一步研究;

虽然我的设计是一个人一组的, 但我深刻地认识到只有大家一起努力地学习并研究相关的知识,才能提高做事的效率,也才能更好更快地完成任务。所以这将在我以后的学习和生活中有很在的引导作用。在以后的学习中,我也将加倍地学习图形学的有关知识,以同样的方法学习其他的知识,不断地丰富自己,充实自己,提高自己的能力。

参考文献

[1]谭浩强. 《C 程序设计》. 清华大学出版社.2010.6

[2]杨浩. 《c 语言入门经典》. 清华大学出版社.2007.5

[3刘振安. 单继龙. 《C 程序设计课程设计》. 机械工业出版社.2010.1

[4]汪诗林,《数据结构算法与应用》. 机械工业出版社.2000.1

[5]杨兆升,《智能运输系统概论》. 人民交通出版社2003.1

附页

源代码:

include

#define N 10

struct vehicle

{

char num[8];

int variety;//用4.5.6分别代表大. 中. 小车型//

int entime;

int enter;

}ve[N];

int count=0;

void menu();

void input();

void show();

void all();

void main()

{

while(1)

{

menu();

}

system("pause");

}

void menu()

{

char n;

printf("\n\n\n\n\n\n\n\n\n\n\n\n");

printf(" 欢迎使用高速公路收费系统\n");

printf(" 主菜单\n");

printf(" 1. 输入车辆信息 \n");

printf(" 2. 显示车辆信息 \n");

printf(" 3. 显示车辆总数 \n"); printf(" 请输入数字选择操作类型:\n");

n=getch();

switch(n)

{

case '1': input();break;

case '2': show();break;

case '3': all();break;

default: break;

}

}

void input()

{

printf("请输入车辆信息\n");

printf("车牌号:\n");

scanf("%s",&ve[count].num);

printf("车辆类型(4,5,6分别代表大,中,小):\n");

scanf("%d",&ve[count].variety);

printf("进入时间:\n");

scanf("%d",&ve[count].entime);

printf("入口(1,2,3代表三个入口):\n");

scanf("%d",&ve[count].enter);

count++;

printf("是否继续添加(Y/N)\n");

if(getch()=='y'||getch()=='Y')

input();

}

void show()

{

char num[8];

int i;

double a,b,c,l1=200,l2=300,l3=400;// 定义三个入口到出口的路程分别是l1 l2 l3(200 300 400)公里

printf("请输入车牌号:\n");

scanf("%s",num);

for(i=0;i

{if(strcmp(ve[i].num,num)==0)

{

printf("车辆信息:");

printf("车辆类型:%d\n",ve[i].variety);

printf("入口站:%d\n",ve[i].enter);

printf("进入时间:%d\n",ve[i].entime);

printf("车牌号:%s\n",ve[i].num);

}

}

for(i=0;i

{ if(ve[i].variety==4 && ve[i].enter==1)

a=0.5*l1;

printf("此车应缴费%f元",a); }

else if(ve[i].variety==4 && ve[i].enter==2) {

a=0.4*l2;

printf("此车应缴费%f元",a); }

else if(ve[i].variety==4 && ve[i].enter==3) {

a=0.3*l3;

printf("此车应缴费%f元",a); }

else if(ve[i].variety==5&& ve[i].enter==1) {

b=0.5*l1;

printf("此车应缴费%f元",b); }

else if(ve[i].variety==5 && ve[i].enter==2) {

b=0.4*l2;

printf("此车应缴费%f元",b); }

else if(ve[i].variety==5 && ve[i].enter==3) {

b=0.3*l3;

printf("此车应缴费%f元",b); }

else if(ve[i].variety==6 && ve[i].enter==1) {

c=0.3*l1;

printf("此车应缴费%f元",c); }

else if(ve[i].variety==6 && ve[i].enter==2) {

c=0.3*l2;

printf("此车应缴费%f元",c); }

else if(ve[i].variety==6 && ve[i].enter==3) {

c=0.3*l3;

printf("此车应缴费%f元",c); }

return;

}

void all()

{

printf("\n\n\n\n");

printf("车辆总数为:%d",count);

return;

}

攀枝花学院

学生课程设计(论文)

题 目: 高速公路计费系统设计 学生姓名: 号:所在院(系) : 数学与计算机学院 专 业: 软件工程 班 级: 指导教师: 职称:

2013年1月 4日 攀枝花教务处制

攀枝花学院本科学生课程设计任务书

注:任务书由指导教师填写

课程设计(论文)指导教师成绩评定表

摘要

中国已经有4万多公里的高速公路,在未来还将翻倍。修建高速公路被各地官员拉入地方经济工作日常首要位置,与1950年后的美国相似,越来越密集的高速网正在促使着中国发生巨大的变化。

高速公路收费系统是高速公路管理的重要组成部分。建立智能化的收费系统是加强高速公路管理的一个重要环节。高速公路收费系统解决了高速公路收费业务中由于采取传统方法和手段出现的难以处理的问题,并把管理对象转向信息对象的信息管理系统,把高速公路收费系统推向另一个高度。

利用计算机进行高速公路计费系统设计,是利用C 语言对数据的输入、保存、收取费用、统计等功能。通过输入的车牌号,计算出所需要的费用,并统计过往车辆的数目。

关键词:高速公路、智能交通、收费系统

目录

摘要 .................................................................................................................................................. I 1需求分析........................................................................................................................................ 3

1.1需求概述 . ............................................................................................................................ 3 随着我国经济的迅猛发展,高速公路交通作为经济发展的主要基础设施之一,越来越受到重视。 . .................................................................................................................................. 3 高速公路收费系统的需求分析主要以新的收费模式下高速公路的实际情况和运营管理方面的要求为基础。 . .............................................................................................................. 3 1.2需求环境 . ............................................................................................................................ 3 1.3 功能描述 . ........................................................................................................................... 3 2概要设计........................................................................................................................................ 5

2.1 程序功能模块 . ................................................................................................................... 5 2.2 程序流程图 . ....................................................................................................................... 6 2.3数据结构的设计 . ................................................................................................................ 6 3详细设计........................................................................................................................................ 8

3.1 程序的初始化 . ................................................................................................................... 8

3.1.1代码功能 . ................................................................................................................. 8 建立主要的程序。 . .......................................................................................................... 8 3.2.2 功能实现代码 . ........................................................................................................ 8 3.2 建立主菜单 . ....................................................................................................................... 9

3.2.1代码功能 . ................................................................................................................. 9 3.2.2 功能实现代码 . ........................................................................................................ 9 3.3 信息的输入 . ....................................................................................................................... 9

3.2.1代码功能 . ................................................................................................................. 9 3.3.2 功能实现代码 . ...................................................................................................... 10 3.4 信息的输出 . ..................................................................................................................... 10

3.4.1代码功能 . ............................................................................................................... 10 3.4.2 功能实现代码 . ...................................................................................................... 10 3.5 统计结果 . ......................................................................................................................... 12

3.5.1代码功能 . ............................................................................................................... 12 3.5.2 功能实现代码 . ...................................................................................................... 13

4 测试与运行 . ................................................................................................................................ 14 结束语 ............................................................................................................................................ 17 参考文献......................................................................................................................................... 18 附页 ................................................................................................................................................ 19

1需求分析

1.1需求概述

随着我国经济的迅猛发展,高速公路交通作为经济发展的主要基础设施之一,越来越受到重视。

高速公路收费系统的需求分析主要以新的收费模式下高速公路的实际情况和运营管理方面的要求为基础。

车道收费软件按功能分为进入和离开两种类型:

进入车道收费系统通过所配车道设备及收费员对进入高速公路的车辆进行识别车牌、车型、车情输入。将车道信息、车型、车牌号、日期时间等其他信息写入数据库表中,形成记录。然后抬起电动栏杆机,让车辆驶出车道,完成进入的操作。

离开车道收费系统通过所配车道设备及收费员对驶出高速公路的车辆进行识别车牌。对读出的信息进行自动及人工核对,计算出通行费,并用费额显示器显示收费金额,并用语音设备发出礼貌用语收取通行费。将出口的站点、车道标识信息、收费标识信息、车型、车种、车牌号、日期时间等其他信息在车道数据库表中写成记录,并保存; 再打开电动栏杆机,车辆驶出车道,让车辆离开收费站。

1.2需求环境

本课程设计需要的设备为硬件要求和软件配置要求具体要求如下: ①硬件要求:一台计算机。

②软件配置:WINDOWS 、C/VC++6.0。

1.3 功能描述

本课程设计是利用图形学的相关知识在TC 或Visual C++环境下利用结构体、switch 语句等来实现高速公路收费的全过程,其基本的功能描述如下:

I. 建立主菜单。

II. 输入车辆信息,包括:车牌号、车辆类型、收费入口、进入时间,并进

行包存。

III. 收取通行费(输入车牌号,显示该车的类型、进入时间、进入口、

该支付的费用。)

IV. 统计在工作人员上班期间所有通过的车辆的总数。

2概要设计

2.1 程序功能模块

由需求分析知,本次课程设计是用于高速公路收费,故其功能模块分为:

●●● 三个模块。进入系统主菜单 信息的输入 信息的输出

2.2 程序流程图

图2.1程序流程图

2.3数据结构的设计

根据需求分析将高速公路收费系统的数据结构的设计如下:

01. 用一个结构体数组

struct vehicle{ char num[8];

int variety//用4.5.6分别代表大. 中. 小车型//; int entime;//进入时间//

int enter;//入口//

} ve[N];来定义过往的车辆及车的车牌号、类型、进入时间、进入口。

02. 用函数void menu();来表示主菜单。

03. 用函数void input();表示信息的输入。

04. 用函数void show();表示信息的输出及收取的费用。

05. 用函数void all();来表示统计的结果。

3详细设计

3.1 程序的初始化

3.1.1代码功能

建立主要的程序。

3.2.2 功能实现代码

struct vehicle//车辆的信息,包括:车牌号、种类、进入时间、入口//

{

char num[8];

int variety;//用4.5.6分别代表大. 中. 小车型//

int entime;

int enter;

}ve[N];

int count=0;//定义全局变量,以便于统计//

void menu();//主菜单函数//

void input();//输入函数//

void show();//输出函数//

void all();//统计函数//

void main()

{

while(1)

{

menu();

}

}

3.2 建立主菜单

3.2.1代码功能

在初始化程序中,主要实现的是主菜单的形成以及进入主菜单后做出相应的选择。

3.2.2 功能实现代码

void menu()//建立主菜单//

{

char n;

printf("\n\n\n\n\n");//先将主菜单位于屏幕中央//

printf(" 欢迎使用高速公路收费系统\n");

printf(" 主菜单\n");

printf(" 1. 输入车辆信息 \n");

printf(" 2. 显示车辆信息 \n");

printf(" 3. 显示车辆总数 \n"); printf(" 请输入数字选择操作类型:\n");

n=getch();

switch(n)

{

case '1': input();break;//如果输入的数字为1,则表示应该输入车辆的一系列的信息//

case '2': show();break; //如果输入的数字为2,则表示应该输出车辆信息以及应该收取的费用//

case '3': all();break; //如果输入的数字为3,则表示应该输出该工作期间统计的总的车辆通过数//

default: break;

}

}

3.3 信息的输入

3.2.1代码功能

信息的输入的功能就是将车辆的车牌号、类型、进入时间、进

入口的信息输入电脑。

3.3.2 功能实现代码

void input()//进行车辆信息的输入//

{

printf("请输入车辆信息\n");

printf("车牌号:\n");

scanf("%s",&ve[count].num);

printf("车辆类型(4,5,6分别代表大,中,小):\n");

scanf("%d",&ve[count].variety);

printf("进入时间:\n");

scanf("%d",&ve[count].entime);

printf("入口(1,2,3代表三个入口):\n");

scanf("%d",&ve[count].enter);

count++;//每一次车辆进入count 加1,统计总的车辆数//

printf("是否继续添加(Y/N)\n");

if(getch()=='y'||getch()=='Y') //判断是否继续添加,如果输入的是’y ’或者是‘Y ’,则继续输入。如果输入的是其他符号。则停止输入并返回主菜单//

input();

}

3.4 信息的输出

3.4.1代码功能

输出车辆信息及应该收取的费用。

3.4.2 功能实现代码

void show()//求某一辆车的信息及收费//

{

char num[8];

int i;

double a,b,c,l1=200,l2=300,l3=400;// 定义三个入口到出口的路程分别是l1 l2 l3(200 300 400)公里//

printf("请输入车牌号:\n");//输入车牌号,以便于对该车的信息进行核对,并进行后面的操作//

scanf("%s",num);

for(i=0;i

{if(strcmp(ve[i].num,num)==0)//如果有车辆的车牌号于输入的车牌号相同则输出该车的信息,以及进行计算//

{

printf("车辆信息:\n");

printf("车辆类型:%d\n",ve[i].variety);

printf("入口站:%d\n",ve[i].enter);

printf("进入时间:%d\n",ve[i].entime);

printf("车牌号:%s\n",ve[i].num);

}

}

for(i=0;i

{

if(ve[i].variety==4 && ve[i].enter==1)//如果该车属于大型车,且由1号入口进入//

{

a=0.5*l1;

printf("此车应缴费%f元",a);

}

else if(ve[i].variety==4 && ve[i].enter==2) //如果该车属于大型车,且由2号入口进入//

{

a=0.4*l2;

printf("此车应缴费%f元",a);

}

else if(ve[i].variety==4 && ve[i].enter==3)// 如果该车属于大型车,且由3号入口进入//

{

a=0.3*l3;

printf("此车应缴费%f元",a);

}

else if(ve[i].variety==5&& ve[i].enter==1)// 如果该车属于中型车,且由1号入口进入//

{

b=0.5*l1;

printf("此车应缴费%f元",b);

}

else if(ve[i].variety==5 && ve[i].enter==2) //如果该车属于中型车,

且由2号入口进入//

{

b=0.4*l2;

printf("此车应缴费%f元",b);

}

else if(ve[i].variety==5 && ve[i].enter==3) //如果该车属于中型车,且由3号入口进入//

{

b=0.3*l3;

printf("此车应缴费%f元",b);

}

else if(ve[i].variety==6 && ve[i].enter==1) //如果该车属于小型车,且由1号入口进入//

{

c=0.3*l1;

printf("此车应缴费%f元",c);

}

else if(ve[i].variety==6 && ve[i].enter==2)// 如果该车属于大型车,且由2号入口进入//

{

c=0.3*l2;

printf("此车应缴费%f元",c);

}

else if(ve[i].variety==6 && ve[i].enter==3)// 如果该车属于大型车,且由3号入口进入//

{

c=0.3*l3;

printf("此车应缴费%f元",c);

}

}

return;

}

3.5 统计结果

3.5.1代码功能

输出在工作期间一共有多少辆车通过了这一个收费

3.5.2 功能实现代码

void all()

{

printf("车辆总数为:%d",count);

return;

}

4 测试与运行

由需求分析可知,高速公路收费系统设计是在TC 环境下进行的。本程序已调试成功并实现了其功能,其运行结果如下:

1. 主菜单界面

图4.1主菜单界面图

2.输入界面

图4.2输入界面图1

2.1如果不继续添加

图4.3输入界面图2

2.2 如果继续添加

图4.4输入界面图3

3输出界面

图 4.5输出界面图

4. 统计界面

图4.6统计界面图

结束语

在这次课程设计中,我基本上完成了任务,值得总结的有以下及几点:

1. 在开发实现之前,对需求要理解清楚,对收费流程要了解透彻,明晰所要达到的性能指标;

2. 采用有效的模式提高开发的效率,增强系统的灵活性;

3. 适当简化一些复杂的流程,采取分而治之的策略;

4. 在碰到问题难以解决时,要多向老师和同学提问,多和老师同学交流; 遇到的不足:

1. 系统收费模型比较粗糙,有待进一步完善;

2. 由于水平有限,软件设计部分不够完善,有待于进一步研究;

虽然我的设计是一个人一组的, 但我深刻地认识到只有大家一起努力地学习并研究相关的知识,才能提高做事的效率,也才能更好更快地完成任务。所以这将在我以后的学习和生活中有很在的引导作用。在以后的学习中,我也将加倍地学习图形学的有关知识,以同样的方法学习其他的知识,不断地丰富自己,充实自己,提高自己的能力。

参考文献

[1]谭浩强. 《C 程序设计》. 清华大学出版社.2010.6

[2]杨浩. 《c 语言入门经典》. 清华大学出版社.2007.5

[3刘振安. 单继龙. 《C 程序设计课程设计》. 机械工业出版社.2010.1

[4]汪诗林,《数据结构算法与应用》. 机械工业出版社.2000.1

[5]杨兆升,《智能运输系统概论》. 人民交通出版社2003.1

附页

源代码:

include

#define N 10

struct vehicle

{

char num[8];

int variety;//用4.5.6分别代表大. 中. 小车型//

int entime;

int enter;

}ve[N];

int count=0;

void menu();

void input();

void show();

void all();

void main()

{

while(1)

{

menu();

}

system("pause");

}

void menu()

{

char n;

printf("\n\n\n\n\n\n\n\n\n\n\n\n");

printf(" 欢迎使用高速公路收费系统\n");

printf(" 主菜单\n");

printf(" 1. 输入车辆信息 \n");

printf(" 2. 显示车辆信息 \n");

printf(" 3. 显示车辆总数 \n"); printf(" 请输入数字选择操作类型:\n");

n=getch();

switch(n)

{

case '1': input();break;

case '2': show();break;

case '3': all();break;

default: break;

}

}

void input()

{

printf("请输入车辆信息\n");

printf("车牌号:\n");

scanf("%s",&ve[count].num);

printf("车辆类型(4,5,6分别代表大,中,小):\n");

scanf("%d",&ve[count].variety);

printf("进入时间:\n");

scanf("%d",&ve[count].entime);

printf("入口(1,2,3代表三个入口):\n");

scanf("%d",&ve[count].enter);

count++;

printf("是否继续添加(Y/N)\n");

if(getch()=='y'||getch()=='Y')

input();

}

void show()

{

char num[8];

int i;

double a,b,c,l1=200,l2=300,l3=400;// 定义三个入口到出口的路程分别是l1 l2 l3(200 300 400)公里

printf("请输入车牌号:\n");

scanf("%s",num);

for(i=0;i

{if(strcmp(ve[i].num,num)==0)

{

printf("车辆信息:");

printf("车辆类型:%d\n",ve[i].variety);

printf("入口站:%d\n",ve[i].enter);

printf("进入时间:%d\n",ve[i].entime);

printf("车牌号:%s\n",ve[i].num);

}

}

for(i=0;i

{ if(ve[i].variety==4 && ve[i].enter==1)

a=0.5*l1;

printf("此车应缴费%f元",a); }

else if(ve[i].variety==4 && ve[i].enter==2) {

a=0.4*l2;

printf("此车应缴费%f元",a); }

else if(ve[i].variety==4 && ve[i].enter==3) {

a=0.3*l3;

printf("此车应缴费%f元",a); }

else if(ve[i].variety==5&& ve[i].enter==1) {

b=0.5*l1;

printf("此车应缴费%f元",b); }

else if(ve[i].variety==5 && ve[i].enter==2) {

b=0.4*l2;

printf("此车应缴费%f元",b); }

else if(ve[i].variety==5 && ve[i].enter==3) {

b=0.3*l3;

printf("此车应缴费%f元",b); }

else if(ve[i].variety==6 && ve[i].enter==1) {

c=0.3*l1;

printf("此车应缴费%f元",c); }

else if(ve[i].variety==6 && ve[i].enter==2) {

c=0.3*l2;

printf("此车应缴费%f元",c); }

else if(ve[i].variety==6 && ve[i].enter==3) {

c=0.3*l3;

printf("此车应缴费%f元",c); }

return;

}

void all()

{

printf("\n\n\n\n");

printf("车辆总数为:%d",count);

return;

}


相关文章

  • 广东省高速公路收费车辆车型分类标准及收费系数表
  • 附件1: 广东省高速公路收费车辆车型分类标准及收费系数表 附件2: 广清高速公路车辆通行费收费标准表 /车次 清远西 附件3: 广清高速公路与广州市北环高速公路连接线 收费车辆车型分类标准及收费系数和收费标准表 单位:元/车次 附件4: 惠 ...查看


  • 给学生的申论案例
  • 一.注意事项 1. 申论考试是对应考者阅读理解能力.综合分析能力.提出和解决问题能力.文字表达能力的测试. 2. 作答参考时限:阅读材料40分钟,作答110分钟. 3. 仔细阅读给定材料,按照后面提出的"作答要求"依次作 ...查看


  • 各地延长高速公路收费期限花样百出|山东高速|高速路收费|马甲游戏
  • [推荐阅读]山东15条高速到期后拟继续收费:等国家出台新规 评论:关于"高速公路免费"之行政相声 各地延长高速公路收费期限 花样百出 大有"收费一万年"的架势 中国山东省15条高速收费项目今年年底到期 ...查看


  • 高速公路收费系统的安装与调试.
  • 毕业设计(论文) 设计(论文)题目:高速公路收费系统的安装和调试 学生姓名: 华航 学生学号: [1**********]11 专业班级: 电气1550 指导老师: 陈万强 2015年5月2日 摘要 高速公路收费系统是高速公路管理的重要组成 ...查看


  • 浅析高速路免费之利弊
  • 浅析高速路免费之利弊 作者:许云鹤 李治广 来源:<中小企业管理与科技·上旬刊>2015年第02期 摘要:2012年8.9月,国务院及交通运输部先后发布通知,明确 "重大节假日免收小型客车通行费",在这之后, ...查看


  • 高速公路收费系统解决方案
  • 高速公路收费系统技术白皮书 2012年4月 1. 系统概述 1.1 背景 高速公路收费系统,是高速公路业务的重要组成部分.建立这样一个系统是提高我国交通收费业务科学管理化的一个重要环节.将解决在交通收费业务中由于采用传统方法和手段所出现的难 ...查看


  • 浅谈高速公路收费人员招聘
  • 浅谈高速公路收费人员招聘 摘要:高速公路是一个新兴行业."贷款修路,收费还贷"是目前我国高速公路主要的发展模式.随着我国高速公路通车里程的不断延伸,收费人员队伍也不断壮大.如何结合行业特性,招聘到适合高速公路的收费人员, ...查看


  • 八万家收费站吸金公路
  • 收费公路现在已经变身为中国某些地方政府的印钞机,设一道栏.宰一刀,获取的通行费收入竟然高出投资成本数倍乃至十倍以上. 从去年12月22日起,湖南长沙全面撤销浏阳.宁乡.望城3个县市境内4条二级公路的7个收费站.至此,长沙境内除高速公路收费站 ...查看


  • 交通运输部:坚决撤销收费期满的公路收费项目
  • 2011年06月14日 15:31:47 来源: 交通运输部网站 各省.自治区.直辖市人民政府: 为贯彻落实十七届中央纪委第六次全体会议和国务院第四次廉政工作会议精神,切实解决收费公路超期收费.违规设站(点)等突出问题,经国务院同意,现就开 ...查看


  • 国庆假期部分省份出台高速免费细则一览
  • 国庆假期部分省份出台高速免费细则一览 省份 北京 天津 上海 重庆 河北 河南 辽宁 吉林 黑龙江 新疆 内蒙古 云南 江苏 浙江 福建 江西 山西 山东 湖北 湖南 广东 广西 四川 贵州 甘肃 安徽 陕西 宁夏 青海 免费范围 收费公路 ...查看


热门内容