高速公路收费系统C语言课程设计报告
- 格式:doc
- 大小:580.50 KB
- 文档页数:21
前言高速公路作为现代化的公路基础设施,其生产和发展是国民经济发展的必然结果。
高速公路具有“高速、高效、安全、舒适”的优点,但也需要花费大量的资金修建和维护,因此必然就会出现收费高速公路。
当前我国高速公路发展速度很快,收费公路的出现,必然会带来收费系统的飞速发展。
目前高速公路自动化收费给系统,尤其是电子收费系统发展更是不可同日而语。
计算机技术的广泛应用正在使收费系统能够由传统人工方式向自动化、电子收费方向发展转变,它解决了很多传统收费存在的问题,如大大减少了通行费的流失,能够快速、准确、全面的查询和统计各种收费数据,降低或省去了收费员的繁重劳动,方便了用户,提高高速公路运营效率。
第一篇设计说明一、工程概况建设某封闭式双向十车道收费站,在此收费站不仅有人工收费车道,还设有ETC收费车道,计重收费车道及自动发卡收费车道。
二、设计内容、原则、目标2.1 设计内容在此封闭式双向十车道收费系统中,双向各设计两条人工收费车道、一条计重收费车道、一条ETC电子收费车道和一条自动发卡收费车道。
并给出工程概况,提出设计原则、目标、依据,总体设计方案,收费系统设计方案收费系统设备技术要求。
在收费系统方案设计中,必须包括管理机构层次,收费站站点分布,业务流程,网络拓扑,设备布设,设备连接,软件功能及流程的设计。
2.2设计原则收费系统设计一般应遵循以下原则:●对收费路段通过的车辆(除军车、特种车外)进行可靠的监测,合理规范地运行操作,最大限度避免逃、漏通行费的现象发生。
●收费系统所有收费记录必须全部入账,所有记录完整、正确,最大限度地堵塞来自收费过程及后期管理的财务漏洞。
●车道控制系统应精确、可靠,保证各级收费业务的正常执行。
●收费系统应具备较高的服务水平,体现出收费处理的实用、易操作等特点,尽量减少由于收费系统的分人所产生的交通延误。
●收费系统应能向交通监控系统提供必要的交通数据,为道路交通管理提供帮助。
●考虑系统未来的扩展,在减少设备成本投入的同时,应充分留有余地,以便系统升级、兼容及功能的扩充。
《数据库系统概论》综合设计性实验报告题目:高速公路收费系统专业:班级:学号:姓名:2009年6月目录第一部分需求分析 (3)1.调查高速公路收费系统需求 (3)1.1用户对系统的要求 (3)1.1.1 职工管理员: (3)1.1.2完整性要求: (4)2. 系统功能的设计和划分 (4)2.1 职工管理部分 (4)2.2管理员管理部分 (4)3. 数据流图 (4)4. 数据字典 (5)4.1 数据项 (5)4.2 数据结构 (7)第二部分概要设计 (8)1. 根据需求分析说明书设计ER图 (8)1.1 设计完成的ER图为: (8)1.2 分E-R图 (9)1.2.1 车子E-R图: (9)1.2.2 收费站E-R图: (9)1.2.3 收费功能信息E-R图: (10)1.2.4 职工E-R图: (10)1.2.5 收费站与职工E-R图: (11)1.2.6 职工管理E-R图: (12)第三部分逻辑结构设计 (13)1. 将E-R图转换为关系模式 (13)1.1 E-R图: (13)1.3 关系模式 (14)第四部分物理结构设计 (15)第一部分需求分析1.调查高速公路收费系统需求在现代运输的铁路、公路、水运、航运和管理五种方式中,目前我国公路运输约占全国客、货运输总量的一半以上。
近年来,我国高速公路的发展很快,高速公路总里程跃居世界第二位,从而大大改善了公路路网结构,缓解了交通旅游业的发展,推动沿线产业结构调整,加快了中小城镇的发。
随着高速公路的建设,收费站数目的不断增加,对现有的收费管理和收费人员提出了新的要求:提高收费效率、降低收费差错,提高收费站管理服务水平。
而以手工收费、手工做帐为主的传统收费方式已经不能满足当前收费的实际需要。
这种传统收费方式的效率低、差错多,票证人员一直忙于做各种台帐、报表,管理人员无法及时了解一线人员的收费情况。
当少数“行为不规人员”放“人情车”“卖回笼票”时无法监督,同时社会上一些不法车主冲逃票时有发生,但是因没有证据无法按章惩办。
题目:高速公路计费系统设计功能:在某高速公路出口收费处,对三种类型的车辆计费,大型车每公里0。
5元,中型车每公里0。
4元,小型车每公里0。
3元,来车验条,乘公里数即得该收的款项。
在交班时要统计出总数。
分步实施:1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;2、完成最低要求:建立一个只有三个入口的计费系统,并能进行统计计算,打印出报表;3、进一步要求:完成任意多个入口的通用系统。
要求:1、用C语言实现程序设计;2、利用结构体数组实现信息的数据结构设计;3、系统的各个功能模块要求用函数的形式实现;4、界面友好(良好的人机交互),程序加必要的注释。
总体设计1.本程序涉及的知识点变量的定义,输入输出函数、对文件的输入和输出和保存、for、switch、if等语句的使用,定义和使用结构体数组等等。
进入系统首页为主菜单,主菜单下分4个模块:模块1:录入车辆信息进入模块1后按提示要求录入车牌号码、时间、型号大小(用a、b、c分别表示大型、中型、小型)和入站口(1、2、3、4……表示不同入口站名称并分别对应不同公里路程数)。
模块2:查询车辆信息进入模块2后按提示要求录入所要查询的车牌号码,即可查询其进站入口,时间,及所需费用等信息模块3:车辆统计报表进入模块3后即可显示操作员之前录入的所有车辆的各个信息,并统计出车辆总数及应收总费用。
模块4:保存关闭系统进入模块4后系统自动保存所有车辆信息,并按提示可推出本系统。
流程图主函数:#include<stdio.h>#include<stdlib.h>#include<string.h>#include<conio.h>#define N 100#define M 4 //入口数量,可设置多个路口char a[]={20,30,40,50}; //路口1 :20公里,路口2 :30公里,路口3 :40公里, 路口4 :50公里char str[][3]={"k1","k2","k3","k4"}; //入口名称,分别对应上面数组的公里数FILE*fp;int count;void input();void cheak();void tongji();void read();void menu();void writefile();struct vehicle //车辆信息{char num[15];char time[6];char size[2];char road[3];float cost;}ve[N];void main(){read();while(1){menu();}}void read() //导入文件{char filename[20];if((fp=fopen("tql.txt","r"))==NULL){printf("无此文件,新建一个文件\n");printf("输入文件名,回车键结束:");scanf("%s",filename);if((fp=fopen(filename,"w"))==NULL){printf("新建失败");exit(0);}else{printf("新建文件成功,按任意键返回主菜单");getchar();return;}}fseek(fp,0,2); // 文件内部指针退回到离文件结尾0位置,即指针指向文件内部末尾处if(ftell(fp)>0) // 使用fseek函数后再调用函数ftell()就能非常容易地确定文件的当前位置。
c语言课程设计交通一、教学目标本章节的教学目标分为三个部分:知识目标、技能目标和情感态度价值观目标。
1.知识目标:通过本章节的学习,学生需要掌握C语言的基本语法、数据类型、运算符、控制结构等基础知识。
2.技能目标:学生能够运用C语言编写简单的交通管理系统,实现对车辆信息的增删查改功能。
3.情感态度价值观目标:培养学生对编程语言的兴趣,提高学生解决问题的能力,培养学生的创新思维。
二、教学内容本章节的教学内容主要包括以下几个部分:1.C语言的基本语法和数据类型。
2.运算符和控制结构。
3.函数的定义和调用。
4.文件的读写操作。
5.交通管理系统的实现。
三、教学方法为了提高教学效果,本章节将采用多种教学方法:1.讲授法:讲解C语言的基本语法、数据类型、运算符和控制结构等知识点。
2.案例分析法:通过分析实际的交通管理系统案例,让学生理解并掌握如何运用C语言解决实际问题。
3.实验法:让学生动手编写交通管理系统,提高学生的实际操作能力。
4.讨论法:在课堂上学生进行讨论,促进学生之间的交流与合作。
四、教学资源为了支持教学内容的实施,我们将准备以下教学资源:1.教材:《C语言程序设计》。
2.参考书:《C语言编程实例教程》。
3.多媒体资料:交通管理系统的案例视频、演示文稿等。
4.实验设备:计算机、网络等。
通过以上教学资源的支持,为学生提供丰富的学习体验,提高教学效果。
五、教学评估本章节的评估方式包括以下几个方面:1.平时表现:通过学生在课堂上的参与度、提问回答、小组讨论等表现来评估。
2.作业:布置相关的编程作业,评估学生对C语言知识的掌握程度和运用能力。
3.考试:进行期末考试,包括选择题、填空题、编程题等,全面评估学生的学习成果。
评估方式应客观、公正,能够全面反映学生的学习成果。
通过评估,及时发现学生的不足,给予针对性的指导和帮助。
六、教学安排本章节的教学安排如下:1.教学进度:按照教材的章节顺序进行教学,确保学生系统地掌握C语言知识。
收费管理系统c语言课程设计一、课程目标知识目标:1. 理解C语言在收费管理系统中的应用,掌握基本的数据结构(如数组、结构体)和文件操作相关知识。
2. 学会使用C语言编写程序,实现收费管理系统的基本功能,如用户注册、登录、费用查询、费用缴纳等。
3. 了解收费管理系统的设计思路和模块划分,掌握模块化编程的方法。
技能目标:1. 培养学生运用C语言解决实际问题的能力,提高编程实践技能。
2. 学会使用调试工具,能够自主调试程序,找出并修复错误。
3. 提高团队协作能力,学会与他人共同分析问题、设计解决方案。
情感态度价值观目标:1. 培养学生积极探究、勇于实践的精神,增强学习编程的兴趣。
2. 培养良好的编程习惯,注重代码规范和程序优化。
3. 增强学生的网络安全意识,认识到收费管理系统在实际应用中的重要性。
课程性质:本课程为实践性较强的课程,要求学生在掌握C语言基础知识的基础上,运用所学知识进行实际编程。
学生特点:学生已经具备一定的C语言基础,但实际编程经验不足,对收费管理系统这一实际应用场景较为陌生。
教学要求:注重理论与实践相结合,通过讲解、示范、练习、讨论等多种教学方式,引导学生掌握收费管理系统的设计与实现方法。
同时,关注学生的个体差异,提供个性化指导,确保每个学生都能达到课程目标。
将课程目标分解为具体的学习成果,便于教学设计和评估。
二、教学内容1. 数据结构与文件操作:回顾C语言中的数组、结构体等基本数据结构,介绍文件操作相关知识,为编写收费管理系统打下基础。
- 数组的使用与操作- 结构体的定义与使用- 文件读写操作2. 收费管理系统功能模块设计:- 用户注册模块:实现用户注册功能,包括用户名、密码等信息的存储- 用户登录模块:实现用户登录功能,验证用户名和密码的正确性- 费用查询模块:实现用户费用查询功能,展示用户消费记录- 费用缴纳模块:实现用户费用缴纳功能,包括充值、支付等操作3. 编程实践与模块化设计:- 编程规范与代码优化- 模块化编程方法与实践- 调试工具的使用与程序调试技巧4. 团队协作与项目实践:- 分析与讨论:分组讨论,共同分析收费管理系统的需求与设计- 项目实践:小组成员分工合作,共同完成收费管理系统的设计与实现5. 教学进度安排:- 第一周:数据结构与文件操作知识回顾- 第二周:收费管理系统功能模块设计- 第三周:编程实践与模块化设计- 第四周:团队协作与项目实践,完成收费管理系统设计与实现教学内容与教材关联性:本课程教学内容与教材相关章节紧密相关,如数据结构与文件操作、模块化编程、调试技巧等,确保学生能够将所学知识应用于实际项目中。
c 公路收费问题课程设计一、课程目标知识目标:1. 让学生理解公路收费的基本概念,掌握收费标准的计算方法。
2. 培养学生运用数学知识解决实际问题的能力,学会运用公式进行收费计算。
3. 了解我国公路收费政策及其实施情况,认识收费公路对社会和经济的影响。
技能目标:1. 培养学生运用数学公式和计算方法解决公路收费问题的能力。
2. 提高学生分析问题、解决问题的能力,能够针对不同情况制定合理的收费标准。
3. 培养学生的数据分析和逻辑思维能力,学会整理和表达自己的观点。
情感态度价值观目标:1. 培养学生对社会现象的关注和思考,提高社会责任感。
2. 增强学生对数学学科的实际应用价值的认识,激发学习兴趣。
3. 培养学生合作、探究的学习态度,尊重他人观点,形成良好的沟通和团队协作能力。
本课程针对初中年级学生,结合数学学科特点,注重培养学生的实际应用能力。
在教学过程中,关注学生个体差异,充分调动学生的积极性和主动性,使学生在掌握知识的同时,提高自己的综合素质。
课程目标具体、可衡量,为后续教学设计和评估提供明确的方向。
二、教学内容1. 公路收费的基本概念:介绍收费公路的定义、分类及其作用。
- 教材章节:第二章第三节“生活中的数学——收费问题”2. 收费标准的计算方法:讲解公式推导,举例说明不同类型的收费标准。
- 教材章节:第二章第四节“收费标准的计算方法”3. 我国公路收费政策及其实施情况:分析政策背景、现状及发展趋势。
- 教材章节:第二章第五节“我国的公路收费制度”4. 收费公路对社会和经济的影响:探讨收费公路对地区经济、居民出行的影响。
- 教材章节:第二章第六节“收费公路的影响”5. 实际案例分析:分析具体案例,使学生理解公路收费问题在实际生活中的应用。
- 教材章节:第二章实践活动“公路收费问题案例分析”教学内容按照科学性和系统性进行组织,结合课程目标,制定以下教学大纲:第一课时:公路收费的基本概念第二课时:收费标准的计算方法第三课时:我国公路收费政策及其实施情况第四课时:收费公路对社会和经济的影响第五课时:实际案例分析在教学过程中,教师应关注学生掌握知识的情况,适时调整教学进度,确保学生能够扎实掌握教学内容。
c语言课程设计日常费用系统一、教学目标本章节的教学目标是使学生掌握C语言编程的基本技能,通过设计一个日常费用管理系统,让学生能够理解和运用C语言编程思想,培养学生的实际编程能力和问题解决能力。
在知识目标方面,学生需要掌握C语言的基本语法、数据类型、控制结构、函数等基本知识;在技能目标方面,学生需要能够运用C语言进行程序设计,能够独立完成一个日常费用管理系统的设计和实现;在情感态度价值观目标方面,学生需要培养对编程的兴趣和热情,培养良好的编程习惯和团队协作精神。
二、教学内容本章节的教学内容主要包括C语言的基本语法、数据类型、控制结构、函数等基本知识,以及如何运用这些知识设计一个日常费用管理系统。
具体的教学大纲如下:1.C语言的基本语法和数据类型2.C语言的控制结构3.C语言的函数4.日常费用管理系统的需求分析5.日常费用管理系统的程序设计6.日常费用管理系统的测试和优化三、教学方法为了达到本章节的教学目标,我们将采用多种教学方法,包括讲授法、案例分析法、实验法等。
通过这些方法,我们将引导学生掌握C语言的基本知识,培养学生的编程能力和问题解决能力。
具体的教学方法如下:1.讲授法:用于讲解C语言的基本语法、数据类型、控制结构、函数等基本知识。
2.案例分析法:通过分析日常费用管理系统的案例,让学生理解和掌握如何运用C语言进行程序设计。
3.实验法:让学生动手编写和测试日常费用管理系统,培养学生的实际编程能力和问题解决能力。
四、教学资源为了支持本章节的教学内容和教学方法,我们将准备多种教学资源,包括教材、参考书、多媒体资料、实验设备等。
具体的教学资源如下:1.教材:C语言编程教程,用于讲解C语言的基本语法、数据类型、控制结构、函数等基本知识。
2.参考书:C语言编程实践,用于引导学生进行案例分析和实验操作。
3.多媒体资料:包括PPT、视频教程等,用于辅助讲解和演示C语言编程方法。
4.实验设备:计算机、编程环境等,用于学生进行实验操作和编写程序。
c语言课程设计缴费系统一、教学目标本课程的目标是让学生掌握C语言的基本语法,能够运用C语言设计一个简单的缴费系统。
通过本课程的学习,学生应能够理解C语言的基本数据类型、运算符、控制结构、函数等概念,并能够运用这些知识设计、编写并调试C语言程序。
同时,通过课程的学习,培养学生的逻辑思维能力、问题解决能力和团队合作能力。
二、教学内容教学内容主要包括C语言的基本语法和编程技巧。
具体包括以下内容:1.C语言的基本数据类型和运算符2.控制结构:条件语句、循环语句3.函数:定义、调用、返回值4.数组和字符串5.结构体和文件操作6.编程技巧:代码规范、调试方法、算法设计三、教学方法本课程采用讲授法、案例分析法和实验法相结合的教学方法。
1.讲授法:用于讲解C语言的基本概念和语法规则。
2.案例分析法:通过分析实际案例,让学生掌握编程技巧和解决问题的方法。
3.实验法:通过上机实验,让学生动手实践,加深对C语言的理解和运用能力。
四、教学资源教学资源包括教材、实验设备和相关多媒体资料。
1.教材:《C语言程序设计》2.实验设备:计算机、网络设备3.多媒体资料:教学PPT、视频教程、在线编程练习平台五、教学评估本课程的评估方式包括平时表现、作业和考试三个部分。
1.平时表现:通过课堂参与、提问、讨论等方式评估学生的学习态度和理解能力。
2.作业:布置课后编程作业,评估学生的编程能力和解决问题的能力。
3.考试:定期进行理论考试和上机考试,评估学生对C语言知识的掌握程度。
六、教学安排本课程的教学安排如下:1.教学进度:按照教材的章节顺序进行教学,确保每个章节都有充分的时间进行讲解和实践。
2.教学时间:每周安排2个课时,其中1个课时用于讲授,1个课时用于实验和实践。
3.教学地点:教室和计算机实验室交替使用,以便学生能够及时进行实践操作。
七、差异化教学根据学生的不同学习风格、兴趣和能力水平,本课程将采取以下差异化教学措施:1.学习风格:提供多种学习资源,如视频教程、PPT讲解等,以满足不同学习风格的学生的需求。
学号0121510880212《计算机基础与综合编程实验》报告学院计算机科学与技术学院专业计算机类班级m1502班姓名韩龙指导教师张蕊日期2016-4-25目录1.实验目的-------------------------------------------------------12.系统功能描述-------------------------------------------------1添加卡信息----------------------------------------------------1查询卡信息----------------------------------------------------2上机操作-------------------------------------------------------------2下机操作--------------------------------------------------------------2充值操作--------------------------------------------------------------3退费操作--------------------------------------------------------------3注销卡操作-----------------------------------------------------------43.典型算法分析-------------------------------------------------44.开发难点与体会-------------------------------------------------75.实验总结----------------------------------------------------------81 实验目的了解迭代式软件开发的一般过程,领会需求分析、系统设计、系统实现以及系统测试等阶段的任务要点;深入理解和熟练应用C/C++语言的基本概念和基本原理,如数据类型、顺序选择和循环结构程序设计、函数等;熟练理解和掌握C/C++语言的高级知识,如字符串、结构体、文件读写、动态内存管理、链表等技术;熟练掌握在C/C++语言环境下,模块化开发的具体实现方法,深入领会和分析一些C/C++程序设计实用开发方法和技术;综合应用所学知识去分析需求,能够把所学的C/C++语言技术应用到具体的实践中去,并迭代式开发出一个软件系统,从而培养学生分析和解决问题的能力。
C语言程序设计课程设计报告设计题目:高速公路计费系统设计学号班级姓名题目:高速公路计费系统设计功能:在某高速公路出口收费处,对三种类型的车辆计费,大型车每公里0。
5元,中型车每公里0。
4元,小型车每公里0。
3元,来车验条,乘公里数即得该收的款项。
在交班时要统计出总数。
分步实施:1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;2、完成最低要求:建立一个只有三个入口的计费系统,并能进行统计计算,打印出报表;3、进一步要求:完成任意多个入口的通用系统。
要求:1、用C语言实现程序设计;2、利用结构体数组实现信息的数据结构设计;3、系统的各个功能模块要求用函数的形式实现;4、界面友好(良好的人机交互),程序加必要的注释。
课程设计实验报告要求:1、预习报告:题目、课程设计任务、数据结构、程序的总体设计(算法)、模块划分。
2、实验总结报告:流程图、主要源程序代码(需打印)、测试情况及调试中问题与解决方案、小结等。
一、总体设计1、仔细阅读系统要求,首先将此系统化分为如下模块(1)显示模块,是人机交互的界面,可引导操作员来完成程序的运行。
比如:系统主界面(主菜单),包含了输入车辆信息,显示车辆信息,显示车辆总数,退出程序四个可选操作,操作员可直观地完成信息处理。
(2)文件模块,可执行文件建立、文件保存、文件打开和文件写入等命令来操作处理和放置车辆信息的文件。
(3)输入模块是操作员向程序输入的模块,可输入操作内容和车辆的有关信息,比如:输入车牌号、车辆类型、进入口、时间,程序自动计算得出车辆应缴纳的费用并保存在文件。
(4)输出模块,通过程序计算,向操作员输出车辆信息、数据等(5)退出模块,可用一个函数exit()来实现,首先将信息保存到文件中,然后退出程序二、详细设计1、界面设计此系统界面采用符号和数字化菜单设计。
主界面设计如下:欢迎使用高速公路收费系统主菜单1.输入车辆信息2.显示车辆信息3.显示车辆总数4.保存退出系统请输入数字选择操作类型:2、流程图3、数据结构设计:程序设计中用到的结构体类型:车辆信息结构体类型:struct vehicle/*车辆信息*/{char num[10000];/*车牌号*/char variety[4];/*车辆类型a,b,c(大,中,小)*/int entime;/*进入时间*/char enter[3];/*进入口1,2,3……分别为各个入口*/}4、程序代码#include<stdio.h>#include<stdlib.h>#include<string.h>#include<conio.h>#define N 10/*定义三个入口到出口的路程分别是l1 l2 l3*/ struct vehicle/*车辆信息*/{char num[10000];/*车牌号*/char variety[4];/*车辆类型a,b,c(大,中,小)*/int entime;/*进入时间*/char enter[3];/*进入口1,2,3……分别为各个入口*/}ve[N];int count=0;FILE *fp;/*函数声明*/void menu();/*主菜单*/void input();/*输入函数*/void show();void all();void readfile();/*从文件导入*/void writefile();/*写入*/void main(){readfile();while(1){menu();}}void readfile()/*从文件导入 */{if((fp=fopen("vehicle.txt","r"))==NULL){printf("\n");printf("\n");printf("\n");printf("\n");printf("\t");printf("\t");printf("***********************************************\n");printf("\t");printf("\t");printf("* *\n");printf("\t");printf("\t");printf("* 文件为空,请添加信息 *\n");printf("\t");printf("\t");printf("* *\n");printf("\t");printf("\t");printf("***********************************************\n"); if((fp=fopen("vehicle.txt","w"))==NULL)/*只写*/{printf("\n");printf("\n");printf("\n");printf("\t");printf("\t");printf("***********************************************\n");printf("\t");printf("\t");printf("* *\n");printf("\t");printf("\t");printf("* 建立失败 *\n");printf("\t");printf("\t");printf("* *\n");printf("\t");printf("\t");printf("***********************************************\n");exit(0);/*正常退出*/}else{printf("\n");printf("\n");printf("\n");printf("\n");printf("\t");printf("\t");printf("***********************************************\n");printf("\t");printf("\t");printf("* *\n");printf("\t");printf("\t");printf("* 文件已建立 *\n");printf("\t");printf("\t");printf("* *\n");printf("\t");printf("\t");printf("*Please press any key to get to mainmenu! *\n"); printf("\t");printf("\t");printf("* *\n");printf("\t");printf("***********************************************\n");getch();return;}exit(0);}fseek(fp,0,2);/*文件指针fp指到到文件末尾*/if(ftell(fp)>0)/*文件不为空*/{fseek(fp,0,0);/*文件指针指到文件开始位置*/for(count=0;!feof(fp)&&fread(&ve[count],sizeof(struct vehicle),1,fp);count++);printf("\n");printf("\n");printf("\n");printf("\n");printf("\t");printf("\t");printf("***********************************************\n");printf("\t");printf("\t");printf("* *\n");printf("\t");printf("\t");printf("* 文件导入成功 *\n");printf("\t");printf("\t");printf("* *\n");printf("\t");printf("\t");printf("*Please press anykey to get back to mainmenu! *\n");printf("\t");printf("\t");printf("* *\n");printf("\t");printf("\t");printf("***********************************************\n");getch();return;}printf("\n");printf("\n");printf("\n");printf("\n");printf("\t");printf("\t");printf("***********************************************\n"); printf("\t");printf("\t");printf("* *\n"); printf("\t");printf("\t");printf("* 已成功打开文件! *\n"); printf("\t");printf("\t");printf("* *\n"); printf("\t");printf("\t");printf("*Please press anykey to get back to mainmenu! *\n"); printf("\t");printf("\t");printf("* *\n"); printf("\t");printf("\t");printf("***********************************************\n"); getch();return;}void menu(){system("cls");/*清屏*/char n;printf("\n");printf("\n");printf("\n");printf("\n");printf("\t");printf("\t***********************************************\n"); printf("\n");printf("\t");printf("\t* 欢迎使用高速公路收费系统 *\n"); printf("\n");printf("\t");printf("\t* 主菜单 *\n"); printf("\n");printf("\t");printf("\t* 1.输入车辆信息 *\n"); printf("\n");printf("\t");printf("\t* 2.显示车辆信息 *\n"); printf("\n");printf("\t");printf("\t* 3.显示车辆总数 *\n"); printf("\n");printf("\t");printf("\t* 4.保存退出系统 *\n"); printf("\n");printf("\t");printf("\t* 请输入数字选择操作类型: *\n"); printf("\n");printf("\t");printf("\t***********************************************\n"); n=getch();switch(n){case '1': input();break;case '2': show();break;case '3': all();break;case '4': writefile();break;default: break;}}void input(){system("cls");printf("请输入车辆信息\n");printf("车牌号:\n");scanf("%s",&ve[count].num);printf("车辆类型(a,b,c分别代表大,中,小):\n");scanf("%s",ve[count].variety);printf("进入时间:\n");scanf("%d",&ve[count].entime);printf("入口(1,2,3代表三个入口):\n");scanf("%s",&ve[count].enter);count++;printf("是否继续添加(Y/N)\n");if(getch()=='y'||getch()=='Y')input();else menu();}void show(){system("cls");char number[10];char id2;int i,R,de=0;double a,b,c,l1=200,l2=300,l3=400;/* 定义三个入口到出口的路程分别是l1 l2 l3(200 300 400)公里*/printf("\n\n\n\n\t\t***************************************************\n");printf("\t\t 请输入车牌号: \n");scanf("%s",&number);for(i=0;i<count;i++){if(strcmp(ve[i].num,number)==0){ de++;printf("\t\t 车辆信息情况: \n");printf("\t\t 车辆类型:%s \n",ve[i].variety);printf("\t\t 入口站:%s \n",ve[i].enter);printf("\t\t 进入时间:%d \n",ve[i].entime);printf("\t\t 车牌号:%s \n",ve[i].num);R=i;if(strcmp(ve[R].variety,"a")==0&&strcmp(ve[R].enter,"1")==0){a=0.5*l1;printf("\t\t 此车应缴费:%f元 \n",a);}else if(strcmp(ve[R].variety,"a")==0&&strcmp(ve[R].enter,"2")==0){a=0.5*l2;printf("\t\t 此车应缴费:%f元 \n",a);}else if(strcmp(ve[R].variety,"a")==0&&strcmp(ve[R].enter,"3")==0) {a=0.5*l3;printf("\t\t 此车应缴费:%f元 \n",a);}else if(strcmp(ve[R].variety,"b")==0&&strcmp(ve[R].enter,"1")==0) {b=0.4*l1;printf("\t\t 此车应缴费:%f元 \n",b);}else if(strcmp(ve[R].variety,"b")==0&&strcmp(ve[R].enter,"2")==0) {b=0.4*l2;printf("\t\t 此车应缴费:%f元 \n",b);}else if(strcmp(ve[R].variety,"b")==0&&strcmp(ve[R].enter,"3")==0) {b=0.4*l3;printf("\t\t 此车应缴费:%f元 \n",b);}else if(strcmp(ve[R].variety,"c")==0&&strcmp(ve[R].enter,"1")==0) {c=0.3*l1;printf("\t\t 此车应缴费:%f元 \n",c);}else if(strcmp(ve[R].variety,"c")==0&&strcmp(ve[R].enter,"2")==0) {c=0.3*l2;printf("\t\t 此车应缴费:%f元 \n",c);}else if(strcmp(ve[R].variety,"c")==0&&strcmp(ve[R].enter,"3")==0) {c=0.3*l3;printf(" \t\t 此车应缴费:%f元 \n",c);}}}if(de==0){printf("\t\t 此车记录为空\n");}printf("\t\tPlease press anykey to get back to mainmenu \n");printf("\t\t***************************************************\ n");id2=getch();menu();}void writefile(){int i;if((fp=fopen("vehicle.txt","w"))==NULL){printf("\n");printf("\n");printf("\n");printf("\n");printf("\t");printf("\t");printf("*************************************************\n");printf("\t");printf("\t");printf("\n* 文件打开失败*");printf("\t");printf("\t");printf("*************************************************\n");}for (i=0;i<count;i++){if(fwrite(&ve[i],sizeof(struct vehicle),1,fp)!=1){printf("\n");printf("\n");printf("\n");printf("\n");printf("\n");printf("\t");printf("\t");printf("*************************************************\n");printf("\t");printf("\t");printf("* 写入文件错误! *");printf("\t");printf("\t");printf("*************************************************\n"); }}fclose(fp);printf("\n");printf("\n");printf("\n");printf("\n");printf("\n");printf("\t");printf("\t");printf("*************************************************\n"); printf("\t");printf("\t");printf("* *\n"); printf("\t");printf("\t");printf("* 通讯录文件已保存 *\n"); printf("\t");printf("\t");printf("* *\n"); printf("\t");printf("\t");printf("* *\n"); printf("\t");printf("\t");printf("*Please press anykey to exit *\n"); printf("\t");printf("\t");printf("*************************************************\n"); exit(0);}void all(){system("cls");printf("\n");printf("\n");printf("\n");printf("\n");printf("\n");printf("\t");printf("\t");printf("*************************************************\n");printf("\t");printf("\t");printf("* 车辆总数为:%d *\n",count);printf("\t");printf("\t");printf("* *\n");printf("\t");printf("\t");printf("* *\n");printf("\t");printf("\t");printf("*Please press anykey to get back to mainmenu *\n");printf("\t");printf("\t");printf("************************************************\n");getch();menu();}三、测试及调试1、调试采用了输入数据模拟路口汽车收费。