交通处罚单管理系统_第1页
交通处罚单管理系统_第2页
交通处罚单管理系统_第3页
交通处罚单管理系统_第4页
交通处罚单管理系统_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C语言课程设计交通处罚单管理系统中国地质大学(武汉)工程学院052097 班 182011-8-22要求: 交通处罚单涉及到车辆,驾驶员和开单交警的信息,还有交通处罚单号码,处罚时间等信息。功能:( 1)要求可以输入,删除,浏览交通处罚单信息。( 2)可以按车辆,驾驶员和开单交警查询。( 3)统计某时间段某个驾驶员的交通处罚单数目及交通处罚单号码。提示:(1)需求分析: 交通处罚单信息用文件存储, 提供文件的输入输出操作; 要求可以输入,删除,浏览交通处罚单信息,因而要提供信息的输入,删除和显示操作;要实现按车辆,驾驶员和开单交警查询,则要提供查找操作;另外提供统计操作和键盘式选择菜单以实现功

2、能选择。( 2) 总体设计:整个管理系统被设计为信息输入模板,信息删除模板,信息浏览模板,信息查询模板和信息统计模板等。源代码:#include #include #include #defineN 100structPlist/ 处罚单charvno20;/ 车牌号chardname20;/ 驾驶员姓名charpname20;/ 交警姓名charpno20;/ 交警编号charno20;/ 处罚单编号chardate20;/ 处罚日期 listN;/ 处罚单数组void input();/ 输入模块void dele();/删除模块void browse();/ 浏览模块void searc

3、h();/ 查询模块void count();/ 统计模块void menu();/ 主菜单void vno_search();/按车牌号查询void dna_search();/按驾驶员姓名查询void pna_search();/按开单交警姓名查询void main()1 / 11menu();getchar();void menu()intn;intr;dosystem(cls);printf(ntttt交通处罚单管理系统n );printf( );printf(菜单 : 1-信息录入 2- 信息删除 3- 信息浏览 4- 信息查询 5- 信息统计 6- 退出系统 n );printf(

4、 );printf( 请从输入数字选择相应的功能: );scanf(%d,&n);if (n6)r=1;getchar();else r=0; while (r=1);switch (n)case 1:input();break ;case 2:dele();break ;case 3:browse();break ;case 4:search();break ;case 5:count();break ;case 6:exit(0);void input()FILE*fp;intnum;inti,j;if (fp=fopen(list.txt, r+ )=NULL)if (fp=fopen(

5、list.txt, w )=NULL)2 / 11printf( 文件打开或创建失败!n);printf(npress enter to return menun);getchar();menu();printf(n 请输入处罚单数量: );scanf(%d,&i);printf(nn);for (j=0;ji;j+)printf( 输入第 %d张处罚单的 :n,j+1);printf(n车牌号、驾驶员姓名、交警姓名、交警号、处罚单号、日期(如)n );printf(n 注意 : 中间用空格隔开!n);scanf( %s%s%s%s%s%s,&listj.vno,&listj.dname,&l

6、istj.pname,&listj.pno,&listj.no,&li stj.date);for (j=0;jN)printf(n 结构体数组数的N太小,请先修改 N的值 n );printf(npress enter to return menun);3 / 11getchar();getchar();menu();printf(n );for (j=0;ji;j+)printf( 输入第 %d张处罚单的 :n,j+1);printf(n 车牌号、驾驶员姓名、交警姓名、交警号、处罚单号、日期(如)n );printf(n 注意 : 中间用空格隔开!n);scanf( %s%s%s%s%s%

7、s,&listj.vno,&listj.dname,&listj.pname,&listj.pno,&listj.no,&li stj.date);for (j=0;ji;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();void dele()intj;intnum;i

8、ntf=-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+)/ 读取文件4 / 11fscanf(fp1, %s%s%s%s%s%s,&listj.vno,&listj.dname,&listj.pname,&listj.pno,&listj.n o,&listj.date);num=j;fclose(

9、fp1);printf( 请输入要删除的处罚单的编号n );scanf(%s ,s1);for (j=0;jnum;j+)if (strcmp(s1,listj.no)=0)f=j;if (fnum-1)for (j=f;jnum-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

10、.date);if (fp2=fopen(list.txt, w )=NULL)printf( 文件打不开! n );printf(npress enter to return menun);getchar();menu();for (j=0;jnum-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

11、);getchar();getchar();menu();5 / 11if (f0)printf(n 没有找到该学号的记录:n);printf(npress enter to return menun);getchar();getchar();menu();void browse()intj;intnum;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(

12、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;jnum;j+)/ 输出printf( n%st%st%st%st%st%s ,listj.vno,listj.dname,listj.pname,listj.pno,listj .no,listj.

13、date);printf(npress enter to return menun);getchar();getchar();6 / 11menu();void search()intn;intr;dosystem(cls);printf(n 请选择查询类型:nt1-按车牌号 2- 按驾驶员姓名 : 按开单交警姓名4- 返回主菜单 n );printf(n 请输入数字选择: );scanf(%d,&n);if (n4)r=1;getchar();else r=0; while (r=1);switch (n)case 1:vno_search();break ;case 2:dna_searc

14、h();break ;case 3:pna_search();break ;case 4:menu();void vno_search()intf=-1;intnum;intj;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+)/ 读取文件7 / 11fscanf(fp, %s%s%s%s%s%s,&listj.vno,&listj.dname,&listj

15、.pname,&listj.pno,&listj.no ,&listj.date);num=j;fclose(fp);printf(n 请输入车牌号 : );scanf(%s ,no);printf(n 罚单的信息为:nn);printf( 车牌号驾驶员姓名交警姓名交警编号处罚单编号处罚日期n );for (j=0;jnum;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 (f0)p

16、rintf(n 没有找到该班号的记录!n);printf(npress enter to return sub menun);getchar();getchar();search();void dna_search()intf=-1;intnum;intj;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+)/ 读取文件8 / 11fscanf(fp, %

17、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;jnum;j+)if (strcmp(name,listj.dname)=0)f=j;printf( n%st%st%st%st%st%s ,listj.vno,listj.dname,li

18、stj.pname,listj.pno,listj .no,listj.date);if (f0)printf(n 没有找到该班号的记录!n);printf(npress enter to return sub menun);getchar();getchar();search();void pna_search()intf=-1;intnum;intj;char name20;FILE*fp;if (fp=fopen(list.txt, r )=NULL)printf( 文件打不开! n );printf(npress enter to return menun);getchar();men

19、u();for (j=0;!feof(fp);j+)/ 读取文件9 / 11fscanf(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;jnum;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 (f0)printf(n 没有找到该班号的记录!n);printf(npress enter to return sub menun);getchar();getchar();search();voidcount()intf=-1;intnum;/ 所有罚单单数intj;inttotal=0;/ 某驾驶员的罚单数charname20;chartim

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论