资源描述:
《c语言课程设计报告-高速公路收费系统》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、题目:高速公路计费系统设计功能:在某高速公路出口收费处,对三种类型的车辆计费,大型车每公里0。5元,中型车每公里0。4元,小型车每公里0。3元,来车验条,乘公里数即得该收的款项。在交班时要统计出总数。分步实施:1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;2、完成最低要求:建立一个只有三个入口的计费系统,并能进行统计计算,打印出报表;3、进一步要求:完成任意多个入口的通用系统。要求:1、用C语言实现程序设计;2、利用结构体数组实现信息的数据结构设计;3、系统的各个功能模块要求用函数的形式实现;4、界面友
2、好(良好的人机交互),程序加必要的注释。总体设计菜单1.录入车辆信息2.查询车辆信息3.车辆统计报表4.保存关闭系统1.本程序涉及的知识点变量的定义,输入输出函数、对文件的输入和输出和保存、for、switch、if等语句的使用,定义和使用结构体数组等等。进入系统首页为主菜单,主菜单下分4个模块:模块1:录入车辆信息进入模块1后按提示要求录入车牌号码、时间、型号大小(用a、b、c分别表示大型、中型、小型)和入站口(1、2、3、4……表示不同入口站名称并分别对应不同公里路程数)。模块2:查询车辆信息进入模块2后按提示要求录入
3、所要查询的车牌号码,即可查询其进站入口,时间,及所需费用等信息模块3:车辆统计报表进入模块3后即可显示操作员之前录入的所有车辆的各个信息,并统计出车辆总数及应收总费用。模块4:保存关闭系统进入模块4后系统自动保存所有车辆信息,并按提示可推出本系统。流程图开始录入车辆信息查询车辆信息汇总报表保存退出系统菜单输入车牌号码输入进站时间输入车型大小输入入站口是否继续录入是否退出系统输入车牌号码是否继续查询保存数据结束YNYYNN显示车辆信息显示所有车辆信息、车辆总数及应收总费主函数:#include#includ
4、e#include#include#defineN100#defineM4//入口数量,可设置多个路口chara[]={20,30,40,50};//路口1:20公里,路口2:30公里,路口3:40公里,路口4:50公里charstr[][3]={"k1","k2","k3","k4"};//入口名称,分别对应上面数组的公里数FILE*fp;intcount;voidinput();voidcheak();voidtongji();voidread();voidme
5、nu();voidwritefile();structvehicle//车辆信息{charnum[15];chartime[6];charsize[2];charroad[3];floatcost;}ve[N];voidmain(){read();while(1){menu();}}voidread()//导入文件{charfilename[20];if((fp=fopen("tql.txt","r"))==NULL){printf("无此文件,新建一个文件");printf("输入文件名,回车键结束:");scanf
6、("%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()就能非常容易地确定文件的当前位置。{fseek(fp,0,0);for(count=0;!feof(fp)
7、&&fread(&ve[count],sizeof(structvehicle),1,fp);count++);return;}}voidmenu(){system("cls");chari;printf("t☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆★☆t****************欢迎来到公路计费系统*************ttt主菜单");printf("t********t录入车辆信息请按1t********");printf("t********t查询车辆
8、信息请按2t********");printf("t********t车辆统计报表请按3t********");printf("t********t保存关闭系统请按4t********t***************************************