《交通处罚单管理系统(C语言课程设计)drlh.docx》由会员分享,可在线阅读,更多相关《交通处罚单管理系统(C语言课程设计)drlh.docx(22页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、交通处罚罚单管理理系统中国地质质大学(武武汉) 地球科科学学院院 01140772班20100-111-266用C语言言编写一一个简单单的模拟拟交通处处罚单管管理系统统要求 交通处处罚单涉涉及到车车辆、驾驾驶员和和开单交交警的信信息,还还有交通通处罚单单号码、处处罚时间间等信息息;功能(1) 要求可以以输入、删删除、浏浏览交通通处罚单单信息;(2) 可以按车车辆、驾驾驶员和和开单交交警查询询;(3) 统计某段段时间某某个驾驶驶员的交交通处罚罚单数目目及交通通处罚单单号;源代码:#inccludde#inccludde#inccludde#deffinee N 1000struuct Pliis
2、t /处罚单单 chhar vnoo200; /车牌号号 chhar dnaame20; /驾驶员员姓名 chhar pnaame20; /交警姓姓名 chhar pnoo200; /交警编编号 chhar no20; /处罚单单编号 chhar datte220; /处罚日日期 liistN; /处罚单单数组voidd innputt(); /输入入模块voidd deele(); /删除模模块voidd brrowsse(); /浏览览模块voidd seearcch(); /查查询模块块voidd coountt(); /统统计模块块voidd meenu(); /主菜菜单voidd v
3、nno_ssearrch(); /按车车牌号查查询voidd dnna_ssearrch(); /按驾驾驶员姓姓名查询询voidd pnna_ssearrch(); /按开开单交警警姓名查查询mainn() mennu(); gettchaar();voidd meenu() innt nn; innt rr; doo ssysttem(clls); pprinntf(nnttttt交交通处罚罚单管理理系统n); pprinntf(); pprinntf( 菜单: 1-信息录录入 22-信息息删除 3-信信息浏览览 4-信息查查询 55-信息息统计 6-退退出系统统n); pprinntf()
4、; pprinntf(请从从输入数数字选择择相应的的功能:); sscannf(%d,&nn); iif(nn6) r=1;geetchhar(); eelsee r=0;whhilee(r=1);swiitchh(n) caase 1:iinpuut();brreakk; caase 2:ddelee();breeak; caase 3:bbrowwse();bbreaak; caase 4:ssearrch();bbreaak; caase 5:ccounnt();brreakk; caase 6:eexitt(0); voidd innputt() FIILE*fp; innt nnum
5、; innt ii,j; iff(ffp=ffopeen(lisst.ttxt,rr+)=NULLL) iif(fp=foppen(liist.txtt,w)=NULLL) pprinntf(文件件打开或或创建失失败!n); pprinntf(nnpreess entter to retturnn meenun); ggetccharr(); mmenuu(); prrinttf(n请请输入处处罚单数数量:); sccanff(%d,&i); prrinttf(nn); foor(jj=0;jii;j+) priintff(输输入第%d张处处罚单的的:nn,jj+1); priintff(n
6、车牌号号、驾驶驶员姓名名、交警警姓名、交交警号、处处罚单号号、日期期(如22010011112)n); priintff(n注意意:中间间用空格格隔开!n); scaanf(%ss%s%s%ss%s%s,&liistj.vnoo,&llisttj.dnnamee,&llisttj.pnnamee,&llisttj.pnno,&lisstjj.nno,&lisstjj.ddatee); foor(jj=0;jNN) pprinntf(nn结构体体数组数数的N太太小,请请先修改改N的值值n); pprinntf(nnpreess entter to retturnn meenun); ggetcc
7、harr(); ggetccharr(); mmenuu(); prrinttf(n); foor(jj=0;jii;j+) priintff(输输入第%d张处处罚单的的:nn,jj+1); priintff(n车牌牌号、驾驾驶员姓姓名、交交警姓名名、交警警号、处处罚单号号、日期期(如22010011112)n); priintff(n注意意:中间间用空格格隔开!n); scaanf(%ss%s%s%ss%s%s,&liistj.vnoo,&llisttj.dnnamee,&llisttj.pnnamee,&llisttj.pnno,&lisstjj.nno,&lisstjj.ddatee);
8、 foor(jj=0;jii;j+) fprrinttf(ffp,n%stt%st%sst%stt%st%ss,llisttj.vnno,llisttj.dnnamee,liistj.pnaame,lisstjj.ppno,lisstjj.nno,llisttj.daate); fcclosse(ffp); prrinttf(n保保存成功功!); prrinttf(nppresss eenteer tto rretuurn mennunn); geetchhar(); geetchhar(); meenu();voidd deele() innt jj; innt nnum; innt ff=
9、-11; FIILE*fp11,*ffp2; chhar s120; iff(ffp1=foppen(liist.txtt,r)=NULLL) pprinntf(caan nnot opeen ffileen); pprinntf(nnpreess entter to retturnn meenun); ggetccharr(); ggetccharr(); mmenuu(); foor(jj=0;!feeof(fp11);jj+) /读取取文件 fsscannf(ffp1,%ss%s%s%ss%s%s,&liistj.vnoo,&llisttj.dnnamee,&llisttj.pnname
10、e,&llisttj.pnno,&lisstjj.nno,&lisstjj.ddatee); nuum=jj; fcclosse(ffp1); prrinttf(请输入入要删除除的处罚罚单的编编号nn); sccanff(%s,s1); foor(jj=0;jnnum;j+) if(strrcmpp(s11,liistj.no)=00) ff=j; iif(ffnuum-11) foor(jj=f;jnnum-1;jj+) strrcpyy(liistj.vnoo,liistj+11.vvno); strrcpyy(liistj.dnaame,lisstjj+1.dnnamee); strrc
11、pyy(liistj.pnaame,lisstjj+1.pnnamee); strrcpyy(liistj.pnoo,liistj+11.ppno); sttrcppy(llisttj.noo,liistj+11.nno); strrcpyy(liistj.datte,llisttj.daate); iif(fp22=foopenn(llistt.txxt,w)=NUULL) prrinttf(文件打打不开!n); prrinttf(nppresss eenteer tto rretuurn mennunn); geetchhar(); meenu(); ffor(j=00;jnumm-1;j
12、+) /保存存文件 ffpriintff(fpp2,n%stt%st%sst%stt%st%ss,llisttj.vnno,llisttj.dnnamee,liistj.pnaame,lisstjj.ppno,lisstjj.nno,llisttj.daate); ffcloose(fp22); pprinntf(nn删除成成功!n); pprinntf(nnpreess entter to retturnn meenun); ggetccharr(); ggetccharr(); mmenuu(); iif(ff0) pprinntf(nn没有找找到该学学号的记记录:n); pprinntf
13、(nnpreess entter to retturnn meenun); ggetccharr(); ggetccharr(); mmenuu(); voidd brrowsse() iint j; iint numm; FFILEE*fpp; iif(fp=foppen(liist.txtt,r)=NULLL) pprinntf(caan nnot opeen ffileen); pprinntf(nnpreess entter to retturnn meenun); ggetccharr(); ggetccharr(); mmenuu(); ffor(j=00;!ffeoff(fpp)
14、;jj+) /读取取文件 fsscannf(ffp,%s%s%ss%s%s%ss,&lisstjj.vvno,&liistj.dnaame,&liistj.pnaame,&liistj.pnoo,&llisttj.noo,&llisttj.daate); ffcloose(fp); nnum=j; pprinntf(nn已添加加%d条条记录nnn,nnum); pprinntf(车牌牌号 驾驶员员姓名 交警姓姓名 交交警编号号 处罚罚单编号号 处罚罚日期n); ffor(j=00;jnumm;j+) /输输出 prrinttf(n%stt%st%sst%stt%st%ss,llisttj.vn
15、no,llisttj.dnnamee,liistj.pnaame,lisstjj.ppno,lisstjj.nno,llisttj.daate); pprinntf(nnpreess entter to retturnn meenun); ggetccharr(); ggetccharr(); mmenuu();voidd seearcch() intt n; intt r; do ssysttem(clls); pprinntf(nn请选择择查询类类型:ntt1-按按车牌号号 2-按驾驶驶员姓名名3:按按开单交交警姓名名 4-返回主主菜单n); pprinntf(nn请输入入数字选选择:);
16、 sscannf(%d,&nn); iif(nn4) r=1; geetchhar(); eelsee r=0;whhilee(r=1);swiitchh(n) caase 1:vvno_seaarchh();breeak;caase 2:ddna_seaarchh();breeak;caase 3:ppna_seaarchh();breeak;caase 4:mmenuu(); voidd vnno_ssearrch() innt ff=-11; innt nnum; innt jj; chhar no20; FIILE*fp; iff(ffp=ffopeen(lisst.ttxt,rr)=
17、NNULLL) prrinttf(文件打打不开!n); prrinttf(nppresss eenteer tto rretuurn mennunn); geetchhar(); meenu(); foor(jj=0;!feeof(fp);j+) /读取文文件 fsscannf(ffp,%s%s%ss%s%s%ss,&lisstjj.vvno,&liistj.dnaame,&liistj.pnaame,&liistj.pnoo,&llisttj.noo,&llisttj.daate); nuum=jj; fcclosse(ffp); prrinttf(n请请输入车车牌号:); sccanff(
18、%s,no); prrinttf(n罚罚单的信信息为:nn); prrinttf(车牌号号 驾驾驶员姓姓名 交交警姓名名 交警警编号 处罚单单编号 处罚日日期nn); foor(jj=0;jnnum;j+) iff(sttrcmmp(nno,llisttj.vnno)=0) ff=j; pprinntf(nn%st%sst%stt%st%sst%s,lisstjj.vvno,lisstjj.ddnamme,llisttj.pnnamee,liistj.pnoo,liistj.no,lisstjj.ddatee); iff(f0) pprinntf(nn没有找找到该班班号的记记录!n); prr
19、inttf(nppresss eenteer tto rretuurn subb meenun); geetchhar(); geetchhar(); seearcch();voidd dnna_ssearrch() innt ff=-11; innt nnum; innt jj; chhar namme220; FIILE*fp; iff(ffp=ffopeen(lisst.ttxt,rr)=NNULLL) prrinttf(文件打打不开!n); prrinttf(nppresss eenteer tto rretuurn mennunn); geetchhar(); meenu(); fo
20、or(jj=0;!feeof(fp);j+) /读取文文件 fsscannf(ffp,%s%s%ss%s%s%ss,&lisstjj.vvno,&liistj.dnaame,&liistj.pnaame,&liistj.pnoo,&llisttj.noo,&llisttj.daate); nuum=jj; fcclosse(ffp); prrinttf(n请请输入驾驾驶员的的姓名:); sccanff(%s,namme); prrinttf(n罚罚单的信信息为:nn); prrinttf(车牌号号 驾驾驶员姓姓名 交交警姓名名 交警警编号 处罚单单编号 处罚日日期nn); foor(jj=0;
21、jnnum;j+) iff(sttrcmmp(nnamee,liistj.dnaame)=00) ff=j; pprinntf(nn%st%sst%stt%st%sst%s,lisstjj.vvno,lisstjj.ddnamme,llisttj.pnnamee,liistj.pnoo,liistj.no,lisstjj.ddatee); iff(f0) pprinntf(nn没有找找到该班班号的记记录!n); prrinttf(nppresss eenteer tto rretuurn subb meenun); geetchhar(); geetchhar(); seearcch();vo
22、idd pnna_ssearrch() innt ff=-11; innt nnum; innt jj; chhar namme220; FIILE*fp; iff(ffp=ffopeen(lisst.ttxt,rr)=NNULLL) prrinttf(文件打打不开!n); prrinttf(nppresss eenteer tto rretuurn mennunn); geetchhar(); meenu(); foor(jj=0;!feeof(fp);j+) /读取文文件 fsscannf(ffp,%s%s%ss%s%s%ss,&lisstjj.vvno,&liistj.dnaame,&l
23、iistj.pnaame,&liistj.pnoo,&llisttj.noo,&llisttj.daate); nuum=jj; fcclosse(ffp); prrinttf(n请请输入开开单交警警的姓名名:); sccanff(%s,namme); prrinttf(n罚罚单的信信息为:nn); prrinttf(车牌号号 驾驾驶员姓姓名 交交警姓名名 交警警编号 处罚单单编号 处罚日日期nn); foor(jj=0;jnnum;j+) iff(sttrcmmp(nnamee,liistj.pnaame)=00) ff=j; pprinntf(nn%st%sst%stt%st%sst%s,
24、lisstjj.vvno,lisstjj.ddnamme,llisttj.pnnamee,liistj.pnoo,liistj.no,lisstjj.ddatee); iff(f0) pprinntf(nn没有找找到该班班号的记记录!n); prrinttf(nppresss eenteer tto rretuurn subb meenun); geetchhar(); geetchhar(); seearcch();voidd coountt() innt ff=-11; innt nnum; /所有罚罚单单数数 innt jj; innt ttotaal=00; /某驾驾驶员的的罚单数数
25、chhar namme220; chhar timme120; chhar timme220; FIILE*fp; iff(ffp=ffopeen(lisst.ttxt,rr)=NNULLL) prrinttf(文件打打不开!n); prrinttf(nppresss eenteer tto rretuurn mennunn); geetchhar(); meenu(); foor(jj=0;!feeof(fp);j+) /读取文文件 fsscannf(ffp,%s%s%ss%s%s%ss,&lisstjj.vvno,&liistj.dnaame,&liistj.pnaame,&liistj.
26、pnoo,&llisttj.noo,&llisttj.daate); nuum=jj; fcclosse(ffp); prrinttf(n请请根据提提示输入入驾驶员员的姓名名和一个个时间段段,统计计某个驾驾驶员在在某段时时间内的的处罚单单数目和和罚单号号n); prrinttf(nn请输输入驾驶驶员的姓姓名:); sccanff(%s,namme); prrinttf(n请请输入一一个较早早的时间间:); sccanff(%s,timme1); prrinttf(n请请输入一一个最近近的时间间:); sccanff(%s,timme2); foor(jj=0;j=0)&(sstrccmp(lisstjj.ddatee,tiime22)=0) ff=j; ttotaal+; pprinntf(nn罚单号号:%ssn,liistj.no); iff(f0) pprinntf(nn没有找找到记录录!nn); prrinttf(n罚罚单总数数为:%dnn,ttotaal); prrinttf(nppresss eenteer tto rretuurn mennunn); geetchhar(); geetchhar(); meenu();