




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言课程设计交通处罚单管理系统中国地质大学(武汉)工程学院052097班182011-8-22要求:交通处罚单涉及到车辆,驾驶员和开单交警的信息,还有交通处罚单号码,处罚时间等信息。功能:(1)要求可以输入,删除,浏览交通处罚单信息。 (2)可以按车辆,驾驶员和开单交警查询。 (3)统计某时间段某个驾驶员的交通处罚单数目及交通处罚单号码。提示:(1) 需求分析:交通处罚单信息用文件存储,提供文件的输入输出操作;要求可以输入,删除,浏览交通处罚单信息,因而要提供信息的输入,删除和显示操作;要实现按车辆,驾驶员和开单交警查询,则要提供查找操作;另外提供统计操作和键盘式选择菜单以实现功能选择。(2) 总体设计:整个管理系统被设计为信息输入模板,信息删除模板,信息浏览模板,信息查询模板和信息统计模板等。源代码:#include#include#include#define N 100struct Plist /处罚单 char vno20; /车牌号 char dname20; /驾驶员姓名 char pname20; /交警姓名 char pno20; /交警编号 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(); /按开单交警姓名查询void main() menu(); getchar();void menu() int n; int r; do system(cls); printf(ntttt交通处罚单管理系统n); printf(); printf( 菜单: 1-信息录入2-信息删除3-信息浏览4-信息查询5-信息统计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,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); 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;jN) printf(n结构体数组数的N太小,请先修改N的值n); printf(npress enter to return menun); 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%s,&listj.vno,&listj.dname,&listj.pname,&listj.pno,&listj.no,&listj.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() 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;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.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); 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(); 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;jnum;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();void search() int n; int r; do system(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_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(); 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;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) 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(); 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;jnum;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(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 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;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 name2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025广东广佛产业园区运营管理有限公司招聘考前自测高频考点模拟试题附答案详解(考试直接用)
- 2025江西吉安市七叶荆文化旅游有限公司面向社会招聘2名考前自测高频考点模拟试题及答案详解(名校卷)
- 2025广西壮族自治区卫生健康委员会机关服务中心招聘第二批编外聘用人员1人模拟试卷参考答案详解
- 2025黑龙江省建工集团招聘17人模拟试卷及答案详解(历年真题)
- 2025安徽合肥长虹美菱生活电器有限公司招聘技术支持岗位模拟试卷完整答案详解
- 合作协议书范文锦集6篇
- 2025年DVD视盘机和驱动器光头合作协议书
- 2025金华兰溪市尚轩殡仪服务有限公司招聘5人考前自测高频考点模拟试题有完整答案详解
- 2025黑龙江大庆市肇源县公益性岗位招聘预模拟试卷附答案详解(模拟题)
- 2025广西物流职业技术学院公开招聘博士人才20人考前自测高频考点模拟试题及参考答案详解一套
- 脾破裂的个案护理
- 《公路技术状况评定》课件-第一章 公路损坏分类与识别
- 烟花爆竹生产经营单位应急演练计划
- 高速公路机电系统运维技术规程编制说明
- 秩序员岗前培训
- 精神病症状学
- 2025-2030年中国制动片和制动衬片行业市场现状供需分析及投资评估规划分析研究报告
- 费曼学习法完整版本
- 安检服务风险管理制度
- DB32∕T 3723-2020 高标准农田建设项目工程概算编制规程
- 财产申报表-被执行人用
评论
0/150
提交评论