


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C语言课程设计交通处罚单管理系统中国地质大学(武汉)工程学院 052097 班 182011-8-22要求: 交通处罚单涉及到车辆, 驾驶员和开单交警的信息,还有交通处罚单号码, 处罚时间 等信息。功能:(1)要求可以输入,删除,浏览交通处罚单信息。(2)可以按车辆,驾驶员和开单交警查询。(3)统计某时间段某个驾驶员的交通处罚单数目及交通处罚单号码。提示:(1) 需求分析: 交通处罚单信息用文件存储, 提供文件的输入输出操作; 要求可以输入, 删除,浏览交通处罚单信息,因而要提供信息的输入,删除和显示操作;要实现按 车辆,驾驶员和开单交警查询,则要提供查找操作;另外提供统计操作和键盘式选 择菜
2、单以实现功能选择。(2) 总体设计:整个管理系统被设计为信息输入模板,信息删除模板,信息浏览模板, 信息查询模板和信息统计模板等。源代码:#include #include #include #define N 100 struct Plist / 处罚单char vno20;/ 车牌号char dname20;/ 驾驶员姓名char pname20;/ 交警姓名char pno20;/ 交警编号char no20;/ 处罚单编号char date20;/ 处罚日期 listN;/ 处罚单数组void input();/ 输入模块void dele();/ 删除模块void browse();
3、/ 浏览模块void search();/ 查询模块void count();/ 统计模块void menu();/ 主菜单void vno_search(); / 按车牌号查询void dna_search(); / 按驾驶员姓名查询void pna_search(); / 按开单交警姓名查询void main()menu();getchar();void menu()int n;int r;dosystem( cls );printf( ntttt 交通处罚单管理系统 n );printf();printf( 菜单: 1- 信息录入 2-信息删除 3-信息浏览 4-信息查询 5-信息统计
4、6-退出系统 n );printf();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;int num;int i,j;if (fp=fopen( list.txt ,
5、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);)n );printf(n 车牌号、驾驶员姓名、交警姓名、交警号、处罚单号、日期(如printf( n 注意 : 中间用空格隔开 !n );scanf( %s%s%s%s
6、%s%,&slistj.vno,&listj.dname,&listj.pname,&listj.pno,&listj.no,&li stj.date);for (j=0;jN)printf( n结构体数组数的N太小,请先修改N的值n);getchar();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%,&slistj.
7、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.p no,listj.no,listj.date);fclose(fp);printf(n 保存成功! );printf(npress enter to return menun);getchar();getchar();menu();void dele()int j;int num;int f
8、=-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%,&slistj.vno,&listj.dname,&listj.pname,&listj.pno,&listj.n o,&listj.date);num=j;fclose(fp1)
9、;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.d
10、ate);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,l istj.no,listj.date);fclose(fp2);printf( n 删除成功! n );printf( npress enter to return
11、 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 open filen ); printf( npress enter to return menun );getchar();getchar();menu()
12、;for (j=0;!feof(fp);j+) / 读取文件fscanf(fp, %s%s%s%s%s%,&slistj.vno,&listj.dname,&listj.pname,&listj.pno,&listj.no ,&listj.date); fclose(fp);num=j;printf( n 已添加 条记录 nn ,num);printf( 车牌号 驾驶员姓名交警姓名交警编号处罚单编号处罚日期 n); for (j=0;jnum;j+)/ 输出printf( n%st%st%st%st%st%s ,listj.vno,listj.dname,listj.pname,listj.p
13、no,listj .no,listj.date);printf( npress enter to return menun);getchar(); getchar();menu();void search()int n;int r;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_searc
14、h(); break ;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)printf( 文件打不开! n );printf( npress enter to return menun);getchar();menu();fscanf(fp, %s%s%s%s%s%,&slistj.vno,&listj.dname,&list
15、j.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.
16、date); if (f0)printf( n 没有找到该班号的记录 !n ); 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(); menu();fscanf(fp, %s%s%
17、s%s%s%,&slistj.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,list
18、j.dname,listj.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()int f=-1; int num;int j;char name20; FILE*fp;if (fp=fopen( list.txt ,r )=NULL)printf( 文件打不开! n );printf( npress enter to re
19、turn menun);getchar(); menu();fscanf(fp, %s%s%s%s%s%,&slistj.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();void count()int f=-1;int num; / 所有罚单单数int j;int total=0; / 某驾驶员的罚单数char n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 材料抵债协议书
- 运输供应商合同协议
- 运输拖挂车队合同协议
- 邻里房屋协议书范本
- 水下砌墙协议书
- 化妆品代理销售合同
- 通讯工程设计合同协议
- 活动委托协议书
- 课程顾问招聘合同协议
- 返佣协议书范本模板
- 浙江省肿瘤医院医疗废物暂存间环保设施提升改造项目报告表
- 《加拉帕戈斯群岛》课件
- 2024人教版新教材初中物理八年级下册内容解读课件(深度)
- 工程经济学(青岛理工大学)知到智慧树章节测试课后答案2024年秋青岛理工大学
- (高清版)DB2201∕T 43-2023 肉犊牛饲养技术规范
- 2025年医院消化内科年度工作计划
- 水资源应急调度模型-洞察分析
- DB51-T 3000-2023 退役军人服务站建设与运行管理规范
- 神经指南:中国成人失眠诊断与治疗指南(2017版)
- 代理商合作条件说明
- GB/T 15843.2-2024网络安全技术实体鉴别第2部分:采用鉴别式加密的机制
评论
0/150
提交评论