C語言課程設(shè)計(jì)《高速公路聯(lián)網(wǎng)收費(fèi)系統(tǒng)》代碼_第1頁
C語言課程設(shè)計(jì)《高速公路聯(lián)網(wǎng)收費(fèi)系統(tǒng)》代碼_第2頁
C語言課程設(shè)計(jì)《高速公路聯(lián)網(wǎng)收費(fèi)系統(tǒng)》代碼_第3頁
C語言課程設(shè)計(jì)《高速公路聯(lián)網(wǎng)收費(fèi)系統(tǒng)》代碼_第4頁
C語言課程設(shè)計(jì)《高速公路聯(lián)網(wǎng)收費(fèi)系統(tǒng)》代碼_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

作者:吳俠志就讀院校:東莞理工學(xué)院#iiicludenstdafx.hn#defineNUM4#definemaxjen8#iiiclude<string.h>#iiiclude<math.h>#iiiclude<dos.h>#iiiclude<tiine.h>#iiiclude<stdlib.h>#iiiclude<como.h>char*mytime(stmcttm*timeptr);〃獲取系統(tǒng)時(shí)間的函數(shù)voidDelay(intn);〃延時(shí)函數(shù)char*filenaine(mtstaitkey);voidinitialize(stiiictcar*cais,mtnum,FILE*fp);〃/初始化函數(shù)intrefer(stmctcar*cars,intstartkey);〃查詢uitkm[10]={0,0,82,162,288.368,391,514,800,867};/*記錄各站與首站的里程,單位:kin*/doublepiice[6]=(0.0,0.64.2,1.8,2.4,3.0);/*記錄各類車的里程價(jià)位,單位:元/輛公里*/char*addiess[10]=(n0,7l湛江”,”茂名”,”陽江”,”開平”,”佛山;廣州”,”深圳”,”汕頭”,”汾水”};char*kmd[6]={”特殊車“,”一類車”,”二類車”,”三類車”,”四類車”,”五類車”};stiuctcar{intcaid_num;/*卡號(hào)*/intcai_type;intstation_iii;chartime_in[26];intstation_out;chartiine_out[26];charis_in;doublemoney;intflag;)cais[9*NUM+l];intnum=0;intpass=O;intaigc,char*aigv[])inti.key,choicej.kaiKsize;doublepay;nioney;charenter.pwd[max_len+1],password[max_len-r1],ch;FILE*fp;fp=fopen(M標(biāo)id.txtu;,a+H);fclose(fp);fp=fopen(Mi己錄.txt”,”a+");fclose(fp);pnntf(At歡迎登錄廣東同三高速公路聯(lián)網(wǎng)收費(fèi)系統(tǒng)\n)pnntf(-|1\n”);TOC\o"1-5"\h\zpnntf(-|1.湛江2.茂名3.陽江|\n”);pnntf(”|4.開平5.佛山6.廣州|\n”);printfC*|7.深圳8.汕頭9.汾水關(guān)|\n”);pnntf(M11\n”);printf(”請(qǐng)選擇所在站點(diǎn),并輸入該序號(hào):");intstaitkey;while(l)fflush(stdin);while(scanf(H%d%c,\&stai-tkey&enter)==O||enter?=,\ii,)printf(n\tenor!!!inputagain:");fflush(stdm);}if(staitkey==l,|startkey=2||startkey=3||startkey=4||stailkey==5||startkey==6||startkey=7|staitkey=8||startkey==9)break;}elseprintf(n\tenor!!!inputagain:");continue;}}pnntf(”初始化中……”);fp=fbpen(H標(biāo)i己.txt”,”a+");fscaiif(fp/,%d,\&num);fclose(fp);fp=fbpen(npassword.txtn;,a+H);fscaiif(fp/,%d,\&pass);fclose(fp);if(pass==0)fp=fbpen(Hpasswoid.txtH;,w+n);功rintf(4,”%d”,88888888);fclose(fp);fp=fopen(Mi己錄.txt”,”a+");rewiiid(fp);initialize(cars4iuiiLfp);fclose(fp);Delay(5);tmie_ttimer;stmcttm*tblock.*a;tmiei-time(NULL);a=localtmie(&tuner);wlule(l)system(HclsM);fflush(stdin);printf(H所在地:%s站\11登錄時(shí)Iu]:%s\nM,address[staitkey]anytime(a));TOC\o"1-5"\h\zprintfC*i13);pnntf(H|1.發(fā)卡|");pnntf(H|2.檢卡并收費(fèi)|");pnntf(H|3.查詢|");pnntf("|4.注銷并退出系統(tǒng)|\n”);pnntf(H|5.退出系統(tǒng)I");pnntf(H11\n”);prmtf(”請(qǐng)選擇,并輸入序號(hào):”);wliile(l)fwhile(scaiif(M%d%c,\&key,&enter)==O||enter?=,\ii,)(prmtf(H\tenor!!!inputagain:11);fflush(stdin);)fj)=fbpen(”標(biāo)記.txf\Hr+H);fscanf(fp;,%dH,&num);fclose(fp);fp=fopen(H記錄.txf\Hr+H);rewind(fp);Hiitialize(cais,num,fp);fclose(fp);for(i=l;i<=9*NUM;i++)iRcars[i].is_in==y&&cais[i].station_in!=staitkey&&cais[i].station_out=0)(J++;break;)k=0;for(m=1;m<=9*NUM;m++){if(cais[m].is_in==tn,&&cars[m].station_iii==0&&cars[m].station_out==staitkey)(k++;cais[m].flag=k;)if((key=l&&k>0)||(key==2&&j>0)||key==3||key==4||key=5)break;elseif(key=2&&j=0){pnntf(”\t目前尚無車輛要離站again/1);fflush(stdin);contmue;)elseif(key=l&&k=0){prmtf(H\t目前卡片不足!!!inputagain:”);fflush(stdin);contmue;)else{prmtf("\tenor!!!mputagain:");fflush(stdin);contmue;)}iRkey==l)fsystem(Mclsn);tunei-=tmie(NULL);tblock=localtime(&timei);siaiid((unsigned)tune(NULL));//用即時(shí)的系統(tǒng)時(shí)間來做隨機(jī)數(shù)種子.生成隨機(jī)數(shù)choice=(iaiid()%k)+l;〃隨機(jī)生成choice,格式randQ%k即要求產(chǎn)生k以內(nèi)的for(m=1;m<=9*NUM;m++)(iRcars[m].is_in=='n'&&cars[m].station_in=0&&cars[m].station_out==staitkey&&cais[m].flag=choice)(break;}pnntf(”卡號(hào)是:%d\ii現(xiàn)在時(shí)間是:%s^nn,nLmytime(tblock));cars[m].station_iii=staitkey;cars[m].station_out=0;strcpy(cars[m].time_in,mytmie(tblock));sticpy(cars[m].time_out,"無”);num=l;4=fopen(”標(biāo)記.txt”「w+");fprmtf(fp/,%dH,num);fclose(fp);fp=fopen(H記錄.txt”「w+");foi(i=l;i<=9*NUM;i++)(fpimtf(fp,M%d%d%c%lf%d%d%s\t%s\t\n”,cais[i].card_mim,cars[i].cai_type,cars[i].is_in,cais[i].money,cars[i].station^iii^caisfi].station_out,cais[i].tiine_iii,cars[i].tiine.out);}fclose(fp);pnntf(”i1prmtf(-|0.特殊車:軍警車、緊急車I\n”);prmtf(-|1.一類車:小轎車、吉普車、的士頭人貨車、摩托車|\n”);prmtf(-|2.二類車:面包車、小型人貨車、輕型貨車、小型客車|\iT);pnntf(”|3.三類車:中型客車、大型普通客車、中型貨車、大型豪華客車|3);prmtf(-|4.四類車:大型貨車、大型拖(掛)車、20英尺集裝箱車|\n”);prmtf(-|5.五類車:重型貨車、重型拖(掛)車、40英尺集裝箱車|\n”);pnntR”11pnntf(”請(qǐng)選擇車型,并輸入序號(hào):”);while(l)fflush(stdin);wliile(scaiif("%d%c",&size,&eiitei)=O|enter!='\u,)piiiitf("\teiTor!!!inputagain:");fflush(stdm);if(size==O||size==l||size==2||size==3||size==4||size==5)break;elsepriiitf(n\teiTor!!!inputagain:M);continue;i)cars[m].is_in=V;cars[m].cai_type=size;fp=fbpen(filename(staitkey)/,a+H);fprintf(fN'%30s%8d%12s%20s\n\n",mytinie(tblock),m.kiiid[cars[m].car_type],”發(fā)卡,放行”);fclose(fp);4=fopen(”標(biāo)記.txt”,”w+”);坦,”%d”,num);fclose(fp);fp=fopen(H記錄.txt”,”w+”);for(i=l;iv=9*NUM;i++)(%d%c%lf%d%d%s\t%s\t\n,\cais[i].caid_nunKcars[i].cai_type,cars[i].is_iii,cais[i].money,cars[i].station_in,cais[i].station_out,cais[i].tinie_in,cars[i].time_out);)fclose(fp);pruitfC登記完畢,請(qǐng)發(fā)卡放行,并按任意鍵回到主菜單\a”);getche();}elseif(key=2)system(MclsH);pimtfC請(qǐng)輸入卡號(hào)(按0返回):");while(l)(ch=y;fflush(stdin);while(scaiif(,,%d%c,\&choice.&enter)=0|enter!(priiitf(n\teiTor!!!inputagain:M);fflush(stdm);ifp=fbpen(H標(biāo)記.txt”,”r+”);fscanf(fp/l%d,\&num);fclose(fp);fp=fbpen(H記錄.txt”,”r+”);

rewiiid(fp);uutialize(caiS4ium,fp);fclose(fp);if(choice<0|choice>9*NUNI)(printf(”無此卡again:'*);contmue;}elseif(choice==0)(ch='n';break;}elseif(choice>0&&choice〈=9*NUM&&cars[choice].is_in=,n,)printf(”該卡號(hào)尚未發(fā)布…\ii\tinputagain:”);continue;}cais[choice].is_in==V&&cais[choice].is_in==V&&elseif(choice>0&&choice<=9*NUNI&&cais[choice].station_m!=staitkey&&cars[choice].station_out=0)(break;elseif(choice>0&&choice<=9*NUNI&&cais[choice].station_m==staitkey&&cais[choice].station_out=0)printf(”該卡號(hào)車于%s從本站進(jìn)入高速,尚在行…\n\tinputagain:M,cars[choice].tiine_in);continue;elsepriiitf(H\teiTOi!!!inputagain:");contmue;}if(ch=,n*)contmue;cars[choice].station_out=staitkey;fp=fopen(ni己錄cais[choice].is_in==V&&cais[choice].is_in==V&&%d%c%lf%d%d%s\t%s\t\nM,cais[i].caid_nunKcars[i].cai^^pe.carsfi].is_iii,cais[i].money,cars[i].station-iii,cais[i].station_out,cais[i].tiine_inxars[i].tmie_out);)fclose(fp);iRcars[choice].car_type==0)prmtf(H該車于%s在%s進(jìn)入高速,為特殊車,無需收費(fèi)\n,\cars[choice].time_iii,address[cars[choice].station_m]);)else(i=abs(kin[cais[choice].station_m]-kin[cais[choice].station_out]);money==cars[choice].money=i*price[cais[choice].cai_type];prmtf("該車于%s在%$進(jìn)入高速,需繳費(fèi)%.llf元,請(qǐng)付Uc:,\cars[choice].tune_in.addiess[cais[choice].station_m],cars[choice].money);fflush(stdin);wlule(l)(while(scanf(n%lf^c,\&pay,&enter)==O|jenter!=,\n,)(printff^Xteuoi!!!inputagain:");fflush(stdin);1jif(pay>money)(print町繳付%.llf元,找零%.llf元…\n”,pay,pay-money);money-0;break:ielseif(pay<money)(money=money-pay;printf(”繳元,需再繳付%.Ilf元:",pay,money);continue;ielse(printf(H已繳費(fèi)完畢,共收取人民幣%』匹元…\nM,cais[choice].money);break:ii}tunei-=tmie(NULL);tblock=localtime(&timei);printf(”現(xiàn)在時(shí)間是:%s\nMjnytiiiie(tblock));strcpy(cars[choice].time_outjnytime(tblock));fp=fopen(H檔案.txt”,”a+");fprmtf(fp/%5d%12s%15s%30s%10.11f元\n,\choice.kind[cars[choice].car_t\7pe],addiess[cars[choice].station_in],cais[choice].time_iiKcais[choice].money);fprmtf(fp,n%32s%30s\ii\n,\addiess[cars[choice].station_out].cars[choice].tmie_out);fclose(fp);cars[choice].money=0;cars[choice].is_m-n*;cars[choice].station_in=0;cars[choice].station_out=staitkey;sticpy(cars[choice].time_in「'無”);sticpy(cars[choice].time_out,"無”);fp=fbpen(filename(staitkey)/'a+");if(cars[choice].car_type==0)fprintf(fp/%30s%8d%12s%20s^ii,\mytime(tblock)5choice.kiiid[cais[choice].cai_type],”收卡,放行)else玲iintf?,"%30s%8d%12s%20s\n\n",mytime(tblock),choice,kind[cars[choice].cai_type],”繳費(fèi),收卡,放行)fclose(fp);cais[choice].car_type=0;fp=fopen(H記錄.txt”,”w+");for(i=l;i<=9*NUM:i++)(fpirntf(fp/%:!%d%c%lf%d%d%s\t%s\t\n,\cais[i].caid-nunKcais[i].cai_t>?pe,cars[i].is_iii,cais[i].money;cars[i].station_iii,cais[i].station_out,cais[i].tiine_iii,cars[i].tmie_out);)fclose(fp);pnntf("請(qǐng)收卡放行,并按任意鍵回到主菜單\a”);getche();}elseiRkey=3)system(MclsH);te如(cars,startkey);}elseif(key=4)while(l)(system(Mcls");prmtf(nmputpassword:for(1=0;;)fflush(stdm);ch=getchQ;if(ch=V||ch=='\n')(break:ielseif(ch==r\b*)(if(i~>0){pwd[i]=、o,;pnntf(”\b\b”);〃刪除前個(gè)字符,光標(biāo)退一個(gè)}continue;elseif(i==max_len)(continue;ielse(pwd[i++]=ch;〃接收字符到密碼中pnntff*”);iipwd[i]=氣(T;fp=fbpen(Hpasswoid.txt,7,a+H);rewiiid(fp);fscanf(fj),”%8s”,password);fclose(fp);if(strcmp(pwd,password)==0)(break;ielse(pnntf(”\n密碼錯(cuò)誤或空密碼!!!(空密碼時(shí)系統(tǒng)規(guī)定為不能注銷)\n”);printf("想再輸一遍密碼嗎?(yorn):");while(l)(fiflush(stdin);ch=getche();if(ch==y||ch=='Y')system(HclsH);break;}elseiRch==h'||ch=N){break:}else{pnntf(M\b\bn);continue;}1Jif(ch=y||ch==丫)continue;elseiRch==h,||ch=N*)break;)iRch=h'||ch=N)continue;1=0;for(j=lj<=9;j++)(fp=fbpen(filename(j)/,w+M);fclose(fp);)fp=fopen(H記錄.txt”,”w+”);fclose(fp);4=fopen(”標(biāo)記.txt”,”w+”);fclose(fp);fp=fopen(H檔案.txt”,”w+");fclose(fp);pimtfC'Vii注銷成功!!!\n”);break;}elsefp=fopen(Hi己錄.txt”,”w+”);for(i=1;i<NUM;i++)(%d%c%lf%d%d%s\t%s\t\nn,cais[i].caid^nunKcaisfi].cai_type,cars[i].is_iii,cais[i].money,cars[i].station^iii^caisfi].station_out,cais[i].tiine_iii,cars[i].tiine.out);)fclose(fp);4=fopen(”標(biāo)記.txt”,”w+”);fprmtf(fp,n%d\nH,num);fclose(fp);break;}}return0;}char*mytime(stmcttm*timeptr)〃獲取系統(tǒng)時(shí)間的函數(shù){chatwday_name[7][4]={”Sun”,”Mon”,”Tue"'Wed”,”Thir,”Fn”,”Saf'};staticchariesult[29];sprmtf(result,n%d年%d月%d□(%3s)%d:%d:%d\0",1900+tuneptr->tm__yeai\1+tmieptr->tiii_mon,timeptr->tm_mday,wday_name[tuneptr->tm_wday]Jmieptf->tm_houi,timeptr->tm_niui,timepti->tm_sec);returnresult;}char*filenaine(mtstaitkey){staticcharnan此[22];spnntf(name.”車輛處理與記錄%d?txt”,startkey);returnname;}voidDelay(intn)〃延時(shí)函數(shù){intij,k;ffor(j=lJ<500;j++)ffor(k=l;k<500:k++)()}}}voidinitialize(stiiictcar*cars,intnum,FILE*fp)/〃初始化函數(shù)mti,j;if(num==O)ffor(j=lj<=9j++)fIfor(i=NUM*(j-l)+l;KNUM*j+l;i++)(cars[i].money=0;cars[i].caid_num=i:cars[i].is_in=n;cars[i].car_type=O;cars[i].station_in=0;cars[i].station_out=j;strcpy(cais無”);strcpy(cais[i].time_out,"無”);)}}elseffbr(i=l;iv=9*NUM;i++)ffscanf(e「'%d%d%c%lf%d%d%s\t%s\t\nH,&cars[i].caid_num,&cais[i].car_type,&cais[i].is_uK&cais[i].money.&cars[i].station_iii,&cais[i].station_out,cais[i].tune_in.cars[i].tmie_out);}}}intrefer(stnictcar*cars,intstartkey)〃查詢{FILE*fp;inti,j,key,num.k;chatch,enter;time_ttimer;stiucttm*tblock;while(l)fsystem(HclsM);pnntff'i1逐);printf("|****資料查詢****|3);printf("|1.里程價(jià)1");printf("|2.汽車類型1");printf("|3.沿線站點(diǎn)間里程1");pnntf(M|4.高速通車情況1");TOC\o"1-5"\h\zprintfC1|5.道路交通安全法實(shí)施條例|\n”);pnntf(H|6.車輛處理與記錄|printfC1|0.回到主菜單|piintfC111prmtf(”請(qǐng)選擇,并輸入序號(hào):”);while(l)fflush(stdm);while(scaiif(M%d%c,\&key,&enter)==O||enter!='\ii,){prmtf(n\tenoi!!!inputagain:");fflush(stdin);)if(key==l||key==2||key==3||key=4||key=5||key=6||key==O){system(MclsH);switch(key)(case1:(printf(H\t里程價(jià)\n”);foi(i=l;i<6;i++){pnntfC%s:%.llf元/公里\ir\kind[i].pnce[i]);}pnntf(七\(yùn)t按任意鍵回到查詢菜單)fflush(stdm);getcheQ;break:case2:(prmtfC'Xt汽車類型\11”);printfC*一類車:小轎車、吉普車、的士頭人貨車、摩托車\1T);prrntfC'二類車:面包車、小型人貨車、輕型貨車、小型客車\n”);pnntf(”三類車:中型客車、大型普通客車、中型貨車、大型豪華客車\n”);pnntf(”四類車:大型貨車、大型拖(掛)車、20英尺集裝箱車3);pnntf(”五類車:重型貨車、重型拖(掛)車、40英尺集裝箱車W)pnntf(”\n\t按任意鍵回到查詢菜單)ffhish(stdin);getcheQ;break;}case3:printf("\t沿線站點(diǎn)間里程\n”);TOC\o"1-5"\h\zprmtff|13);prmtff|1.湛江2.茂名3.陽江|\1T);printf("|4.開平5.佛山6.廣州|\n”);pnntff|7.深圳8.汕頭9.汾水關(guān)|3);prrntfC11\n”);pnntf(”請(qǐng)選擇起始站,并輸入序號(hào):”);fiflush(stdin);wlule(l)wliile(scanf(n%d%c'\&L&enter)=O||enter{printf(M\terior!!!inputagain:");fflush(stdin);}||i==2||i=3||i==4||i==5||i==6||i==7||i=8||i=9)break;else{printf(M\terior!!!inputagain:");contmue;}}pnntf(”請(qǐng)選擇終點(diǎn)站,并輸入序號(hào):”);fiflush(stdin);wlule(l){wliile(scanf(n%d%c,\&j.&enter)=O||enter{printf(M\terior!!!inputagain:");fflush(stdin);}llj==2IIJ==3||j==4||j==5||j==6||j==7||j=8||j==9)break;else{printf(M\terior!!!inputagain:");contmue;}}printf(H\t\t里程為:%d公里.\n,\abs(km[i]-km[j]));printf("\n\t按任意鍵回到查詢菜單");fiflush(stdin);getcheQ;break;}case4:(fp=fbpen(M標(biāo)記.txt”,”r+”);fscaiif(fpj,%d,\&num);fclose(fp);fp=fopen(M記錄.txt”,”r+”);iewiiid(fp);initialize(car

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論