




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、C語言課程設(shè)計(jì)交通處罰單管理系統(tǒng)中國地質(zhì)大學(xué)(武漢)工程學(xué)院052097 班 182011-8-22要求: 交通處罰單涉及到車輛,駕駛員和開單交警的信息,還有交通處罰單號碼,處罰時(shí)間等信息。功能:( 1)要求可以輸入,刪除,瀏覽交通處罰單信息。( 2)可以按車輛,駕駛員和開單交警查詢。( 3)統(tǒng)計(jì)某時(shí)間段某個(gè)駕駛員的交通處罰單數(shù)目及交通處罰單號碼。提示:(1)需求分析: 交通處罰單信息用文件存儲(chǔ), 提供文件的輸入輸出操作; 要求可以輸入,刪除,瀏覽交通處罰單信息,因而要提供信息的輸入,刪除和顯示操作;要實(shí)現(xiàn)按車輛,駕駛員和開單交警查詢,則要提供查找操作;另外提供統(tǒng)計(jì)操作和鍵盤式選擇菜單以實(shí)現(xiàn)功
2、能選擇。( 2) 總體設(shè)計(jì):整個(gè)管理系統(tǒng)被設(shè)計(jì)為信息輸入模板,信息刪除模板,信息瀏覽模板,信息查詢模板和信息統(tǒng)計(jì)模板等。源代碼:#include #include #include #defineN 100structPlist/ 處罰單charvno20;/ 車牌號chardname20;/ 駕駛員姓名charpname20;/ 交警姓名charpno20;/ 交警編號charno20;/ 處罰單編號chardate20;/ 處罰日期 listN;/ 處罰單數(shù)組void input();/ 輸入模塊void dele();/刪除模塊void browse();/ 瀏覽模塊void searc
3、h();/ 查詢模塊void count();/ 統(tǒng)計(jì)模塊void menu();/ 主菜單void vno_search();/按車牌號查詢void dna_search();/按駕駛員姓名查詢void pna_search();/按開單交警姓名查詢void main()1 / 11menu();getchar();void menu()intn;intr;dosystem(cls);printf(ntttt交通處罰單管理系統(tǒng)n );printf( );printf(菜單 : 1-信息錄入 2- 信息刪除 3- 信息瀏覽 4- 信息查詢 5- 信息統(tǒng)計(jì) 6- 退出系統(tǒng) n );printf(
4、 );printf( 請從輸入數(shù)字選擇相應(yīng)的功能: );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;intnum;inti,j;if (fp=fopen(list.txt, r+ )=NULL)if (fp=fopen(
5、list.txt, w )=NULL)2 / 11printf( 文件打開或創(chuàng)建失敗!n);printf(npress enter to return menun);getchar();menu();printf(n 請輸入處罰單數(shù)量: );scanf(%d,&i);printf(nn);for (j=0;ji;j+)printf( 輸入第 %d張?zhí)幜P單的 :n,j+1);printf(n車牌號、駕駛員姓名、交警姓名、交警號、處罰單號、日期(如)n );printf(n 注意 : 中間用空格隔開!n);scanf( %s%s%s%s%s%s,&listj.vno,&listj.dname,&l
6、istj.pname,&listj.pno,&listj.no,&li stj.date);for (j=0;jN)printf(n 結(jié)構(gòu)體數(shù)組數(shù)的N太小,請先修改 N的值 n );printf(npress enter to return menun);3 / 11getchar();getchar();menu();printf(n );for (j=0;ji;j+)printf( 輸入第 %d張?zhí)幜P單的 :n,j+1);printf(n 車牌號、駕駛員姓名、交警姓名、交警號、處罰單號、日期(如)n );printf(n 注意 : 中間用空格隔開!n);scanf( %s%s%s%s%s%
7、s,&listj.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.pno,listj.no,listj.date);fclose(fp);printf(n 保存成功! );printf(npress enter to return menun);getchar();getchar();menu();void dele()intj;intnum;i
8、ntf=-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+)/ 讀取文件4 / 11fscanf(fp1, %s%s%s%s%s%s,&listj.vno,&listj.dname,&listj.pname,&listj.pno,&listj.n o,&listj.date);num=j;fclose(
9、fp1);printf( 請輸入要?jiǎng)h除的處罰單的編號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
10、.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
11、);getchar();getchar();menu();5 / 11if (f0)printf(n 沒有找到該學(xué)號的記錄:n);printf(npress enter to return menun);getchar();getchar();menu();void browse()intj;intnum;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(
12、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.
13、date);printf(npress enter to return menun);getchar();getchar();6 / 11menu();void search()intn;intr;dosystem(cls);printf(n 請選擇查詢類型:nt1-按車牌號 2- 按駕駛員姓名 : 按開單交警姓名4- 返回主菜單 n );printf(n 請輸入數(shù)字選擇: );scanf(%d,&n);if (n4)r=1;getchar();else r=0; while (r=1);switch (n)case 1:vno_search();break ;case 2:dna_searc
14、h();break ;case 3:pna_search();break ;case 4:menu();void vno_search()intf=-1;intnum;intj;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+)/ 讀取文件7 / 11fscanf(fp, %s%s%s%s%s%s,&listj.vno,&listj.dname,&listj
15、.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)p
16、rintf(n 沒有找到該班號的記錄!n);printf(npress enter to return sub menun);getchar();getchar();search();void dna_search()intf=-1;intnum;intj;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+)/ 讀取文件8 / 11fscanf(fp, %
17、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,li
18、stj.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()intf=-1;intnum;intj;char name20;FILE*fp;if (fp=fopen(list.txt, r )=NULL)printf( 文件打不開! n );printf(npress enter to return menun);getchar();men
19、u();for (j=0;!feof(fp);j+)/ 讀取文件9 / 11fscanf(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();voidcount()intf=-1;intnum;/ 所有罰單單數(shù)intj;inttotal=0;/ 某駕駛員的罰單數(shù)charname20;chartim
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 餐飲企業(yè)加盟合同范本:包含品牌使用權(quán)及培訓(xùn)
- 物業(yè)管理公司財(cái)務(wù)外包合同
- 施工方案編制聲明
- 電商代運(yùn)營及數(shù)據(jù)分析合作協(xié)議
- 成都市二手房買賣及產(chǎn)權(quán)過戶稅費(fèi)承擔(dān)及代理服務(wù)合同
- 出租車服務(wù)區(qū)域獨(dú)家經(jīng)營權(quán)承包合同
- 神經(jīng)外科帕金森病護(hù)理查房
- 焦化消防應(yīng)急預(yù)案方案
- 油費(fèi)管理方案模板(3篇)
- 2026版《全品高考》選考復(fù)習(xí)方案生物06 實(shí)驗(yàn)十七 探究等溫情況下一定質(zhì)量氣體壓強(qiáng)與體積的關(guān)系含答案
- 氧化鋁溶出機(jī)組熱試方案
- 小學(xué)閱讀理解提分公開課課件
- esd防靜電手冊20.20標(biāo)準(zhǔn)
- 教育政策與法規(guī)課件
- 養(yǎng)老護(hù)理員職業(yè)道德27張課件
- 少兒美術(shù)課件-《長頸鹿不會(huì)跳舞》
- 人教版五年級數(shù)學(xué)下冊單元及期中期末測試卷含答案(共16套)
- GB∕T 17989.1-2020 控制圖 第1部分:通用指南
- EN485.32003鋁及鋁合金薄板、帶材和厚板第三部分(譯文)
- 商混企業(yè)整合方案
- 連續(xù)波多普勒無線電引信論文
評論
0/150
提交評論