ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:203.07KB ,
资源ID:11904206      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11904206.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言课程设计报告高速公路收费系统.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

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

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

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

3、闭系统进入模块4后 系统自动保存所有车辆信息,并按提示可推出本系统。流程图开始主函数:#include#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;void input();void cheak();void tongji();void read();void menu();voi

4、d 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(输入文件名,回车键结束:); scanf(%s,filename); if(fp=fopen(filename,w)=NULL) printf(

5、新建失败); 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,fp);count+); return; void menu() system(cls); char i

6、; 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: writefile(); default : break; void input(

7、) /录入车辆信息函数 char i,j; system(cls); printf(n 请录入车辆信息:); printf(n车牌号码(5位字符)n); scanf(%s,&vecount.num); printf(n进站时间(输入格式*:*)n); scanf(%s,&vecount.time); printf(n车辆型号(a,b,c分别代表大中小)n); / 大车 0.5元/每公里;中型车 0.4元/每公里;小车 0.3元/每公里 scanf(%s,&vecount.size); printf(n入口通道(输入k1,k2,k3.)n); scanf(%s,&vecount.road); i

8、=count; /计算该车路费 if(strcmp(vei.size,a)=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;

9、 if(k=1) printf(车牌号码 进站时间 车型大小 进站入口 应收费用n); 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无

10、可显示内容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;icount;i+) printf(nn%s ,vei.num); printf( %s,vei.time); printf( %s ,vei.size); printf( %s ,ve

11、i.road); printf( %.2f,vei.cost); for(j=0;jcount;j+) sum=sum+vej.cost; printf(nnntttt 车辆总数:%d 辆,count); printf(nntttt 收费总额:%.2f元,sum); printf(nnnn按任意键返回n); getch(); void writefile() /文件保存函数 system(cls); int i,ch; if(fp=fopen(tql.txt,w)=NULL) printf(打开文件失败); for(i=0;icount;i+) if(fwrite(&vei,sizeof(st

12、ruct vehicle),1,fp)!=1) printf(无法读入文件); fclose(fp); printf(nnnnnttt文件保存成功nnntt按 1 退出程序t按任意键返回n); ch=getch(); switch(ch) case 1 : exit(0); default : return; 部分截图:主菜单:模块1:录入车辆信息截图模块2:查询车辆信息截图模块3:汇总报表截图模块4:保存退出系统截图1、C程序设计总结本程序在刚开始调试时有许多错误,但在我的努力及同学的帮助下都被一一克服,现在在操作本程序时可根据提示进行相关操作,能正确输出结果。在刚开始的几次调试中曾经出现过

13、不能运行,弹出提示警告框令到调试终止。其中,为力求界面简洁美观,需要多次调试输出数据,图形符号的位置,使其整齐划一,这花了相当一部分时间。在调试check()函数时,当输入完车牌号码并显示出该车辆信息后,当按任意键后屏幕马上跳回菜单页面而无法按设计要求输出选择项,经过查找书本得知要在switch语句前再加上一句getchar()语句用来接收前面指令的最后一个回车键,之后经修改功能得到实现。完成题目要求的基本功能后收获:在这次设计过程中,不仅复习课本上所学知识,还通过上网查资料、问同学学到了课本上没有的知识。从而启发我,要想写好程序,在写好课本知识的同时还需要多读和专业有关的一些书籍,同时还需要

14、多动脑子,勤于实践,尽量把所学的知识综合起来应用,力争写出完美的程序。除此之外,我还得到了一些有用的教训:写程序时必须要细心,不能输错一个字符标点,就连全角半角也得注意。在修改时要有耐心,编译出错后必须逐个错误去改正,绝不能心急浮躁,否则修改之后还会有新的错误。参考文献1 严蔚敏,吴伟民.数据结构(C语言版).北京:清华大学出版社,20072 张长海.C语言程设计M.北京:高等教育出版社,20063 陈建新,李志敏.数据结构实验指导与课程设计教程.北京:科学出版社,20104 吴玉蓉,李劲.数据结构(C语言版).北京:中国水利水电出版社,20085C程序设计(第四版),主编:谭浩强,清华大学出

15、版社课程设计总结:我的课程设计题目是高速公路收费系统,这个程序题目相对来说不是很难,但由于我的c语言基础较差,编写程序代码的练习也做的较少,与同学们的水平也有不小的差距,所以在编写过程中,我也遇到了不小的难题。在最初的时候,我很是厌烦,对程序编写有些抵触情绪,完全谈不上喜欢。但是,渐渐地,通过不断地查询、了解、学习,我发现我的兴趣渐渐上来了,因为在学习了解的同时,我觉得编写程序不再像以前那样枯燥乏味、难得一塌糊涂,只不过是以前从内心上就没有接受它,这也造成了我的基础较差。本次课程设计,我基本是从头学起,从最基本的#include是什么意思,再到很好地运用判断语句和循环语句,还有在学习过程中我还

16、了解到c语言还有很多的库函数。本程序在刚开始调试时有许多错误,但在我的努力及同学的帮助下都被一一克服,现在在操作本程序时可根据提示进行相关操作,能正确输出结果。在刚开始的几次调试中曾经出现过不能运行、不能产生十以内随机数字、不能随机出现加减、不会正确输出结果、不能进行循环练习等等问题。经过我的努力及同学的帮助,这些问题得到克服,并且使程序的功能也得到了一定的完善。现在它能对出错的题目发出报警声,并且给出正确答案。最后还能分别输出对错的题数及所得分数。在这次设计过程中,不仅复习课本上所学知识,还通过查资料、问同学学到了课本上没有的知识。从而启发我,要想写好程序,在写好课本知识的同时还需要多读和专业有关的一些书籍,这也让我买了一本c语言c+函数查询手册去进行深一步的学习与了解,以便能更好地掌握运用。同时还需要多动脑子,尽量把所学的知识综合起来应用,力争写出完美的程序。除此之外,我还得到了一些有用的教训:写程序时必须要细心,不能输错一个字符标点,就连全角半角也得注意。在修改时要有耐心,编译出错后必须逐个错误去改正,绝不能心急浮躁,否则修改之后还会有新的错误。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1