欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOCX文档下载  

    交通处罚单管理系统390430459.docx

    • 资源ID:2057850       资源大小:358.27KB        全文页数:27页
    • 资源格式: DOCX        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    交通处罚单管理系统390430459.docx

    C语言设计实习报告 工程学院土木工程052097班 姓名: 彭文博 班号: 052097 学号: 20091000692 题目:交通处罚单管理系统指导老师: 梁老师 日期: 20110826 一,题目要求:【要求】:交通处罚单涉及到车辆,驾驶员和开单交警的信息,还有交通处罚单的号码,处罚时间等信息。【功能】:(1) 要求可以输入,删除,浏览交通处罚单信息。 (2)可以按车辆,驾驶员和开单交警查询。(3)统计某时间段某个驾驶员的交通处罚数目及交通处罚单号码。 二,需求分析:交通处罚单信息用文件存储,提供文件的输输出操作;要求可以输入,输出,删除,浏览交通处罚单信息,因而要提供输入,删除和显示操作;要实现按车辆,驾驶员和开单交警查询,则要提供查找操作;另外提供统计操作和键盘式选择菜单以实现功能选择。 三,总体设计: 整个管理系统被设计为信息输入模块,信息删除模块,信息浏览模块,信息查询模块,信息统计模块。交通处罚单管理系统 统计输入查找删除退出四,详细设计及实现: 1,处罚单管理系统界面函数 此函数包括的功能是建立新的罚单,按司机姓名查询罚单并浏览相关信息,按交警姓名查询罚单并浏览相关信息,按罚单号查询罚单并浏览相关信息,删除罚单,数据统计和退出处罚单管理系统。void Menu()printf("ntttt交通处罚单管理系统n"); printf("········································"); printf(" 菜单: 1-信息录入2-信息删除3-信息浏览4-信息查询5-信息统计6-退出系统n"); printf("········································"); printf("请从输入数字选择相应的功能:");2,各功能模块设计(1)创建新的交通处罚单处罚单包含的内容有处罚单号,车牌号,司机姓名,交警姓名,和处罚日期,因此相应的函数也应包含这些内容,在这个函数所控制的操作会依次提示输入以上内容。特别的,罚单号不能有重复,若输入的罚单号有重复,操作界面会提示罚单好重复,请重新输入。创建新的罚单处罚日期交警姓名罚单号车牌号司机姓名void input() FILE*fp; int num; int i,j; if(fp=fopen("list.txt","r+")=NULL) if(fp=fopen("list.txt","w")=NULL) printf("文件打开或创建失败!n"); printf("npress enter to return menun"); getchar(); menu(); printf("n请输入处罚单数量:"); scanf("%d",&i); printf("nn"); for(j=0;j<i;j+) printf("输入第%d张处罚单的:n",j+1); printf("n 车牌号、驾驶员姓名、交警姓名、交警号、处罚单号、日期(如)n"); printf("n注意:中间用空格隔开!n"); scanf("%s%s%s%s%s%s",&listj.vno,&listj.dname,&listj.pname,&listj.pno,&listj.no,&listj.date); for(j=0;j<i;j+) fprintf(fp,"n%st%st%st%st%st%s",listj.vno,listj.dname,listj.pname,listj.pno,listj.no,listj.date); fclose(fp); printf("n保存成功!"); printf("npress enter to return menun"); getchar(); getchar(); menu(); (2)按司机姓名查询罚单:先输入命令2,再输入待查找司机姓名.在这里函数会在记录在案的处罚单进行循环查找,如果有该司机的罚单记录,就会相应显示在屏幕上。如果没有该司机的处罚记录,就会打印:没有相关信息。void dna_search() int f=-1; int num; int j; char name20; FILE*fp; if(fp=fopen("list.txt","r")=NULL) printf("文件打不开!n"); printf("npress enter to return menun"); getchar(); menu(); for(j=0;!feof(fp);j+) /读取文件 fscanf(fp,"%s%s%s%s%s%s",&listj.vno,&listj.dname,&listj.pname,&listj.pno,&listj.no,&listj.date); num=j; fclose(fp); printf("n请输入驾驶员的姓名:"); scanf("%s",name); printf("n罚单的信息为:nn"); printf("车牌号 驾驶员姓名交警姓名交警编号处罚单编号处罚日期n"); for(j=0;j<num;j+) if(strcmp(name,listj.dname)=0) f=j; printf("n%st%st%st%st%st%s",listj.vno,listj.dname,listj.pname,listj.pno,listj.no,listj.date); if(f<0) printf("n没有找到该班号的记录!n"); printf("npress enter to return sub menun"); getchar(); getchar(); search();(3)按交警姓名查询罚单:先输入命令3,再输入待查找交警姓名.在这里函数会在记录在案的处罚单进行循环查找,如果有该交警所开的的罚单记录,就会相应显示在屏幕上。如果没有该交警开的处罚记录,就会打印:没有相关信息。其中void pna_search() int f=-1; int num; int j; char name20; FILE*fp; if(fp=fopen("list.txt","r")=NULL) printf("文件打不开!n"); printf("npress enter to return menun"); getchar(); menu(); for(j=0;!feof(fp);j+) /读取文件 fscanf(fp,"%s%s%s%s%s%s",&listj.vno,&listj.dname,&listj.pname,&listj.pno,&listj.no,&listj.date); num=j; fclose(fp); printf("n请输入开单交警的姓名:"); scanf("%s",name); printf("n罚单的信息为:nn"); printf("车牌号 驾驶员姓名交警姓名交警编号处罚单编号处罚日期n"); for(j=0;j<num;j+) if(strcmp(name,listj.pname)=0) f=j; printf("n%st%st%st%st%st%s",listj.vno,listj.dname,listj.pname,listj.pno,listj.no,listj.date); if(f<0) printf("n没有找到该班号的记录!n"); printf("npress enter to return sub menun"); getchar(); getchar(); search(); (4)按车牌号查询罚单:先输入命令1,再输入待查找车牌号码.在这里函数也会对记录在案的处罚单进行循环查找,如果有该车牌号记录,就会相应显示在屏幕上。如果没有该车牌号的处罚信息,就会打印:没有相关信息。void vno_search() int f=-1; int num; int j; char no20; FILE*fp; if(fp=fopen("list.txt","r")=NULL) printf("文件打不开!n"); printf("npress enter to return menun"); getchar(); menu(); for(j=0;!feof(fp);j+) /读取文件 fscanf(fp,"%s%s%s%s%s%s",&listj.vno,&listj.dname,&listj.pname,&listj.pno,&listj.no,&listj.date); num=j; fclose(fp); printf("n请输入车牌号:"); scanf("%s",no); printf("n罚单的信息为:nn"); printf("车牌号 驾驶员姓名交警姓名交警编号处罚单编号处罚日期n"); for(j=0;j<num;j+) if(strcmp(no,listj.vno)=0) f=j; printf("n%st%st%st%st%st%s",listj.vno,listj.dname,listj.pname,listj.pno,listj.no,listj.date); if(f<0) printf("n没有找到该班号的记录!n"); printf("npress enter to return sub menun"); getchar(); getchar(); search(); (5)删除罚单操作者先输入删除命令2,在按操作要求输入要删除的处罚单号码,系统浏览处罚单,找到相关信息后,在删除这张处罚信息,再把这个信息的尾地址结到下一个信息的头地址上从而达到删除此信息的作用.void dele() int j; int num; int f=-1; FILE*fp1,*fp2; char s120; if(fp1=fopen("list.txt","r")=NULL) printf("can not open filen"); printf("npress enter to return menun"); getchar(); getchar(); menu(); for(j=0;!feof(fp1);j+) /读取文件 fscanf(fp1,"%s%s%s%s%s%s",&listj.vno,&listj.dname,&listj.pname,&listj.pno,&listj.no,&listj.date); num=j; fclose(fp1); printf("请输入要删除的处罚单的编号n"); scanf("%s",s1); for(j=0;j<num;j+) if(strcmp(s1,listj.no)=0) f=j; if(f<num-1) for(j=f;j<num-1;j+) strcpy(listj.vno,listj+1.vno); strcpy(listj.dname,listj+1.dname); strcpy(listj.pname,listj+1.pname); strcpy(listj.pno,listj+1.pno); strcpy(listj.no,listj+1.no); strcpy(listj.date,listj.date); if(fp2=fopen("list.txt","w")=NULL) printf("文件打不开!n"); printf("npress enter to return menun"); getchar(); menu(); for(j=0;j<num-1;j+) /保存文件 fprintf(fp2,"n%st%st%st%st%st%s",listj.vno,listj.dname,listj.pname,listj.pno,listj.no,listj.date); fclose(fp2); printf("n删除成功!n"); printf("npress enter to return menun"); getchar(); getchar(); menu(); if(f<0) printf("n没有找到该学号的记录:n"); printf("npress enter to return menun"); getchar(); getchar(); menu(); (6)统计此操作会首先提示操作者输入查询的起始时间和结束时间.判断.如是第一个时间大于第二个时间,相应会提示“输入错误”,若输入正确,会提示继续输入待查司机姓名.给i赋初值0.每循环查找到一个记录就给i的值加1.最后在显示屏上显示出i的值.如果查找此段时间内没有该司机罚单信息,则打印“目前还没有该处罚单。void count() int f=-1; int num; /所有罚单单数 int j; int total=0; /某驾驶员的罚单数 char name20; char time120; char time220; FILE*fp; if(fp=fopen("list.txt","r")=NULL) printf("文件打不开!n"); printf("npress enter to return menun"); getchar(); menu(); for(j=0;!feof(fp);j+) /读取文件 fscanf(fp,"%s%s%s%s%s%s",&listj.vno,&listj.dname,&listj.pname,&listj.pno,&listj.no,&listj.date); num=j; fclose(fp); printf("n请根据提示输入驾驶员的姓名和一个时间段,统计某个驾驶员在某段时间内的处罚单数目和罚单号n"); printf("nn请输入驾驶员的姓名:"); scanf("%s",name); printf("n请输入一个较早的时间:"); scanf("%s",time1); printf("n请输入一个最近的时间:"); scanf("%s",time2); for(j=0;j<num;j+) if(strcmp(listj.dname,name)=0)&&(strcmp(listj.date,time1)>=0)&&(strcmp(listj.date,time2)<=0) f=j; total+; printf("n罚单号:%sn",listj.no); if(f<0) printf("n没有找到记录!n"); printf("n罚单总数为:%dn",total); printf("npress enter to return menun"); getchar(); getchar(); menu();(7)浏览模块在这个模块里,输入命名3后,程序会将已经存在的所有处罚单信息都在屏幕上显示出来:void browse() int j; int num; FILE*fp; if(fp=fopen("list.txt","r")=NULL) printf("can not open filen"); printf("npress enter to return menun"); getchar(); getchar(); menu(); for(j=0;!feof(fp);j+) /读取文件 fscanf(fp,"%s%s%s%s%s%s",&listj.vno,&listj.dname,&listj.pname,&listj.pno,&listj.no,&listj.date); fclose(fp); num=j; printf("n已添加%d条记录nn",num); printf("车牌号 驾驶员姓名交警姓名交警编号处罚单编号处罚日期n"); for(j=0;j<num;j+) /输出 printf("n%st%st%st%st%st%s",listj.vno,listj.dname,listj.pname,listj.pno,listj.no,listj.date); printf("npress enter to return menun"); getchar(); getchar(); menu(); (8)退出模块: 在这个模块里,输入命令6后,若程序发现文件里有处罚信息,会相应的保存该信息,然后退出程序,若没有信息,则会提示“不能打开文件!”,然后退出程序。五,实现结果:1,数据源(1)处罚单号01 车牌号码000001司机姓名zhao 警察姓名peng交警号11 处罚日期20110825(2)处罚单号02 车牌号码000002 司机姓名zhang 警察姓名peng 交警号11 处罚日期20110825(3)处罚单号03 车牌号码000003 司机姓名li 警察姓名peng 交警号11 处罚日期20110825(4)处罚单号04 车牌号码000004 司机姓名wang 警察姓名chen 交警号22 处罚日期20110826(5)处罚单号05车牌号码000005 司机姓名刘liu 警察姓名chen 交警号22 处罚日期20110826 2, 运行结果(1)主菜单函数 (2)输入处罚信息(3)信息浏览(4)信息的查找方式(5)按车牌号查询(6)按驾驶员姓名查询(7)按开单交警姓名查询(8)删除处罚单模块 (9)数据统计模块六,总结: 通过这八天的上机实习,编写并运行C语言程序,让我对C语言又有了进一步的认识并巩固了以前所学的知识,在编写C程序的过程中,我得到了老师和同学耐心的指导和帮助,很多问题都是在老师和同学的帮助下才解决的,没有你们的帮助我不可能顺利的完成此次编程,谢谢你们。以前对C的概念比较模糊,但是在这次实习中我发现了C在生产生活中有着广泛的应用,比如我这次编写的交通交通处罚单管理系统,还有其他同学编写的一些程序等等。在实际交通管理中运用此类程序会节省大量的体力和脑力劳动。而且使得交通管理比较容易,避免了以往的那种繁琐的人力劳动。准确率也会大幅度上升,不会造成因为人为失误造成不必要的麻烦。通过该实例的设计分析,我初步掌握了模块化设计方法,理解和运用结构化程设计的思想和方法。学会了用流程图表示算法,掌握和提高了利用C语言进行程序设计的能力。在各方面都得到了提高。更重要的是这次实习让我了解到了我的不足,该如何让自己的编程能力得到提高,在今后的学习生活里我会多多的上机编程,让自己能力得到进一步的提高。

    注意事项

    本文(交通处罚单管理系统390430459.docx)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开