交通罰單管理系統(tǒng)_第1頁(yè)
交通罰單管理系統(tǒng)_第2頁(yè)
交通罰單管理系統(tǒng)_第3頁(yè)
交通罰單管理系統(tǒng)_第4頁(yè)
交通罰單管理系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩29頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、目錄一 系統(tǒng)開(kāi)發(fā)的背景 2二 系統(tǒng)分析與設(shè)計(jì) 2(一)系統(tǒng)功能要求 2(二)系統(tǒng)模塊結(jié)構(gòu)設(shè)計(jì) 2三系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) 3(一) 罰單基本信息錄入: input () 3(二 )信息刪除: delete() 6(三)find 函數(shù) 9(四) show 函數(shù) 13(五)sum函數(shù)14四系統(tǒng)測(cè)試 16(一)測(cè)試 input 函數(shù) 16(二)測(cè)試 delet 函數(shù) 17(三)測(cè)試 find 函數(shù) 18(四)測(cè)試 show 函數(shù) 18(五)測(cè)試 sum 函數(shù) 19五、總結(jié) 20六、附件(代碼、部分圖表) 2134交通罰單管理系統(tǒng)一 系統(tǒng)開(kāi)發(fā)的背景為了方便單位對(duì)交通處罰的經(jīng)一步解交通處罰單信息用文件存 儲(chǔ),

2、提供文件的輸入輸出操作;要求可以輸入、刪除、瀏覽交通處罰 單信息,因而要提供信息的輸入、刪除和顯示操作;要實(shí)現(xiàn)按車輛、 駕駛員和開(kāi)單交警查詢, 則要提供查找操作; 另外提供統(tǒng)計(jì)操作和鍵 盤(pán)式選擇菜單以實(shí)現(xiàn)功能選擇。二 系統(tǒng)分析與設(shè)計(jì)(一) 系統(tǒng)功能要求可以錄入交通罰單的信息,交通處罰單信息用文件存儲(chǔ),因而要 提供文件的輸入輸出操作。1. 要求可以輸入、刪除、 瀏覽交通處罰單信息,因而要提供 信息的輸入、刪除和顯示操作;2. 要實(shí)現(xiàn)按車輛、駕駛員和 開(kāi)單交警查詢,則要提供查找操 作;3. 另外提供統(tǒng)計(jì)操作和鍵盤(pán)式選擇菜單以實(shí)現(xiàn)功能選擇。4. 罰單信息(包括車牌號(hào)、 駕駛員姓名、 交警姓名、 交警

3、編號(hào)、 罰單編號(hào))(二) 系統(tǒng)模塊結(jié)構(gòu)設(shè)計(jì) 通過(guò)對(duì)系統(tǒng)功能的分析,交通罰單管理系統(tǒng)功能如圖所示交通罰單管理系統(tǒng)信息錄入模塊信息瀏覽模塊信息查詢模塊信息統(tǒng)計(jì)模塊圖1交通管理系統(tǒng)功能圖通過(guò)上圖的功能分析,把整個(gè)系統(tǒng)劃分為 5個(gè)模塊:1、交通罰單信息錄入,該模塊主要實(shí)現(xiàn):車牌號(hào)、駕駛員 姓名、交警姓名、交警編號(hào)、罰單編號(hào)的輸入,用in put 函數(shù)實(shí)現(xiàn)。2、信息刪除模塊,該模塊主要實(shí)現(xiàn)信息的刪除,用delet函數(shù)實(shí)現(xiàn)。3、信息查詢模塊,該模塊主要實(shí)現(xiàn)信息的查詢:有車牌號(hào) 查詢、駕駛員查詢、交警查詢,共用四個(gè)函數(shù)進(jìn)行查詢, 分別是find,4、信息統(tǒng)計(jì)模塊,主要實(shí)現(xiàn)的是罰單數(shù)量的統(tǒng)計(jì),用sum函數(shù)實(shí)現(xiàn)

4、。三.系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)(一) 罰單基本信息錄入:in put ()分析:先輸出表頭,然后進(jìn)行罰單的信息輸入,單獨(dú)看各個(gè)數(shù)據(jù)信息, 開(kāi)單日期以及駕駛員姓名為字符型, 可以采用字符型數(shù)組;處罰單號(hào)碼、車牌號(hào)碼以及交警ID為整型,可以采用整型數(shù)組。一條記錄對(duì)應(yīng)一張交通處罰單,方便交通部門(mén)管理。流程圖如圖 2所示開(kāi)始1y-能否打開(kāi)文件輸入用戶要輸入處罰單紀(jì)錄的條數(shù)。1依次輸入處罰單信息,并保存到文件中。j1T輸入、關(guān)成完閉件N退出輸入函數(shù)流程圖*程序代碼:void in put()FILE*fp;int num;int i,j;if(fp=fope n("plist.txt",&q

5、uot;r+")=NULL)r+為讀和寫(xiě)而打開(kāi)文本文件if(fp=fope n( "plist.txt","w")=NULL)讀而打開(kāi)文本文件printf(”文件打開(kāi)或創(chuàng)建失敗!n");prin tf("npress en ter to retur n menun"); getchar();men u();輸入模塊*wprintf("n 請(qǐng)輸入處罰單數(shù)量 :");scanf("%d",&i);printf("nn");for(j=0;j<i;

6、j+) /控制罰單一次一次的輸入printf(” 輸入第d張?zhí)幜P單的:n",j+1);printf("n 車牌號(hào)、駕駛員姓名、 交警姓名、 交警號(hào)、處罰單號(hào)、 日期(如 20101112)n"); printf("n 注意 : 中間用空格隔開(kāi) !n");scanf("%s%s%s%s%s%s",&plistj.chepai,&plistj.dname,&plistj.pname,&plistj .tbianhao,&listj.fbianhao,&plistj.date);fo

7、r(j=0;j<i;j+)/對(duì)罰單一次次的保存fprintf(fp,"n%st%st%st%st%st%s",plistj.chepai,plistj.dname,plistj.p name,plistj.tbianhao,plistj.fbianhao,plistj.date);fclose(fp);printf("n 保存成功! ");printf("npress enter to return menun");getchar();getchar();menu();printf("n 請(qǐng)輸入處罰單數(shù)量 :"

8、;);scanf("%d",&i);printf("nn");for(j=0;!feof(fp);j+)/讀取文件fscanf(fp,"%s%s%s%s%s%s",&plistj.chepai,&plistj.dname,&plistj.pname,&plis tj.tbianhao,&plistj.fbianhao,&plistj.date);num=j+i;if(num>N)printf("n結(jié)構(gòu)體數(shù)組數(shù)的 N太小,請(qǐng)先修改 N的值n");print

9、f("npress enter to return menun");getchar();getchar();menu();printf("n");for(j=0;j<i;j+)printf("輸入第d張?zhí)幜P單的:n",j+1);printf("n 車牌號(hào)、駕駛員姓名、交警姓名、交警號(hào)、處罰單號(hào)、日期(如 20101112)n"); printf("n 注意 : 中間用空格隔開(kāi) !n");scanf("%s%s%s%s%s%s",&plistj.chepai,&a

10、mp;plistj.dname,&plistj.pname,&plistj .tbianhao,&plistj.fbianhao,&plistj.date);for(j=0;j<i;j+) fprintf(fp,"n%st%st%st%st%st%s",plistj.chepai,plistj.dname,plistj.p name,plistj.tbianhao,plistj.fbianhao,plistj.date);fclose(fp);printf("n 保存成功! ");printf("npres

11、s enter to return menun");getchar();getchar();menu();(二 )信息刪除: delete() 分析:該模塊的功能需要?jiǎng)h除交通處罰單信息,要根據(jù)處罰單號(hào)、車 輛號(hào)碼、駕駛員姓名、開(kāi)單時(shí)間以及交警 ID 查找處罰記錄并刪除。 流程圖如圖 3 所示。結(jié)束圖3*程序代碼void delet()int j;int num;int f=-1;FILE*fp1,*fp2;/char s120;if(fp 1= fope n( "plist.txt","r")=NU刪除函數(shù)流程圖刪除模塊 *文件的運(yùn)用print

12、f("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",&plistj.chepai,&plistj.dname,&plistj.pname,&pli stj.tbianhao,&plistj.fbianhao,&plistj.date);num=j;fc

13、lose(fp1);printf(" 請(qǐng)輸入要?jiǎng)h除的處罰單的編號(hào) n");scanf("%s",s1);for(j=0;j<num;j+)if(strcmp(s1,plistj.fbianhao)=0)f=j;if(f<num-1)for(j=f;j<num-1;j+)strcpy(plistj.chepai,plistj+1.chepai); strcpy(plistj.dname,plistj+1.dname); strcpy(plistj.pname,plistj+1.pname);strcpy(plistj.tbianhao,p

14、listj+1.tbianhao);strcpy(plistj.fbianhao,plistj+1.fbianhao); strcpy(plistj.date,plistj.date);if(fp2=fopen("plist.txt","w")=NULL)printf(" 文件打不開(kāi)! n"); printf("npress enter to return menun"); getchar();menu();for(j=0;j<num-1;j+) / 保存文件fprintf(fp2,"n%st%st

15、%st%st%st%s",&plistj.chepai,&plistj.dname,&plist j.pname,&plistj.tbianhao,&plistj.fbianhao,&plistj.date);fclose(fp2);prin tf("n刪除成功!n");prin tf("npress en ter to retur n menun ”);getchar();getchar();men u();if(f<0) prin tf("n沒(méi)有找到該學(xué)號(hào)的記錄:n");pri

16、n tf("npress en ter to retur n menun ”); getchar();getchar(); menu();(三)find 函數(shù)分析:該模塊的功能是根據(jù)輸入的處罰單號(hào)、 車輛號(hào)碼、駕駛員姓名、開(kāi)單時(shí)間以及交警ID查找相應(yīng)的記錄,方便駕駛員了解自己的處罰情況。流程圖如圖4所示圖4 find函數(shù)流程圖*按車牌號(hào) 2- 按駕駛員姓名 3- 按開(kāi)單交警姓名讀取文件程序代碼void find()int n;int r;dosystem("cls"); / 清屏 printf("n請(qǐng)選擇查詢類型 :nt 14- 返回主菜單 n"

17、;);printf("n請(qǐng)輸入數(shù)字選擇 :");scanf("%d",&n);if(n<1|n>4)r=1;getchar();else r=0;while(r=1);switch(n)case 1:chepaif();break;case 2:dnamef();break;case 3:pnamef();break;case 4:menu();void chepaif()int f=-1;int num;int j;char a20;FILE*fp;if(fp=fopen("plist.txt","r&

18、quot;)=NULL)printf(" 文件打不開(kāi)! n");printf("npress enter to return menun"); getchar();menu();for(j=0;!feof(fp);j+) /fscanf(fp,"%s%s%s%s%s%s",&plistj.chepai,&plistj.dname,&plistj.pname,&plis tj.tbianhao,&plistj.fbianhao,&plistj.date);num=j;fclose(fp);

19、printf("n 請(qǐng)輸入車牌號(hào) :");scanf("%s",a);printf("n 罰單的信息為: nn");printf(" 車牌號(hào) 駕駛員姓名 交警姓名 交警編號(hào) 處罰單編號(hào) 處罰日期 n"); for(j=0;j<num;j+)if(strcmp(a,plistj.chepai)=0)f=j; printf("n%st%st%st%st%st%s",&plistj.chepai,&plistj.dname,&plistj.pn ame,&plis

20、tj.tbianhao,&plistj.fbianhao,&plistj.date);if(f<0)printf("n 沒(méi)有找到該班號(hào)的記錄 !n");printf("npress enter to return sub menun");getchar();getchar();find();void dnamef()int f=-1;int num;int j;char name20;FILE*fp; if(fp=fopen("plist.txt","r")=NULL)printf("

21、; 文件打不開(kāi)! n");printf("npress enter to return menun");getchar();menu();for(j=0;!feof(fp);j+) / 讀取文件fscanf(fp,"%s%s%s%s%s%s",&plistj.chepai,&plistj.dname,&plistj.pname,&plis tj.tbianhao,&plistj.fbianhao,&plistj.date);num=j;fclose(fp);printf("n 請(qǐng)輸入駕駛

22、員的姓名 :");scanf("%s",name);printf("n 罰單的信息為: nn");printf(" 車牌號(hào) 駕駛員姓名 交警姓名 交警編號(hào) 處罰單編號(hào) 處罰日期 n"); for(j=0;j<num;j+)if(strcmp(name,plistj.dname)=0)f=j; printf("n%st%st%st%st%st%s",&plistj.chepai,&plistj.dname,&plistj.pn ame,&plistj.tbianhao,

23、&plistj.fbianhao,&plistj.date);if(f<0)printf("n 沒(méi)有找到該班號(hào)的記錄 !n");printf("npress enter to return sub menun");getchar();getchar();find();void pnamef()int f=-1;int num;int j;char name20;FILE*fp;if(fp=fopen("plist.txt","r")=NULL)printf(" 文件打不開(kāi)! n&qu

24、ot;); printf("npress enter to return menun");getchar();menu();for(j=0;!feof(fp);j+) / 讀取文件 fscanf(fp,"%s%s%s%s%s%s",&plistj.chepai,&plistj.dname,&plistj.pname,&plis tj.tbianhao,&plistj.fbianhao,&plistj.date);nu m=j;fclose(fp);prin tf("n請(qǐng)輸入開(kāi)單交警的姓名:”);s

25、ca nf("%s", name);prin tf("n罰單的信息為:nn");printf(” 車牌號(hào)駕駛員姓名交警姓名交警編號(hào)處罰單編號(hào)處罰日期n");for(j=0;j< nu m;j+)if(strcmp (n ame,plistj.p name)=0)f=j;prin tf("n%st%st%st%st%st%s",&plistj.chepai, &plistj.d name,&plistj.p name,&plistj.tbia nhao,&plistj.fbia n

26、hao,&plistj.date);if(f<0)prin tf("n沒(méi)有找到該班號(hào)的記錄!n");prin tf("npress en ter to retur n sub menun ”);getchar();getchar();fin d();(四)show函數(shù)分析:該模塊的功能是顯示所有的處罰信息。流程圖如圖 5所示圖5 show函數(shù)流程圖程序代碼void show()int j;int num;FILE*fp;if(fp=fopen("plist.txt","r")=NULL)printf("

27、;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",&plistj.chepai,&plistj.dname,&plistj.pname,&plis tj.tbianhao,&plistj.fbianhao,&plistj.date);fclose(fp);num=j

28、;printf("n已添加 %d 條記錄 nn",num);printf(" 車牌號(hào) 駕駛員姓名 交警姓名 交警編號(hào) 處罰單編號(hào) 處罰日期 n"); for(j=0;j<num;j+) / 輸出printf("n%st%st%st%st%st%s",&plistj.chepai,&plistj.dname,&plistj.pn ame,&plistj.tbianhao,&plistj.fbianhao,&plistj.date);printf("npress enter

29、to return menun");getchar();getchar();menu();(五) sum 函數(shù)分析:該模塊的功能是根據(jù)輸入的處罰單號(hào)、 車輛號(hào)碼、駕駛員姓名、開(kāi)單時(shí)間以及交警 ID 查找相應(yīng)的記錄,方便駕駛員了解自己的處罰情況。流程圖如圖 6 所示圖6 sum函數(shù)流程圖統(tǒng)計(jì)模塊*程序代碼void sum()int f=-1;所有罰單單數(shù)某駕駛員的罰單數(shù)int num; /int j;int all=0; /char n ame20;char time120;char time220;FILE*fp;if(fp=fope n("plist.txt",

30、"r")=NULL)prin tf("文件打不開(kāi)!n");prin tf("npress en ter to retur n menun ”);getchar();men u();for(j=0;!feof(fp);j+)/讀取文件fscan f(fp,"%s%s%s%s%s%s", &plistj.chepai,&plistj.d name,&plistj.p name, &plis tj.tbia nhao,&plistj.fbia nhao,&plistj.date);n

31、um=j; fclose(fp);printf("n 請(qǐng)根據(jù)提示輸入駕駛員的姓名和一個(gè)時(shí)間段,統(tǒng)計(jì)某個(gè)駕駛員在某段時(shí)間內(nèi) 的處罰單數(shù)目和罰單號(hào) n");printf("nn 請(qǐng)輸入駕駛員的姓名 :");scanf("%s",name);printf("n請(qǐng)輸入一個(gè)較早的時(shí)間 :");scanf("%s",time1);printf("n請(qǐng)輸入一個(gè)最近的時(shí)間 :");scanf("%s",time2);for(j=0;j<num;j+) if(strc

32、mp(plistj.date,time1)>=0)&&(strcmp(plistj.date,time2)<=0)f=j;all+;printf("n 罰單號(hào) :%sn",plistj.fbianhao);if(f<0)printf("n沒(méi)有找到記錄 !n");printf("n罰單總數(shù)為 :%dn",all);printf("npress enter to return menun");getchar();getchar();menu();四系統(tǒng)測(cè)試(一)測(cè)試 input 函數(shù)7

33、;0&口少交通窮単excW44Z ZZ4、卜 4W W4 W4W44W4 444 44444 從丹從 44444 444 六*/六亦 444 44444 孫丹斗交通罰單管理系統(tǒng)¥錄嚼譜系 BS自S目3自3自9 亠一豆二及=豆一豆二買一12 3 4 5 6請(qǐng)選擇您要進(jìn)行的服務(wù)(用序號(hào)代替例.1 (館息錄入) 請(qǐng)輸入處罰單數(shù)量泊輸入第丄張?zhí)幜P單的2審牌號(hào)"駕駛員姓名”交警姓名、交警號(hào)、處罰單號(hào)、日期(Sn20i0in2>注意,屯回園空墜慣岀25432 王曉囪于缺德 54376 1098767 20133701 輸入第2張址罰單和庫(kù)牌號(hào)*駕駛員姓容.交警姓名、X女警

34、號(hào)、處罰單號(hào)、注意,屯間用寶帝膽開(kāi) 紛冷醱&日54S7G 1096734 20130702車牌號(hào).駕駛員姓名、交警姓名、交警號(hào)、處罰單號(hào)、日期注意沖間用空整隔幵?裁456 虎哥程化 4532G 1093563 20130630保存咸功!pi-G苗昏右。rctwrn menu(二)測(cè)試delet函數(shù)"I '. 3 eb li g 該蘭 單.eKe"交通罰單管理系統(tǒng)錄ffill杳律條 自S自3自4自自4 亠二巳=巳一0_0一艮一1 2 3 4 5 &悴選捋您要進(jìn)行的眾奔用序號(hào)代替)例.1信息錄入)冷輸入要冊(cè)II除的處罰單的編號(hào)*!1除成功!bres ui

35、ntui' to return menu.(三)測(cè)試find函數(shù)幘選j?查詢類型:|-按車牌號(hào)-按駕駛員姓名4按開(kāi)單交警姓名4-返回主菜單*輸入數(shù)字選擇汽+青輸入車牌號(hào)= 23*32”單的信息為;£牌號(hào) 鶯駛員姓名交警姓名交警編號(hào)處罰單編號(hào)處罰日期23432 王曉虎 李敏德 5437610787&7 20130791press ©ntcr to return sub nerm(四)測(cè)試show函數(shù)"LDcbugci® 罰單亡泊-交通罰單管理系統(tǒng)4+ _ _ _ _ _ _ 4錄洞統(tǒng)系 自3自3自3自心自心 亠一一蟲(chóng)_一豆5.亠=g_lx-

36、 JA14 1JlJ7J*112 3 4 5 6幘選擇您要進(jìn)行的服霽(用序號(hào)代替)例;1 (信息錄入)4己添加7條記錄準(zhǔn)牌號(hào)駕駛員姓名交警姓名交警編號(hào)處罰單編號(hào)處罰日期38766E3289 4536374536312132E3432 a 7654hu.jhu fhjh hu.hf fhjfdhjfuffgdf hjfhj hfduf hgysry gs ffds i 王曉虎 元歌673378Z?73?2fc734673834&3964374638&3hf ihi5&75S4376548766376387463 43254 10987? 10?87346738767363

37、27&&576S897832ft&374383?478 20130701 20130702flF-eEEenter- to v-etu.i*-r> raenu.(五)測(cè)試sum函數(shù)"tDebjgL 交;1餐隼 e- e交il罰單管理系統(tǒng)會(huì)系 自山4nil自=白"自.3 =B mlm _竺_ _野- 盧2尸鼻上|衛(wèi)上Ji 12 3 4 5 6區(qū)毎悉套ii存甸晟莠' 誦審尋祀替門(mén)易;1 (彳言息錄入)羹提示輸入駕駛?cè)谛彰蚮時(shí)間段請(qǐng)輸入彗駛員的姓名:元龜諳輸入一個(gè)較早的時(shí)間=28130626 請(qǐng)輸入一個(gè)最近的時(shí)間=20130703 罰單號(hào):

38、1陽(yáng)即67罰單號(hào):1098734罰單總數(shù)為:2press enter to i*etLO*n nenu五、總結(jié)系統(tǒng)完成了交通罰單信息的錄入、刪除、查詢(車牌號(hào)查詢、駕 駛員查詢、開(kāi)單交警查詢),交通罰單的統(tǒng)計(jì)等功能。雖然c語(yǔ)言復(fù)習(xí)過(guò)了,但是看書(shū)看懂了和真正的運(yùn)用學(xué)到的知識(shí) 寫(xiě)程序是完全不同的,不斷的對(duì)照例題,不斷的嘗試與修改。系統(tǒng)運(yùn) 行時(shí)比較死板。程序中缺少一些警告句,例如:是否真的刪除(y/n)?” 由于考慮的不周全,沒(méi)有設(shè)計(jì)遇到重名的情況該怎么處理。我們?cè)O(shè)計(jì) 的程序中,只設(shè)計(jì)了按名字選擇,進(jìn)行操作,忽略了重名的情況。整 個(gè)程序完成了,還有很多不完善的地方,希望自己以后辦事的時(shí)候要 認(rèn)真,仔

39、細(xì),考慮周全。我的收獲是學(xué)會(huì)了怎樣美觀大方的制作一個(gè)表頭, 對(duì)函數(shù)調(diào)用的理解 比以前更上一層樓,但對(duì)函數(shù)的定義仍存在好多問(wèn)題,尤其是定義完 后面括號(hào)的處理閑的手足無(wú)措。不僅讓我進(jìn)一步理解書(shū)本上的知識(shí),而且提高了我的動(dòng)手能力,讓我對(duì)一個(gè)人獨(dú)立編寫(xiě)程序充滿了信心。 我初中學(xué)到了通過(guò)流程圖可以更方便編寫(xiě)程序,也可以更準(zhǔn)確編寫(xiě)。 通過(guò)本題讓我了解到模塊的重要性, 各種模塊擁有各種功能, 熟練掌 握模塊可以更便捷編寫(xiě)程序六、附件(代碼、部分圖表)# include<stdio.h># include<stdlib.h># include<string.h># defi

40、ne N 100 typedef struct char chepai20;/車牌號(hào)char dname20;/駕駛員姓名char pname20;/交警姓名char tbianhao20;/交警編號(hào)char fbianhao20;/罰單編號(hào)char date20;/罰單日期STREC;STREC plistN;void menu();/、t t I、/,主菜單void input();/信息錄入void delet();/信息刪除void find(); /信息查詢void chepaif();/按車牌查詢void dnamef();/按駕駛員姓名查詢void pnamef();/按交警查詢

41、void show();/信息瀏覽void sum();/信息統(tǒng)計(jì)void main()menu(); getchar(); input();void menu() it a;printf("+交通罰單管理系統(tǒng)+n")printf("+.+n");printf("+1.信息錄入+n");printf("+2.信息刪除+n");printf("+3.信息查詢+n");printf("+4.信息瀏覽+n");printf("+5.信息統(tǒng)計(jì)+n");printf

42、("+6.退出系統(tǒng)+n");printf("+.+n");printf("請(qǐng)選擇您要進(jìn)行的服務(wù)(用序號(hào)代替)例:1(信息錄入)n");scanf("%d",&a);switch(a)case 1:input();break;case 2:delet();break;case 3:find();break;case 4:show();break;case 5:sum();break;case 6:break;default : break;if(a>7&&a<1) printf(&

43、quot;error");void input()FILE*fp;int num;int i,j; if(fp=fopen("plist.txt","r+")=NULL) /r+ 為讀和寫(xiě)而打開(kāi)文本文件if(fp=fopen("plist.txt","w")=NULL) /w 讀而打開(kāi)文本文件printf(" 文件打開(kāi)或創(chuàng)建失敗 !n"); printf("npress enter to return menun"); getchar();menu();printf

44、("n 請(qǐng)輸入處罰單數(shù)量 :");scanf("%d",&i);printf("nn");for(j=0;j<i;j+) / 控制罰單一次一次的輸入printf(”輸入第d張?zhí)幜P單的:n",j+1)20101112)n");printf("n 車牌號(hào)、駕駛員姓名、 交警姓名、 交警號(hào)、處罰單號(hào)、 日期(如 printf("n 注意 : 中間用空格隔開(kāi) !n");scanf("%s%s%s%s%s%s",&plistj.chepai,&p

45、listj.dname,&plistj.pname,&plistj .tbianhao,&plistj.fbianhao,&plistj.date);for(j=0;j<i;j+)/對(duì)罰單一次次的保存fprintf(fp,"n%st%st%st%st%st%s",plistj.chepai,plistj.dname,plistj.p name,plistj.tbianhao,plistj.fbianhao,plistj.date);fclose(fp);/文件的關(guān)閉printf("n 保存成功! ");printf(

46、"npress enter to return menun");getchar();getchar();menu();printf("n 請(qǐng)輸入處罰單數(shù)量 :");scanf("%d",&i);printf("nn");for(j=0;!feof(fp);j+)/讀取文件fscanf(fp,"%s%s%s%s%s%s",&plistj.chepai,&plistj.dname,&plistj.pname,&plis tj.tbianhao,&pli

47、stj.fbianhao,&plistj.date);num=j+i;if(num>N)printf("n結(jié)構(gòu)體數(shù)組數(shù)的N太小,請(qǐng)先修改 N的值n");printf("npress enter to return menun"); getchar(); getchar(); menu();printf("n");for(j=0;j<i;j+)printf("輸入第d張?zhí)幜P單的:n",j+1);printf("n 車牌號(hào)、駕駛員姓名、交警姓名、交警號(hào)、處罰單號(hào)、日期(如 20101112

48、)n");printf("n 注意 : 中間用空格隔開(kāi) !n"); scanf("%s%s%s%s%s%s",&plistj.chepai,&plistj.dname,&plistj.pname,&plistj .tbianhao,&plistj.fbianhao,&plistj.date);for(j=0;j<i;j+) fprintf(fp,"n%st%st%st%st%st%s",plistj.chepai,plistj.dname,plistj.p name,pl

49、istj.tbianhao,plistj.fbianhao,plistj.date);fclose(fp);printf("n 保存成功! ");printf("npress enter to return menun");getchar();getchar();menu();void delet()int j;int num;int f=-1;FILE*fp1,*fp2; / 文件的運(yùn)用char s120;if(fp1=fopen("plist.txt","r")=NULL)printf("can no

50、t 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",&plistj.chepai,&plistj.dname,&plistj.pname,&pli stj.tbianhao,&plistj.fbianhao,&plistj.date);num=j;fclose(fp1);prin

51、tf(" 請(qǐng)輸入要?jiǎng)h除的處罰單的編號(hào) n");scanf("%s",s1);for(j=0;j<num;j+)if(strcmp(s1,plistj.fbianhao)=0)f=j;if(f<num-1)for(j=f;j<num-1;j+)strcpy(plistj.chepai,plistj+1.chepai); strcpy(plistj.dname,plistj+1.dname); strcpy(plistj.pname,plistj+1.pname); strcpy(plistj.tbianhao,plistj+1.tbian

52、hao); strcpy(plistj.fbianhao,plistj+1.fbianhao);strcpy(plistj.date,plistj.date);if(fp2=fopen("plist.txt","w")=NULL)printf(" 文件打不開(kāi)! n"); printf("npress enter to return menun"); getchar();menu();for(j=0;j<num-1;j+) / 保存文件fprintf(fp2,"n%st%st%st%st%st%s&q

53、uot;,&plistj.chepai,&plistj.dname,&plist j.pname,&plistj.tbianhao,&plistj.fbianhao,&plistj.date);fclose(fp2);printf("n 刪除成功! n"); printf("npress enter to return menun"); getchar(); getchar();menu();if(f<0)printf("n 沒(méi)有找到該學(xué)號(hào)的記錄 :n"); printf(&quo

54、t;npress enter to return menun");getchar();getchar();menu();void find()int n;int r;do system("cls");/ 清屏printf("n請(qǐng)選擇查詢類型:nt 14- 返回主菜單 n");printf("n請(qǐng)輸入數(shù)字選擇:");scanf("%d",&n);if(n<1|n>4) r=1; getchar();else r=0; while(r=1); switch(n) case 1:chepai

55、f();break; case 2:dnamef();break; case 3:pnamef();break; case 4:menu(); void chepaif()int f=-1;int num;int j;char a20;FILE*fp;if(fp=fopen("plist.txt","r")=NULL)printf(" 文件打不開(kāi)! n"); printf("npress enter to return menun");getchar();menu();按車牌號(hào) 2- 按駕駛員姓名 3- 按開(kāi)單交警

56、姓名讀取文件for(j=0;!feof(fp);j+) / fscanf(fp,"%s%s%s%s%s%s",&plistj.chepai,&plistj.dname,&plistj.pname,&plis tj.tbianhao,&plistj.fbianhao,&plistj.date);num=j;fclose(fp);printf("n 請(qǐng)輸入車牌號(hào) :");scanf("%s",a);printf("n 罰單的信息為: nn");printf("

57、車牌號(hào) 駕駛員姓名 交警姓名 交警編號(hào) 處罰單編號(hào) 處罰日期 n"); for(j=0;j<num;j+)if(strcmp(a,plistj.chepai)=0)f=j;printf("n%st%st%st%st%st%s",&plistj.chepai,&plistj.dname,&plistj.pn ame,&plistj.tbianhao,&plistj.fbianhao,&plistj.date);if(f<0)printf("n 沒(méi)有找到該班號(hào)的記錄 !n");printf

58、("npress enter to return sub menun");getchar();getchar();find();void dnamef()int f=-1;int num;int j;char name20;FILE*fp;if(fp=fopen("plist.txt","r")=NULL)printf(" 文件打不開(kāi)! n"); printf("npress enter to return menun");getchar();menu();for(j=0;!feof(fp);j+) / 讀取文件fscanf(fp,"%s%s%s%s%s%s

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論