


版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、希昌丸會(huì)軟件學(xué)院大作業(yè)任務(wù)書題目:航班信息查詢系統(tǒng)職稱:講師專 業(yè): 班 級(jí): 姓 名: 學(xué) 號(hào): 完成人數(shù): 起訖日期: 任課教師: 部分管主任: 完成時(shí)間:1. 本任務(wù)書由任課教師填寫后,下達(dá)到學(xué)生。2. 任務(wù)完成后,任課教師需填寫小結(jié)表。3. 任務(wù)書、學(xué)生成績(jī)與學(xué)生完成后的大作業(yè)(紙質(zhì)和電子兩種)一 并報(bào)送各教學(xué)研究部審核后轉(zhuǎn)教務(wù)辦。4. 另附一份全班大作業(yè)總結(jié)大作業(yè)的要求和容:(包括題目選擇圍、技術(shù)要求、遞交時(shí)間、考核方法等)請(qǐng)根據(jù)本學(xué)期所學(xué)C語(yǔ)言的容,完成一個(gè)完整的 C語(yǔ)言程序, 程序的名稱、容和功能,可以自己根據(jù)需要進(jìn)行自定義,但不能過(guò)于 簡(jiǎn)單,代碼行數(shù)最低要求在200行以上,且所
2、設(shè)計(jì)的程序滿足如下要 求:1. 要求采用結(jié)構(gòu)化程序設(shè)計(jì);2. 程序中要具備 結(jié)構(gòu)體類型的數(shù)據(jù)操作;3. 程序中要具備 文件讀取和寫入的操作;4. 要求程序具備簡(jiǎn)單的菜單功能,根據(jù)用戶的輸入,執(zhí)行相應(yīng) 的操作;5. 在菜單界面,必須顯示程序的名稱、版本信息,開發(fā)者的名 字、班級(jí)、學(xué)號(hào)等信息。最終提交的作業(yè),除提交完整的程序工程代碼外,還必須以大 作業(yè)報(bào)告的形式說(shuō)明程序的流程、結(jié)構(gòu)以及設(shè)計(jì)、實(shí)現(xiàn)過(guò)程。作業(yè)評(píng)分將以完成的程序質(zhì)量和復(fù)雜程度為基礎(chǔ),并根據(jù)大作業(yè) 報(bào)告進(jìn)行綜合評(píng)分。教師小結(jié):成績(jī):教師簽名: 教研部負(fù)責(zé)人: 學(xué)生:NANCHANG UNIVERSITY高級(jí)語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)題 目:航班
3、信息查詢系統(tǒng)學(xué) 院:專 業(yè):班 級(jí):完成人數(shù):成 員:起訖日期:任課教師:完成時(shí)間:填表日期:目錄一、需求分析 -1 -1.1 項(xiàng)目介紹 -1-1.2 功能需求 -1 -二、系統(tǒng)分析 -1 -2.1 本程序需解決的關(guān)鍵技術(shù)問(wèn)題 -1 -2.2 程序流程 -1 -三、 程序設(shè)計(jì)與實(shí)現(xiàn) -2 -3.1 程序設(shè)計(jì) -2 -3.2 程序?qū)崿F(xiàn) 錯(cuò)誤!未定義書簽。四、 系統(tǒng)測(cè)試 -11 -五、 個(gè)人小結(jié) -13 -六、 參考文獻(xiàn) -13 -一、需求分析1.1 項(xiàng)目介紹一個(gè)簡(jiǎn)易的航班信息查詢系統(tǒng),將航班信息錄入進(jìn)去,就可以查詢到航班的信息1.2 功能需求1. 所有航班信息2. 航班查詢3. 輸入新的航班信息
4、4. 刪除航班信息二、系統(tǒng)分析2.1 本程序需解決的關(guān)鍵技術(shù)問(wèn)題使用了 struct結(jié)構(gòu)體多次使用了 if語(yǔ)句for循環(huán)語(yǔ)句用到了指針的容2.2程序流程1,了解問(wèn)題。要解決問(wèn)題,必須先了解每個(gè)細(xì)節(jié)。2,確定解決問(wèn)題的流程,確認(rèn)輸入輸出容即部需要做的操作。輸入:用戶的選擇指令。輸出:程序的運(yùn)行結(jié)果。操作:對(duì)信息讀入,存儲(chǔ),刪除3,設(shè)計(jì)操作算法。得出 數(shù)據(jù)流圖。對(duì)每塊的操作流程做設(shè)計(jì)。如何對(duì)信息讀入,存儲(chǔ),刪除等。4編寫代碼。將算法實(shí)體化,形成C代碼。5測(cè)試并解決問(wèn)題。編譯運(yùn)行,嘗試輸入多組數(shù)據(jù),測(cè)試結(jié)果是否與預(yù)期相同。如果不同,那么查找 問(wèn)題并修改代碼。最終形成合格的程序。三、程序設(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;/* 航班號(hào) */ 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(); /*編號(hào)查詢系統(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é)束檢測(cè)函數(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é)束檢測(cè)函數(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("是否輸入新的航班信息?輸入請(qǐng)按丫否則按任意鍵-");scan f("%s",ch);while(strcmp(ch,"Y")=0|strcmp(ch,"y")=0)printf("編號(hào)");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ī)型號(hào)-");sca nf("%s", &fm.tipe);prin tf("價(jià)格");sca nf("%f", &fm.price);printf("是否保存?輸入請(qǐng)按'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("編號(hào)為d的航班信息已經(jīng)保存n",fi.no);m+;printf(" 是否繼續(xù),繼續(xù)請(qǐng)按-丫-,否則按任意鍵");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.航班號(hào)查詢|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() /* 編號(hào)查詢系統(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(" 請(qǐng)輸入編號(hào)-");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、("請(qǐng)輸入起點(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("請(qǐng)輸入到達(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("請(qǐng)輸入起點(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("請(qǐng)輸入到達(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("航班編號(hào)為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("航班型號(hào)%sn",fi.tipe);prin tf("價(jià)格5.2
溫馨提示
- 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ù)覽,若沒有圖紙預(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 45220-2025大規(guī)模定制多主體畫像系統(tǒng)參考架構(gòu)
- 臨沭租房合同范本
- 2025年梧州貨運(yùn)從業(yè)資格考題
- 2025年景德鎮(zhèn)貨運(yùn)從業(yè)資格仿真考題
- 醫(yī)院食堂押金合同范本
- 個(gè)人和工廠合作合同范本
- 保健品定購(gòu)合同范本
- 加工類工程合同范本
- 農(nóng)業(yè)倉(cāng)庫(kù)出租合同范本
- 債務(wù)繼承協(xié)議合同范例
- (完整word版)英語(yǔ)四級(jí)單詞大全
- 備考期末-六選五-專項(xiàng)練習(xí)-2022-2023學(xué)年人教版英語(yǔ)八年級(jí)上冊(cè)
- 產(chǎn)品設(shè)計(jì)思維 課件 第1章 產(chǎn)品設(shè)計(jì)思維概述
- 雙重血漿置換
- 兒童和青少年高尿酸血癥的預(yù)防和管理
- 產(chǎn)品質(zhì)量檢驗(yàn)確認(rèn)單
- 數(shù)控機(jī)床故障診斷與維護(hù)實(shí)驗(yàn)指導(dǎo)書-實(shí)驗(yàn)報(bào)告
- 酒店服務(wù)禮儀(中職酒店服務(wù)與管理專業(yè))PPT完整全套教學(xué)課件
- 燃燒器更換施工方案
- 體育旅游課件第二章體育旅游資源
- 節(jié)能降耗培訓(xùn)
評(píng)論
0/150
提交評(píng)論