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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

交通处罚单管理系统C语言.doc

1、交通处罚单管理系统内容: 要求交通处罚单涉及到车辆、驾驶员和开单交警的信息,还有交通处罚单号码,处罚时间等信息。 功能: (1)要求可以输入、删除、浏览交通处罚单信息。 (2)可以按车辆、驾驶员和开单交警查询。 (3)统计某时间段某个驾驶员的交通处罚单数目及交通处罚单号码。 第二部分:需求分析 1.交通处罚单信息用文件存储,提供文件的输入输出操作;2.要求可以输入、删除、浏览交通处罚单信息,因而要提供信息的输入、删除和显示操作;3.要车辆、驾驶员和开单交警查询,则要提供查找操作;4.另外提供系统操作和键盘式选择菜单以实现功能选择。 第三部分:程序总体设计思路由于C语言是面对过程的语言,故我的设

2、计思路是根据目标程序运行的过程来编写的。在编写本程序的过程中,首先,确定目标程序运行的次序与界面,即本程序首先运行【用户系统】菜单界面,菜单界面上为用户提供信息输入,信息删除,信息查询,信息浏览,信息统计,退出菜单共六种操作选择。此功能用switch语句来实现。其次,根据目标程序运行的次序与界面,确定设计顺序,设计界面(包括各部分菜单与用户提示信息)。再次,按照程序运行的各界面下的菜单功能编写各功能模块,并调试程序各功能模块,使各模块能够稳定高效准确地完成对应功能。第四部分:程序功能模块划分、图示及流程图系统的结构图:交通处罚单管理系统信息浏览信息统计信息删除信息查找信息输入.【信息输入模块】

3、 该模块的功能是为用户提供信息输入界面,用户可以根据信息提示进行信息输入,用户输入的信息将被保存在文件当中。【流程图】请输入车牌号码:显示已有罚单数目请输入罚单号:请输入开单日期:请输入驾驶员姓名:【程序】:void shuru() FILE *fp; int i=0; if(fp=fopen(data.txt,wb)=NULL) printf(Can not open the filen); exit(0);/调用此函数时必须包含 printf(请输入车牌号码:n); scanf(%d,&danNUM .chepai); printf(请输入驾驶员姓名:n); scanf(%s,danNUM

4、 .name); printf(请输交警ID:n); scanf(%d,&danNUM .id); printf(请输入开单日期(以年/月/日形式输入):n); scanf(%d/%d/%d,&dani.date.year,&dani.date.month,&dani.date.day); printf(请输入处罚单号:n); scanf(%d,&danNUM .num); for (i=0;i=NUM;i+) if(fwrite(&dani,sizeof(struct cfd),1,fp)!=1)printf(file write errorn); /此处for循环的作用是:在每次调用输入函

5、数时都能够把结构体数组中已有的数据和本次输入的数据都记录在文件data.txt中 printf(已经有%d个罚单n,i); NUM+;/NUM用来记录罚单总数,每调用一次输入函数NUM就加一 fclose(fp);【删除罚单模块】:按操作者的指令在结构体数组中找到删除的信息,把结构体数组中的信息抄到文件中去忽略要删除的信息达到要删除的目的。【流程图】:输入要删除的罚单号通过for循环在结构体数组找到与之对应的信息for循环,i= =c?若i= =c抄入文件若i!=c不抄入文件【程序】:void shanchu()int i;int c;/待删除罚单号码int w;/删除处罚单号FILE *fp

6、;printf(请输入要删除的处罚单号:);scanf(%d,&w);fp=fopen(data.txt,rb);for(i=0;iNUM;i+)if(w=dani.num) /查找要删除的罚单号码c=i; /待删除罚单号码fclose(fp);fp=fopen(data.txt,wb);for(i=0;iNUM;i+)if(i!=c)fwrite(&dani,sizeof(struct cfd),1,fp); /如果罚单号与待删除罚单号不同,就写入文件 /此处for循环的作用是:从文件中把待删除的信息删除NUM-;/全局变量更新printf(删除成功n罚单号是%dn,danc.num );f

7、close(fp);【信息浏览模块】:把储存在文件中信息全部输出。【程序】:void liulan()int i;FILE *fp;fp=fopen(data.txt,rb);printf(已有%d个罚单,NUM);for(i=0;iNUM;i+)if(fread(&dani,sizeof(struct cfd),1,fp)printf(第%d罚单信息n,i+1);prntf(i);else break;fclose(fp);【信息查询模块】:用户根据界面的提示选择查询方式,并根据进一步的提示进行相关输入,程序根据用户输入的信息通过for循环找到与之相对应的信息,并输出相关信息。【流程图】:根

8、据提示输入查询方式按警察ID查询按司机姓名查询按车牌号查询通过循环找到与之对应的信息,并将之输出【程序】:void chaxun()int i,w,x,flag;FILE *fp;char v8; /驾驶员名字printf(请输入你想查询的信息:n);printf(1 - 按车牌号查询n);printf(2 - 按司机姓名查询n);printf(3 - 按警察ID查询n);scanf(%d,&x);flag=0;/查找成功的标志,查找成功FLAG=1if(x=3)printf(请输入要查询的警察ID:n);scanf(%d,&w);fp=fopen(data.txt,rb);for(i=0;i

9、NUM;i+)if(fread(&dani,sizeof(struct cfd),1,fp)!=1) break;if(dani.id=w)prntf(i);flag=1;break;if(flag=0)printf(找不到此处罚单信息!n);fclose(fp);else if(x=2)printf(请输入要查询的司机姓名:n);scanf(%s,v);fp=fopen(data.txt,rb);for(i=0;iNUM;i+)if(fread(&dani,sizeof(struct cfd),1,fp)!=1) break;if(strcmp(dani.name,v)=0) /使用此函数时

10、必须包含string.hprntf(i);flag=1;break;if(flag=0)printf(找不到此处罚单信息!n);fclose(fp);else if(x=1)printf(请输入要查询的车牌号:n);scanf(%d,&w);fp=fopen(data.txt,rb);for(i=0;iNUM;i+)if(fread(&dani,sizeof(struct cfd),1,fp)!=1) break;if(dani.num=w)prntf(i);flag=1;break;if(flag=0)printf(找不到此处罚单信息!n);fclose(fp);else printf(输入

11、错误!n);信息统计模块:用户根据提示输入驾驶员姓名和一个时间段,程序将对储存在文件中的信息逐个进行检验看其是否与输入的信息相对应,若相对应,就会将其输出,并使统计变量加一,最终输出此驾驶员在此时间段内总共有多少罚单。【流程图】:输入驾驶员姓名输入要统计的时间段通过循环将文件中的每一个信息与输入条件对比,判断是否满足。输出满足条件的罚单号,并每输出一个罚单号使统计变量加一。输出驾驶员此段时间罚单总数【程序】:void tongji() int a1,b1,c1;/ 分别用来表示起始时间的年、月、日int a2,b2,c2;/ 分别用来表示截止时间的年、月、日int t;/用来统计驾驶员在此时间

12、段的罚单个数int i;char v8;/要对其进行统计的驾驶员姓名printf(请输入驾驶员姓名:);scanf(%s,v);printf(请输入要统计的时间段(以年/月/日的形式表示日期):n);printf(请输入起始日期:);scanf(%d/%d/%d,&a1,&b1,&c1);printf(截止时间日期:);scanf(%d/%d/%d,&a2,&b2,&c2);for(i=0;ia1&dani.date.yeara1&dani.date.year=a2)if(dani.date.monthb2)printf(%dn,dani.num);t+;else if(dani.date.month=b2&dani.date.day=c2)printf(%dn,dani.num);t+;else if(dani.date.year=a1&dani.date.yearb1)printf(%dn

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

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