C语言课程设计报告-高速公路收费系统

上传人:汽*** 文档编号:512397415 上传时间:2023-05-26 格式:DOC 页数:12 大小:242.50KB
返回 下载 相关 举报
C语言课程设计报告-高速公路收费系统_第1页
第1页 / 共12页
C语言课程设计报告-高速公路收费系统_第2页
第2页 / 共12页
C语言课程设计报告-高速公路收费系统_第3页
第3页 / 共12页
C语言课程设计报告-高速公路收费系统_第4页
第4页 / 共12页
C语言课程设计报告-高速公路收费系统_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《C语言课程设计报告-高速公路收费系统》由会员分享,可在线阅读,更多相关《C语言课程设计报告-高速公路收费系统(12页珍藏版)》请在金锄头文库上搜索。

1、题目:高速公路计费系统设计功能:在某高速公路出口收费处,对三种类型的车辆计费,大型车每公里0。5元,中型车每公里0。4元,小型车每公里0。3元,来车验条,乘公里数即得该收的款项。在交班时要统计出总数。分步实施:1、初步完成总体设计,搭好框架,确定人机对话的界面,确定函数个数;2、完成最低要求:建立一个只有三个入口的计费系统,并能进行统计计算,打印出报表;3、进一步要求:完成任意多个入口的通用系统。要求:1、用C语言实现程序设计;2、利用结构体数组实现信息的数据结构设计;3、系统的各个功能模块要求用函数的形式实现;4、界面友好良好的人机交互,程序加必要的注释。总体设计菜单变量的定义,输入输出函数

2、、对文件的输入和输出和保存、for、switch、if等语句的使用,定义和使用结构体数组等等。进入系统首页为主菜单,主菜单下分4个模块:模块1:录入车辆信息进入模块1后按提示要求录入车牌号码、时间、型号大小用a、b、c分别表示大型、中型、小型和入站口1、2、3、4表示不同入口站名称并分别对应不同公里路程数。模块2:查询车辆信息进入模块2后按提示要求录入所要查询的车牌号码,即可查询其进站入口,时间,及所需费用等信息模块3:车辆统计报表进入模块3后即可显示操作员之前录入的所有车辆的各个信息,并统计出车辆总数及应收总费用。模块4:保存关闭系统进入模块4后 系统自动保存所有车辆信息,并按提示可推出本系

3、统。流程图开始录入车辆信息查询车辆信息汇总报表保存退出系统菜单输入车牌号码输入进站时间输入车型大小输入入站口是否继续录入是否退出系统输入车牌号码是否继续查询保存数据结束YNYYNN显示车辆信息显示所有车辆信息、车辆总数及应收总费主函数:#include#include#include#define N 100#define M 4 /入口数量,可设置多个路口char a=20,30,40,50; /路口1 :20公里,路口2 :30公里,路口3 :40公里, 路口4 :50公里char str3=k1,k2,k3,k4; /入口名称,分别对应上面数组的公里数FILE*fp;int count;

4、void input();void cheak();void tongji();void read();void menu();void writefile();struct vehicle /车辆信息 char num15; char time6; char size2; char road3; float cost;veN;void main()read();while(1)menu();void read() /导入文件char filename20;if(fp=fopen(tql.txt,r)=NULL)printf(无此文件,新建一个文件n);printf(输入文件名,回车键结束:)

5、;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()就能非常容易地确定文件的当前位置。fseek(fp,0,0);for(count=0;!feof(fp)&fread(&vecount,sizeof(struct vehicle),1,f

6、p);count+);return;void menu() system(cls);char i;printf(tnt*欢送来到公路计费系统*nnttt 主菜单nn);printf(t*t录入车辆信息 请按 1t *nn);printf(t*t查询车辆信息 请按 2t *nn);printf(t*t车辆统计报表 请按 3t *nn);printf(t*t保存关闭系统 请按 4t *nnt*n); i=getch();switch(i)case 1: input(); break;case 2: cheak(); break;case 3: tongji(); break; case 4: wr

7、itefile(); default : break;void input() /录入车辆信息函数 char i,j; system(cls); printf(n 请录入车辆信息:); printf(n车牌号码5位字符n); scanf(%s,&vecount.num); printf(n进站时间输入格式*:*n); scanf(%s,&vecount.time); scanf(%s,&vecount.size); printf(n入口通道输入k1,k2,k3.n); scanf(%s,&vecount.road); i=count; /计算该车路费 if(strcmp(vei.size,a)

8、=0) for(j=0;jM;j+)if(strcmp(vei.road,strj)=0)vei.cost=aj*0.5;break; else if(strcmp(vei.size,b)=0) for(j=0;jM;j+)if(strcmp(vei.road,strj)=0)vei.cost=aj*0.4;break; else if(strcmp(vei.size,c)=0) for(j=0;j=0;i-) /需显示车辆最新进站信息 if(strcmp(vei.num,num)=0) k=1;break; if(k=1) printf(车牌号码 进站时间 车型大小 进站入口 应收费用n);

9、 printf(%st ,vei.num); printf(%s ,vei.time); printf(%st,vei.size);printf( %st,vei.road); printf( %.2f元,vei.cost);printf(nnn按 1继续查询 按任意键返回主菜单); ch=getchar(); /用来接收前面指令的最后一个回车键ch=getch(); /接收选择键switch(ch)case 1 : cheak();default : return; else printf(n无可显示内容nn按 1继续查询 按任意键返回主菜单n);ch=getch();switch(ch)case 1 : cheak();default : return; void tongji() /汇总报表 int i,j;float sum=0.00;system(cls);printf(nntt报表汇总nn);printf(车牌号码 进站时间 车型大小 进站入口 应收费用);for(i=0;i

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 幼儿/小学教育 > 幼儿教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号