


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、希昌丸會軟件學(xué)院大作業(yè)任務(wù)書題目:航班信息查詢系統(tǒng)職稱:講師專 業(yè): 班 級: 姓 名: 學(xué) 號: 完成人數(shù): 起訖日期: 任課教師: 部分管主任: 完成時(shí)間:1. 本任務(wù)書由任課教師填寫后,下達(dá)到學(xué)生。2. 任務(wù)完成后,任課教師需填寫小結(jié)表。3. 任務(wù)書、學(xué)生成績與學(xué)生完成后的大作業(yè)(紙質(zhì)和電子兩種)一 并報(bào)送各教學(xué)研究部審核后轉(zhuǎn)教務(wù)辦。4. 另附一份全班大作業(yè)總結(jié)大作業(yè)的要求和容:(包括題目選擇圍、技術(shù)要求、遞交時(shí)間、考核方法等)請根據(jù)本學(xué)期所學(xué)C語言的容,完成一個(gè)完整的 C語言程序, 程序的名稱、容和功能,可以自己根據(jù)需要進(jìn)行自定義,但不能過于 簡單,代碼行數(shù)最低要求在200行以上,且所
2、設(shè)計(jì)的程序滿足如下要 求:1. 要求采用結(jié)構(gòu)化程序設(shè)計(jì);2. 程序中要具備 結(jié)構(gòu)體類型的數(shù)據(jù)操作;3. 程序中要具備 文件讀取和寫入的操作;4. 要求程序具備簡單的菜單功能,根據(jù)用戶的輸入,執(zhí)行相應(yīng) 的操作;5. 在菜單界面,必須顯示程序的名稱、版本信息,開發(fā)者的名 字、班級、學(xué)號等信息。最終提交的作業(yè),除提交完整的程序工程代碼外,還必須以大 作業(yè)報(bào)告的形式說明程序的流程、結(jié)構(gòu)以及設(shè)計(jì)、實(shí)現(xiàn)過程。作業(yè)評分將以完成的程序質(zhì)量和復(fù)雜程度為基礎(chǔ),并根據(jù)大作業(yè) 報(bào)告進(jìn)行綜合評分。教師小結(jié):成績:教師簽名: 教研部負(fù)責(zé)人: 學(xué)生:NANCHANG UNIVERSITY高級語言程序設(shè)計(jì)課程設(shè)計(jì)題 目:航班
3、信息查詢系統(tǒng)學(xué) 院:專 業(yè):班 級:完成人數(shù):成 員:起訖日期:任課教師:完成時(shí)間:填表日期:目錄一、需求分析 -1 -1.1 項(xiàng)目介紹 -1-1.2 功能需求 -1 -二、系統(tǒng)分析 -1 -2.1 本程序需解決的關(guān)鍵技術(shù)問題 -1 -2.2 程序流程 -1 -三、 程序設(shè)計(jì)與實(shí)現(xiàn) -2 -3.1 程序設(shè)計(jì) -2 -3.2 程序?qū)崿F(xiàn) 錯(cuò)誤!未定義書簽。四、 系統(tǒng)測試 -11 -五、 個(gè)人小結(jié) -13 -六、 參考文獻(xiàn) -13 -一、需求分析1.1 項(xiàng)目介紹一個(gè)簡易的航班信息查詢系統(tǒng),將航班信息錄入進(jìn)去,就可以查詢到航班的信息1.2 功能需求1. 所有航班信息2. 航班查詢3. 輸入新的航班信息
4、4. 刪除航班信息二、系統(tǒng)分析2.1 本程序需解決的關(guān)鍵技術(shù)問題使用了 struct結(jié)構(gòu)體多次使用了 if語句for循環(huán)語句用到了指針的容2.2程序流程1,了解問題。要解決問題,必須先了解每個(gè)細(xì)節(jié)。2,確定解決問題的流程,確認(rèn)輸入輸出容即部需要做的操作。輸入:用戶的選擇指令。輸出:程序的運(yùn)行結(jié)果。操作:對信息讀入,存儲,刪除3,設(shè)計(jì)操作算法。得出 數(shù)據(jù)流圖。對每塊的操作流程做設(shè)計(jì)。如何對信息讀入,存儲,刪除等。4編寫代碼。將算法實(shí)體化,形成C代碼。5測試并解決問題。編譯運(yùn)行,嘗試輸入多組數(shù)據(jù),測試結(jié)果是否與預(yù)期相同。如果不同,那么查找 問題并修改代碼。最終形成合格的程序。三、程序設(shè)計(jì)與實(shí)現(xiàn)3.
5、1程序設(shè)計(jì)#i nclude<stdio.h>#i nclude<stri ng.h>#i nclude<stdlib.h>#in clude<c oni o.h>#defi ne N 15#defi ne M 20#defi ne LEN sizeof(struct fly) typedef struct flyint no;/* 航班號 */ char startpo in tM; char fin alpo in tM;in t ban qiM; char startimeM; char fin altimeM;char tipeM;flo
6、at price;struct fly fN;void in();void all();void show(i nt i);void order(i nt); /*排序*/void fin d();/*查詢系統(tǒng)*/void search(); /*編號查詢系統(tǒng)*/void menu();void startpoi nt(); /*起點(diǎn)站查詢系統(tǒng)*/void fin alpo in t(); /*達(dá)到站查詢系統(tǒng)*/void startime(); /*起點(diǎn)時(shí)間查詢系統(tǒng)*/void fin altime(); /*到達(dá)時(shí)間查詢系統(tǒng)*/int main() int n;menu();sca nf(&
7、quot;%d",&n); while( n)switch( n)case 1: all(); break;case 2: fin d(); break;case 3: in (); break;defaultbreak;getch(); menu();scan f("%d",&n);void menu()system("cls");prin tf("nnnnn"); printf("tt|n");prin tf("tt|0.退出|n");prin tf("t
8、t|1.所有航班|n");prin tf("tt|2.航班查詢|n");prin tf("tt|3.輸入新的航班信息|n")prin tf("tt|4.刪除航班信息|n");prin tf("tt|-|nnprin tf("ttt選擇(0-4):");航班信息查詢系統(tǒng)");void all()int i,m=0;char ch2;FILE *fp;if(fp=fope n("data","ab+")=NULL) printf(" 不能打
9、開文件n"); return;while(!feof(fp)/feof()是文件結(jié)束檢測函數(shù),如果沒有結(jié)束,返回值是0,結(jié)束了是1if(fread(&fm丄 EN,1,fp)=1) m+;fclose(fp);if(m=0)printf("沒有航班記錄n");elsesystem("cls");/*system就是調(diào)用D0$命令,CLS命令的意思是清除屏幕上所有的文 字*/for(i=0;i<m;i+)show(i);printf(”按任意鍵返回菜單");void in()int x,i,m=0;char ch2;FIL
10、E *fp;if(fp=fope n("data","ab+")=NULL)printf("不能打開文件n");return;while(!feof(fp)/feof()是文件結(jié)束檢測函數(shù),如果沒有結(jié)束,返回值是0,結(jié)束了是1if(fread(&fm ,L EN,1,fp)=1)m+;fclose(fp);if(fp=fope n( "data","wb")=NULL)printf(" 不能打開文件n ");return;for(i=0;i<m;i+)fwrit
11、e(&fi, LEN,1,fp);printf("是否輸入新的航班信息?輸入請按丫否則按任意鍵-");scan f("%s",ch);while(strcmp(ch,"Y")=0|strcmp(ch,"y")=0)printf("編號");sca nf("%d", &x);for(i=0;i<m;i+)if(fi. no=x)printf("該記錄已經(jīng)存在!按任意鍵返回菜單n");fclose(fp); return;fm. no=x
12、;prin tf("起點(diǎn)站-");sca nf("%s", &fm.startpoi nt);prin tf("終點(diǎn)站-");sca nf("%s",& fm.fi nalpo in t);prin tf("班期");sca nf("%s",& fm.ba nqi);printf("起飛時(shí)間-");sca nf("%s", &fm.startime);printf("到達(dá)時(shí)間-");s
13、ca nf("%s", &fm.fi naltime);printf("飛機(jī)型號-");sca nf("%s", &fm.tipe);prin tf("價(jià)格");sca nf("%f", &fm.price);printf("是否保存?輸入請按'Y'否則按任意鍵-");sca nf("%s",ch);if(strcmp(ch,"Y")=0|strcmp(ch,"y")=0)if
14、(fwrite(&fm ,L EN,1,fp)!=1)printf("不能保存 n");getch();elseprintf("編號為d的航班信息已經(jīng)保存n",fi.no);m+;printf(" 是否繼續(xù),繼續(xù)請按-丫-,否則按任意鍵");sea nf("%s",ch);fclose(fp);prin tf("OK");void find() /*查詢系統(tǒng) */system("cls");prin tf("nnnnn");printf("
15、;tt| 航班信息查詢-|n");prin tf("tt| 0.返回菜單|n");prin tf("tt|1.航班號查詢|n");prin tf("tt| 2.起點(diǎn)站查詢|n");prin tf("tt| 3.到達(dá)站查詢|n");prin tf("tt| 4.起飛時(shí)間查詢|n");prin tf("tt| 5.到達(dá)時(shí)間查詢|n");printf("tt|nnprin tf("ttt選擇(0-5):");int n;sca nf(&quo
16、t;%d",&n);if(n<0|n>5)printf("輸入錯(cuò)誤!");else switch( n)case 0:retur n;case 1: search(); break;case 2:startpoi nt(); break;case 3:fin alpoi nt(); break;case 4: startime(); break;case 5:fin altime(); break; defaultbreak; void search() /* 編號查詢系統(tǒng)*/ FILE *fp;int snu m,i,m=0,x=0;char
17、 ch2;if(fp=fope n("data","ab+")=NULL) printf("不能打開文件n");return; while(!feof(fp)if(fread(&fm, LEN,1,fp)=1);m+;if(m=0)printf("沒有記錄");return;printf(" 請輸入編號-");scan f("%d",&sn um);for(i=0;i<m;i+)if(snum=fi. no)show(i); x+;if(x=0)prin
18、tf(”沒有相關(guān)的記錄n");fclose(fp);return;void startpoi nt() /* FILE *fp; int i,m=0;char snum M;起點(diǎn)站查詢系統(tǒng)*/if(fp=fope n("data","ab+")=NULL)printf("不能打開文件n");return; while(!feof(fp) if(fread(&fm, LEN,1,fp)=1); m+; fclose(fp); if(m=0)printf(" 沒有記錄"); return;printf
19、("請輸入起點(diǎn)站-");scan f("%s",&snu m); for(i=0;i<m;i+)if(strcmp(fi.startpoi nt,s num )=0)show(i);elseprintf("沒有相關(guān)的記錄n");return;void finalpoint() /* 到達(dá)站查詢系統(tǒng)*/FILE *fp;int i,m=0;char snum M;if(fp=fope n("data","ab+")=NULL) printf("不能打開文件n");
20、return; while(!feof(fp) if(fread(&fm, LEN,1,fp)=1); m+; fclose(fp); if(m=0)printf("沒有記錄");return;printf("請輸入到達(dá)站-");scan f("%s",&snu m);for(i=0;i<m;i+)if(strcmp(fi.fi nalpoi nt,s num)=0) show(i); con ti nue;elseprintf("沒有相關(guān)的記錄n");return;void startime
21、() /*起點(diǎn)時(shí)間查詢系統(tǒng)*/FILE *fp;int i,m=0;char snum M;if(fp=fope n("data","ab+")=NULL)printf("不能打開文件n");return; while(!feof(fp)if(fread(&fm, LEN,1,fp)=1);m+;fclose(fp);if(m=0)printf("沒有記錄");return;printf("請輸入起點(diǎn)時(shí)間-");scan f("%s",&snu m);for(
22、i=0;i<m;i+)if(strcmp(fi.startime,s num)=0) show(i); con ti nue;elseprintf("沒有相關(guān)的記錄n");return;void finaltime() /*達(dá)到時(shí)間查詢系統(tǒng)*/FILE *fp;int i,m=0;char snum M;if(fp=fope n("data","ab+")=NULL)printf("不能打開文件n");return; while(!feof(fp)if(fread(&fm, LEN,1,fp)=1);
23、m+;fclose(fp);if(m=0)printf("沒有記錄");return;printf("請輸入到達(dá)時(shí)間-");scan f("%s",&snu m);for(i=0;i<m;i+)if(strcmp(fi.fi naltime,s num)=0)show(i); con ti nue;elseprintf("沒有相關(guān)的記錄n");return;void show(i nt i)printf("航班編號為d的航班信息如下:n",fi.no);printf("起點(diǎn)站%s n",fi.startpoi nt);printf("終點(diǎn)站%s n",fi.fi nalpoi nt);printf("起飛時(shí)間%sn",fi.startime);prin tf("到達(dá)時(shí)間%sn",fi.fi naltime);printf(”班期%s n",fi.ba nqi);printf("航班型號%sn",fi.tipe);prin tf("價(jià)格5.2
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年發(fā)酵合成控制系統(tǒng)合作協(xié)議書
- 企業(yè)用酒合同范例
- 廠區(qū)用地拆除合同范本
- 手寫的借款合同范本
- 化糞池改造工程合同范本
- 縣城酒吧轉(zhuǎn)讓合同范例
- 吊柜出售轉(zhuǎn)讓合同范本
- 瓦片勞務(wù)合同范本
- 樹木移植合同范本
- 義齒公司員工合同范本
- 高中歷史世界史 試題
- 2023年山東城市建設(shè)職業(yè)學(xué)院單招綜合素質(zhì)考試筆試模擬試題及答案解析
- 中組部2015年版干部履歷表-(空表格)
- 昆醫(yī)大康復(fù)治療技術(shù)課件12運(yùn)動再學(xué)習(xí)療法
- 醫(yī)院入院通知書格式
- 中建三局薪酬管理暫行規(guī)定
- 履帶式起重機(jī)負(fù)荷試驗(yàn)及調(diào)試報(bào)告報(bào)審表
- 《黑龍江省住房和城鄉(xiāng)建設(shè)系統(tǒng)行政處罰裁量基準(zhǔn)》
- 發(fā)育生物學(xué)1-9章全
- 基于單片機(jī)的交通信號燈模擬控制系統(tǒng)設(shè)計(jì) 答辯PPT
- 中國舞蹈家協(xié)會《中國舞蹈考級》 第四版教材
評論
0/150
提交評論