高速公路收費(fèi)系統(tǒng)c語(yǔ)言課程設(shè)計(jì)報(bào)告_第1頁(yè)
高速公路收費(fèi)系統(tǒng)c語(yǔ)言課程設(shè)計(jì)報(bào)告_第2頁(yè)
高速公路收費(fèi)系統(tǒng)c語(yǔ)言課程設(shè)計(jì)報(bào)告_第3頁(yè)
高速公路收費(fèi)系統(tǒng)c語(yǔ)言課程設(shè)計(jì)報(bào)告_第4頁(yè)
高速公路收費(fèi)系統(tǒng)c語(yǔ)言課程設(shè)計(jì)報(bào)告_第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)介

C語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)報(bào)告設(shè)計(jì)題目:高速公路計(jì)費(fèi)系統(tǒng)設(shè)計(jì)學(xué)號(hào)班級(jí)姓名完成方式:(單選)自我評(píng)分:(單選)○ 獨(dú)立完成○優(yōu)秀○ 參考他人工作的基礎(chǔ)上完成○良好○ 在他人的幫助下完成○中等○ 完整拷貝他人成果○及格○不及格題目:高速公路計(jì)費(fèi)系統(tǒng)設(shè)計(jì)功能:在某高速公路出口收費(fèi)處,對(duì)三種類(lèi)型的車(chē)輛計(jì)費(fèi),大型車(chē)每公里0。5元,中型車(chē)每公里0。4元,小型車(chē)每公里0。3元,來(lái)車(chē)驗(yàn)條,乘公里數(shù)即得該收的款項(xiàng)。在交班時(shí)要統(tǒng)計(jì)出總數(shù)。分步實(shí)施:1、初步完成總體設(shè)計(jì),搭好框架,確定人機(jī)對(duì)話的界面,確定函數(shù)個(gè)數(shù);2、完成最低要求:建立一個(gè)只有三個(gè)入口的計(jì)費(fèi)系統(tǒng),并能進(jìn)行統(tǒng)計(jì)計(jì)算,打印出報(bào)表;3、進(jìn)一步要求:完成任意多個(gè)入口的通用系統(tǒng)。要求:1、用C語(yǔ)言實(shí)現(xiàn)程序設(shè)計(jì);2、利用結(jié)構(gòu)體數(shù)組實(shí)現(xiàn)信息的數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì);3、系統(tǒng)的各個(gè)功能模塊要求用函數(shù)的形式實(shí)現(xiàn);4、界面友好(良好的人機(jī)交互),程序加必要的注釋。課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告要求:1、預(yù)習(xí)報(bào)告:題目、課程設(shè)計(jì)任務(wù)、數(shù)據(jù)結(jié)構(gòu)、程序的總體設(shè)計(jì)(算法)、模塊劃分。2、實(shí)驗(yàn)總結(jié)報(bào)告:流程圖、主要源程序代碼(需打?。?、測(cè)試情況及調(diào)試中問(wèn)題與解決方案、小結(jié)等。一、總體設(shè)計(jì)1、仔細(xì)閱讀系統(tǒng)要求,首先將此系統(tǒng)化分為如下模塊(1)顯示模塊,是人機(jī)交互的界面,可引導(dǎo)操作員來(lái)完成程序的運(yùn)行。比如:系統(tǒng)主界面(主菜單),包含了輸入車(chē)輛信息,顯示車(chē)輛信息,顯示車(chē)輛總數(shù),退出程序四個(gè)可選操作,操作員可直觀地完成信息處理。(2)文件模塊,可執(zhí)行文件建立、文件保存、文件打開(kāi)和文件寫(xiě)入等命令來(lái)操作處理和放置車(chē)輛信息的文件。(3)輸入模塊是操作員向程序輸入的模塊,可輸入操作內(nèi)容和車(chē)輛的有關(guān)信息,比如:輸入車(chē)牌號(hào)、車(chē)輛類(lèi)型、進(jìn)入口、時(shí)間,程序自動(dòng)計(jì)算得出車(chē)輛應(yīng)繳納的費(fèi)用并保存在文件。(4)輸出模塊,通過(guò)程序計(jì)算,向操作員輸出車(chē)輛信息、數(shù)據(jù)等(5)退出模塊,可用一個(gè)函數(shù)exit()來(lái)實(shí)現(xiàn),首先將信息保存到文件中,然后退出程序二、詳細(xì)設(shè)計(jì)1、界面設(shè)計(jì)此系統(tǒng)界面采用符號(hào)和數(shù)字化菜單設(shè)計(jì)。主界面設(shè)計(jì)如下:歡迎使用高速公路收費(fèi)系統(tǒng)主菜單輸入車(chē)輛信息顯示車(chē)輛信息顯示車(chē)輛總數(shù)保存退出系統(tǒng)請(qǐng)輸入數(shù)字選擇操作類(lèi)型:2、流程圖3、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì):程序設(shè)計(jì)中用到的結(jié)構(gòu)體類(lèi)型:車(chē)輛信息結(jié)構(gòu)體類(lèi)型:structvehicle /*車(chē)輛信息*/{charnum[10000];/*車(chē)牌號(hào)*/charvariety[4];/*車(chē)輛類(lèi)型a,b,c(大,中,小)*/intentime;/*進(jìn)入時(shí)間*/charenter[3];/*進(jìn)入口1,2,3……分別為各個(gè)入口*/}4、程序代碼#include<stdio.h>#include<stdlib.h>#include<string.h>#include<conio.h>#defineN10/*定義三個(gè)入口到出口的路程分別是l1l2l3*/structvehicle /*車(chē)輛信息*/{charnum[10000];/*車(chē)牌號(hào)*/charvariety[4];/*車(chē)輛類(lèi)型a,b,c(大,中,小)*/intentime;/*進(jìn)入時(shí)間*/charenter[3];/*進(jìn)入口1,2,3……分別為各個(gè)入口*/}ve[N];intcount=0;FILE*fp;/*函數(shù)聲明*/voidmenu();/*主菜單*/voidinput();/*輸入函數(shù)*/voidshow();voidall();voidreadfile();/*從文件導(dǎo)入*/voidwritefile();/*寫(xiě)入*/voidmain(){readfile();while(1){menu();}}voidreadfile() /*從文件導(dǎo)入*/{if((fp=fopen("vehicle.txt","r"))==NULL){ printf("\n");printf("\n");printf("\n");printf("\n"); printf("\t"); printf("\t"); printf("***********************************************\n"); printf("\t"); printf("\t");printf("**\n"); printf("\t"); printf("\t"); printf("*文件為空,請(qǐng)?zhí)砑有畔?\n"); printf("\t"); printf("\t"); printf("**\n"); printf("\t"); printf("\t"); printf("***********************************************\n");if((fp=fopen("vehicle.txt","w"))==NULL) /*只寫(xiě)*/{ printf("\n");printf("\n");printf("\n");printf("\n"); printf("\t"); printf("\t"); printf("***********************************************\n");printf("\t"); printf("\t"); printf("**\n"); printf("\t"); printf("\t");printf("*建立失敗*\n"); printf("\t"); printf("\t");printf("**\n"); printf("\t"); printf("\t"); printf("***********************************************\n"); exit(0); /*正常退出*/}else{ printf("\n");printf("\n");printf("\n");printf("\n"); printf("\t"); printf("\t");printf("***********************************************\n");printf("\t"); printf("\t");printf("**\n");printf("\t"); printf("\t");printf("*文件已建立*\n");printf("\t"); printf("\t");printf("**\n");printf("\t"); printf("\t");printf("*Pleasepressanykeytogettomainmenu!*\n");printf("\t"); printf("\t");printf("**\n");printf("\t"); printf("\t");printf("***********************************************\n");getch();return;}exit(0);}fseek(fp,0,2);/*文件指針fp指到到文件末尾*/if(ftell(fp)>0) /*文件不為空*/{fseek(fp,0,0);/*文件指針指到文件開(kāi)始位置*/for(count=0;!feof(fp)&&fread(&ve[count],sizeof(structvehicle),1,fp); count++); printf("\n");printf("\n");printf("\n");printf("\n");printf("\t"); printf("\t");printf("***********************************************\n");printf("\t"); printf("\t");printf("**\n");printf("\t"); printf("\t");printf("*文件導(dǎo)入成功*\n");printf("\t"); printf("\t");printf("**\n");printf("\t"); printf("\t");printf("*Pleasepressanykeytogetbacktomainmenu!*\n");printf("\t"); printf("\t");printf("**\n");printf("\t"); printf("\t");printf("***********************************************\n");getch();return;}printf("\n");printf("\n");printf("\n");printf("\n");printf("\t"); printf("\t");printf("***********************************************\n");printf("\t"); printf("\t");printf("**\n");printf("\t"); printf("\t");printf("*已成功打開(kāi)文件!*\n");printf("\t"); printf("\t");printf("**\n");printf("\t"); printf("\t");printf("*Pleasepressanykeytogetbacktomainmenu!*\n");printf("\t"); printf("\t");printf("**\n");printf("\t"); printf("\t");printf("***********************************************\n");getch();return;}voidmenu(){system("cls");/*清屏*/charn;printf("\n");printf("\n");printf("\n");printf("\n");printf("\t");printf("\t***********************************************\n");printf("\n");printf("\t");printf("\t*歡迎使用高速公路收費(fèi)系統(tǒng)*\n");printf("\n");printf("\t");printf("\t*主菜單*\n");printf("\n");printf("\t");printf("\t*1.輸入車(chē)輛信息*\n");printf("\n");printf("\t");printf("\t*2.顯示車(chē)輛信息*\n");printf("\n");printf("\t");printf("\t*3.顯示車(chē)輛總數(shù)*\n");printf("\n");printf("\t");printf("\t*4.保存退出系統(tǒng)*\n");printf("\n");printf("\t");printf("\t*請(qǐng)輸入數(shù)字選擇操作類(lèi)型:*\n");printf("\n");printf("\t");printf("\t***********************************************\n");n=getch();switch(n){case'1':input(); break;case'2':show(); break;case'3':all(); break;case'4':writefile(); break;default:break;}}voidinput(){system("cls");printf("請(qǐng)輸入車(chē)輛信息\n");printf("車(chē)牌號(hào):\n");scanf("%s",&ve[count].num);printf("車(chē)輛類(lèi)型(a,b,c分別代表大,中,小):\n");scanf("%s",ve[count].variety);printf("進(jìn)入時(shí)間:\n");scanf("%d",&ve[count].entime);printf("入口(1,2,3代表三個(gè)入口):\n");scanf("%s",&ve[count].enter);count++;printf("是否繼續(xù)添加(Y/N)\n");if(getch()=='y'||getch()=='Y')input();elsemenu();}voidshow(){ system("cls");charnumber[10];charid2;inti,R,de=0;doublea,b,c,l1=200,l2=300,l3=400;/*定義三個(gè)入口到出口的路程分別是l1l2l3(200300400)公里*/printf("\n\n\n\n\t\t***************************************************\n");printf("\t\t請(qǐng)輸入車(chē)牌號(hào):\n");scanf("%s",&number);for(i=0;i<count;i++){if(strcmp(ve[i].num,number)==0) {de++;printf("\t\t車(chē)輛信息情況:\n");printf("\t\t車(chē)輛類(lèi)型:%s\n",ve[i].variety);printf("\t\t入口站:%s\n",ve[i].enter);printf("\t\t進(jìn)入時(shí)間:%d\n",ve[i].entime);printf("\t\t車(chē)牌號(hào):%s\n",ve[i].num); R=i;if(strcmp(ve[R].variety,"a")==0&&strcmp(ve[R].enter,"1")==0){a=0.5*l1;printf("\t\t此車(chē)應(yīng)繳費(fèi):%f元\n",a);}elseif(strcmp(ve[R].variety,"a")==0&&strcmp(ve[R].enter,"2")==0){a=0.5*l2;printf("\t\t此車(chē)應(yīng)繳費(fèi):%f元\n",a);}elseif(strcmp(ve[R].variety,"a")==0&&strcmp(ve[R].enter,"3")==0){a=0.5*l3;printf("\t\t此車(chē)應(yīng)繳費(fèi):%f元\n",a);}elseif(strcmp(ve[R].variety,"b")==0&&strcmp(ve[R].enter,"1")==0){b=0.4*l1;printf("\t\t此車(chē)應(yīng)繳費(fèi):%f元\n",b);}elseif(strcmp(ve[R].variety,"b")==0&&strcmp(ve[R].enter,"2")==0){b=0.4*l2;printf("\t\t此車(chē)應(yīng)繳費(fèi):%f元\n",b);}elseif(strcmp(ve[R].variety,"b")==0&&strcmp(ve[R].enter,"3")==0){b=0.4*l3;printf("\t\t此車(chē)應(yīng)繳費(fèi):%f元\n",b);}elseif(strcmp(ve[R].variety,"c")==0&&strcmp(ve[R].enter,"1")==0){c=0.3*l1;printf("\t\t此車(chē)應(yīng)繳費(fèi):%f元\n",c);}elseif(strcmp(ve[R].variety,"c")==0&&strcmp(ve[R].enter,"2")==0){c=0.3*l2;printf("\t\t此車(chē)應(yīng)繳費(fèi):%f元\n",c);}elseif(strcmp(ve[R].variety,"c")==0&&strcmp(ve[R].enter,"3")==0){c=0.3*l3;printf("\t\t此車(chē)應(yīng)繳費(fèi):%f元\n",c);} }}if(de==0){ printf("\t\t此車(chē)記錄為空\(chéng)n");}printf("\t\tPleasepressanykeytogetbacktomainmenu\n");printf("\t\t***************************************************\n");id2=getch();menu();}voidwritefile(){inti;if((fp=fopen("vehicle.txt","w"))==NULL){ printf("\n");printf("\n");printf("\n");printf("\n");printf("\t"); printf("\t"); printf("*************************************************\n"); printf("\t"); printf("\t");printf("\n*文件打開(kāi)失敗*"); printf("\t"); printf("\t"); printf("*************************************************\n");}for(i=0;i<count;i++){if(fwrite(&ve[i],sizeof(structvehicle),1,fp)!=1){ printf("\n");printf("\n");printf("\n");printf("\n");printf("\n");printf("\t"); printf("\t");printf("*************************************************\n");printf("\t"); printf("\t");printf("*寫(xiě)入文件錯(cuò)誤!*");printf("\t"); printf("\t");printf("*************************************************\n");}}fclose(fp);printf("\n");printf("\n");printf("\n");printf("\n");printf("\n");printf("\t"); printf("\t");printf("*************************************************\n");printf("\t"); printf("\t");printf("**\n");printf("\t"); printf("\t");printf("*通訊錄文件已保存*\n");printf("\t"); printf("\t");printf("**\n");printf("\t"); printf("\t");printf("**\n");printf("\t"); printf("\t");printf("*Pleasepressanykeytoexit*\n");printf("\t"); printf("\t");printf("*************************************************\n");exit(0);}voidall(){system("cls");printf("\n");printf("\n");printf("\n");printf("\n");printf("\n");printf("\t");printf("\t");p

溫馨提示

  • 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)論