版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、交通处罚单管理系统中国地质大学(武汉) 地球科学学院 014072 班2010-11-26用 C 语言编写一个简单的模拟交通处罚单管理系统要求交通处罚单涉及到车辆、驾驶员和开单交警的信息,还有交通处罚单号码、处罚时间等信息;功能( 1) 要求可以输入、删除、浏览交通处罚单信息;( 2) 可以按车辆、驾驶员和开单交警查询;( 3) 统计某段时间某个驾驶员的交通处罚单数目及交通处罚单号;源代码:#include#include#include#define N 100struct Plist/ 处罚单char vno20;/ 车牌号char pname20;/ 交警姓名char pno20;/ 交
2、警编号char no20;/ 处罚单编号char date20;/ 处罚日期 listN;/ 处罚单数组void input(); / 输入模块void dele();/ 删除模块void browse(); /浏览模块void search();/ 查询模块void count();/ 统计模块void menu();/ 主菜单void vno_search();/ 按车牌号查询void dna_search();/ 按驾驶员姓名查询void pna_search();/ 按开单交警姓名查询main()char dname20;/ 驾驶员姓名menu();getchar();void men
3、u()int n;int r;dosystem(cls);printf(ntttt 交通处罚单管理系统 n);prin tf(”printf( 菜单: 1-信息录入 2-信息删除 3-信息浏览 4-信息查询 5-信息统计 6- 退 出系统 n);prin tf( 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();br
4、eak;case 5:count();break;case 6:exit(0);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;ji;j+)printf( 输入第 %d 张处罚单的 :n,j+1);
5、printf(n 车牌号、驾驶员姓名、交警姓名、交警号、处罚单号、日期(如20101112)n);printf(n 注意 :中间用空格隔开 !n);scanf(%s%s%s%s%s%s,&listj.vno,&listj.dname,&listj.pname,&listj.pno,&list j.no,&listj.date);for( j=0;jN)printf(n 结构体数组数的 N 太小,请先修改 N 的值 n);printf(npress enter to return menun);getchar();menu();getchar();printf(n);for(j=0;ji;j+)
6、printf( 输入第 %d 张处罚单的 :n,j+1);printf(n 车牌号、驾驶员姓名、交警姓名、交警号、处罚单号、日期(如20101112)n);printf(n 注意 :中间用空格隔开 !n);scanf(%s%s%s%s%s%s,&listj.vno,&listj.dname,&listj.pname,&listj.pno,&list j.no,&listj.date);for(j=0;ji;j+)fprintf(fp,n%st%st%st%st%st%s,listj.vno,listj.dname,listj.pname,list j.pno,listj.no,listj.da
7、te);fclose(fp);printf(n 保存成功! );printf(npress enter to return menun);getchar();menu();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+)j.pname
8、,&listj.pnofscanf(fp1,%s%s%s%s%s%s,&listj.vno,&listj.dname,&list,&listj.no,&listj.date);num=j;fclose(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,list j+1.vno);strcpy(listj.dname,listj+1.dname);strcpy(listj.pname
9、,listj+1.pname);strcpy(listj.pno,listj+1.pno);strcpy(listj.no,listj+1.no);strcpy(listj.date,list j.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,list j.dname,listj.pname,li
10、stj.pno,list j.no,list j.date);fclose(fp2);printf(n 删除成功! n);printf(npress enter to return menun);getchar();getchar();menu();if(f0)printf(n 没有找到该学号的记录 :n);printf(npress enter to return menun);getchar();getchar();menu();void browse()int j;int num;FILE*fp;if(fp=fopen(list.txt,r)=NULL)printf(can not op
11、en filen);printf(npress enter to return menun);getchar();menu();getchar();for(j=0;!feof(fp);j+) / 读取文件fscanf(fp,%s%s%s%s%s%s,&listj.vno,&list j.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+)
12、 / 输出j.pno,lprintf(n%st%st%st%st%st%s,listj.vno,listj.dname,list j.pname,listist j.no,list j.date);printf(npress enter to return menun);getchar();menu();getchar();void search()int n;int r;dosystem(cls);4-printf(n 请选择查询类型 :nt1- 按车牌号 2- 按驾驶员姓名 3: 按开单交警姓名 返回主菜单 n);printf(n 请输入数字选择 :);scanf(%d,&n);if(n4
13、)r=1;getchar();else r=0;while(r=1);switch(n)case 1:vno_search();break;fscanf(fp,%s%s%s%s%s%s,&list j.vno,&list j.dname,&listj.pname,&listj.pno,case 2:dna_search();break;case 3:pna_search();break;case 4:menu();void vno_search()int f=-1;int num;int j;char no20;FILE*fp;if(fp=fopen(list.txt,r)=NULL)prin
14、tf( 文件打不开! n);printf(npress enter to return menun);getchar();menu();if(f0)printf(n 没有找到该班号的记录 !n);&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,list j.vno)=0)f=j;j.pno,lprintf(n%st%s
15、t%st%st%st%s,listj.vno,listj.dname,list j.pname,list ist j.no,list j.date);printf(npress enter to return sub menun);getchar();getchar(); search();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();
16、menu();&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;j.pname,listj.pno,lprintf(n%st%st%st%st%st%s,listj.vno,listj.dname,listist j.no,list j.date);printf(npr
17、ess enter to return sub menun);getchar();getchar(); search();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();处罚日期 n);j.pname,listj.pno,l&listj.no,&listj.date);num=j;fclose(fp);printf(n 请输
18、入开单交警的姓名 :);scanf(%s,name);printf(n 罚单的信息为: nn);printf( 车牌号 驾驶员姓名 交警姓名 交警编号 处罚单编号 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,listist j.no,list j.date);printf(npress enter to return sub menun);getchar();getchar();search();void count()int f=-1;int num;/ 所有罚单单数int j;int total=0; / 某驾驶员的罚单数char name20;char time120;char time220;FILE*fp;if(fp=f
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论