《C語言程序設(shè)計》課程設(shè)計報告_第1頁
《C語言程序設(shè)計》課程設(shè)計報告_第2頁
《C語言程序設(shè)計》課程設(shè)計報告_第3頁
《C語言程序設(shè)計》課程設(shè)計報告_第4頁
已閱讀5頁,還剩116頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

専や科技火孚課程設(shè)計報告題目: 景點查詢系統(tǒng) 課程名稱: C語言程序設(shè)計專業(yè)班級: 信息安全201302班學(xué)號: 姓名: 指導(dǎo)教師: 報告日期: 2014.年1()月1()日計算機科學(xué)與技術(shù)學(xué)院任務(wù)書題目:景點查詢系統(tǒng)ー、主要內(nèi)容建立樓盤樓盤信息系統(tǒng),提供創(chuàng)建、編輯和綜合查詢等基本業(yè)務(wù)管理和服務(wù)?!蝿?wù)要求收集與閱讀相關(guān)文獻資料,確定系統(tǒng)目標與范圍,分析系統(tǒng)需求,確定系統(tǒng)功能;設(shè)計系統(tǒng)方案,完成系統(tǒng)實現(xiàn);提交《課程設(shè)計報告》。三、參考文獻[1]曹計昌,盧萍,李開.C語言程序設(shè)計,北京:科學(xué)出版社,2013[2]李開,盧萍,曹計昌.C語言實驗與課程設(shè)計,北京:科學(xué)出版社,2011[3]張引.C程序設(shè)計基礎(chǔ)課程設(shè)計,杭州:浙江大學(xué)出版社,2007[4]黃明,梁旭,萬洪莉.C語言課程設(shè)計,北京:電子工業(yè)出版社,2006四、基本要求⑴只能使用C語言,源程序要有適當?shù)淖⑨?使程序容易閱讀。⑵要有用戶界面。要求至少采用教材p215-p216類似的簡易菜單;鼓勵采用文本菜單界面甚至采用圖形菜單界面。⑶必須使用結(jié)構(gòu)和十字交叉鏈表等數(shù)據(jù)結(jié)構(gòu)。⑷使用文件保存數(shù)據(jù)。⑸鼓勵自行增加新功能。⑹設(shè)計測試的模擬數(shù)據(jù),完成系統(tǒng)測試。⑺撰寫課程設(shè)計報告(要求正規(guī)雙面打印,A4幅面)內(nèi)容包括:題目、系統(tǒng)功能模塊結(jié)構(gòu)圖、數(shù)據(jù)結(jié)構(gòu)設(shè)計及用法說明、程序結(jié)構(gòu)(畫流程圖)、各模塊的功能、試驗結(jié)果(包括輸入數(shù)據(jù)和輸出結(jié)果)、體會、參考文獻和附錄:程序清單。課程設(shè)計報告封面統(tǒng)一格式,標準格式詳見《本科生課程設(shè)計規(guī)范化要求》。⑻課程設(shè)計資料(包括課程設(shè)計報告、源程序、目標程序和測試用例等)刻錄光盤。目錄TOC\o"1-5"\h\z\o"CurrentDocument".系統(tǒng)功能模塊結(jié)構(gòu)圖 2\o"CurrentDocument".數(shù)據(jù)結(jié)構(gòu)設(shè)計及用法說明 4\o"CurrentDocument".程序結(jié)構(gòu)流程圖 5\o"CurrentDocument".各模塊的功能 14\o"CurrentDocument".實驗結(jié)果 17\o"CurrentDocument".源程序 32系統(tǒng)分為五個模塊1.系統(tǒng)功能模塊結(jié)構(gòu)圖每ー塊的功能數(shù)據(jù)維護

.數(shù)據(jù)結(jié)構(gòu)設(shè)計及用法說明系統(tǒng)所使用的數(shù)據(jù)分為城市、景區(qū)、景點三類,用到了十字交叉鏈表,其數(shù)據(jù)結(jié)構(gòu)圖如下:在程序中對數(shù)據(jù)結(jié)構(gòu)的定義為:

typedefstructSplnfo(charsp_c_num[50];charsp_sr_num[50];typedefstructSplnfo(charsp_c_num[50];charsp_sr_num[50];charsp_num[50];charscespo[50];charsp_location[50];charsp_time[50];charsp_info[200];structSplnfo*next;)Splnfo;typedefstructSrlnfo(charsr_c_num[50];charsr_num[50];charscearea[50];charsr_level[50];charsr_location[50];charsr_ticket[50];charsr_time[50];charsr_connum[50];structSrlnfo*next;structSplnfomspnext;)Srlnfo;typedefstructCInfo(charc_num[50];charcity[50];charc_connum[50J;charc_compla[50];structCInfo*next;structSrlnfo*srnext;}CInfo;/?城市編號?//?景區(qū)編號?//?景點編號?//?景點名稱ッ/?景點地址?/營業(yè)時間?//?景點介紹ッ/?指向下ー個景點節(jié)點?//?城市編號?//?景區(qū)編號?//?景區(qū)名稱*//?景區(qū)級別*//?景區(qū)地址?//?景區(qū)門票?//?營業(yè)時間?//?查詢電話ッ/?指向下一個景區(qū)節(jié)點*//?指向景點支鏈的指針刃/?城市編號?//?城市名稱?//*查詢電話?//?投訴電話ッ/?指向下ー個城市節(jié)點?//?指向景區(qū)支鏈的指針ッ.程序結(jié)構(gòu)流程圖3.1數(shù)據(jù)維護:3.1.2維護景點信息:(維護城市、景區(qū)信息流程圖與維護景點信息流程圖類似,故只詳舉其ー)

psp=SeekSpNode(delsp_num);查找是否存在要刪的景點定義:charmodifsp_sr_num[10];charmodifsp_num[ll];Splnfo*psp;printf("請輸入要修改的景點編號:ッ;scanf(n%sH,modifsp_num);psp!=NULL

printf("請輸入城市編號:");scanf("%s",onec);pc=SeekCNode(onec)YYprintf(u未找printf(u未找到該城市.");printf("\t城市編號't城市名稱\t咨詢電話't投訴電話\nu);printf(H\t%s\t%s\t%s\t%s\nM,pc->c_num,pc->city,pc->c_connum,pc->c_compla);3.3數(shù)據(jù)統(tǒng)計:定義:CStat*stathead,*cur;CInfo*pc;Srlnfo*psr;Splnfo*psp;stathead=(CStat*)malloc(sizeof(CStat));cur=stathead;創(chuàng)建城市統(tǒng)計信息首結(jié)點 K for(pc=gp_head;pc!=NULL;pc=pc->next)(初始化城市統(tǒng)計信息strcpy(cur->city,pc->city);cur->scesponum=0;統(tǒng)計城市景點情況for(psr=pc->smext;psr!=NULL;psr=psr->next)for(psp=psr->spnext;psp!=NULL;psp=psp->next)cur->scesponum++;cur->next=(CStat*)malloc(sizeof(CStat));cur=cur->next;)printf("\n\n\t\t城市名稱、t景點總數(shù)、n");fbr(cur=stathead;cur!=NULL;cur=cur->next)printf(,,\t\t%s\t%d\n,\cur->city,cur->scesponum);(シロ束 )4.各模塊的功能4.1文件:4.1.1數(shù)據(jù)加載函數(shù)名稱:LoadData函數(shù)功能:將三類基礎(chǔ)數(shù)據(jù)從數(shù)據(jù)文件載入到內(nèi)存緩沖區(qū)和十字鏈表中.輸入?yún)?shù):無輸出參數(shù):無返回值:BOOL類型,功能函數(shù)中除了函數(shù)ExitSys的返回值可以為FALSE外,其他函數(shù)的返回值必須為TRUE.調(diào)用說明:為了能夠以統(tǒng)ー的方式調(diào)用各功能函數(shù),將這些功能函數(shù)的原型設(shè)為一致,即無參數(shù)且返回值為BOOL.返回值為FALSE時,結(jié)束程序運行.4.1.2錄入數(shù)據(jù):函數(shù)名稱:EntryData函數(shù)功能:輸入三類基礎(chǔ)數(shù)據(jù)輸入?yún)?shù):無輸出參數(shù):函數(shù)Judge,輸出char型丫或N返回值:BOOL類型,總是為TRUE4.1.3保存數(shù)據(jù):函數(shù)名稱:SaveData函數(shù)功能:保存三類基礎(chǔ)數(shù)據(jù)輸入?yún)?shù):無輸出參數(shù):無返回值:BOOL類型,總是為TRUE4.1.4備份數(shù)據(jù):函數(shù)名稱:BackupData函數(shù)功能:將三類基礎(chǔ)數(shù)據(jù)備份到ー個數(shù)據(jù)文件輸入?yún)?shù):無輸出參數(shù):無返回值:BOOL類型,總是為TRUE4.1.5恢復(fù)數(shù)據(jù):函數(shù)名稱:RestoreData函數(shù)功能:從指定數(shù)據(jù)文件中恢復(fù)三類基礎(chǔ)數(shù)據(jù)輸入?yún)?shù):無輸出參數(shù):無返回值:BOOL類型,總是為TRUE4.2數(shù)據(jù)維護:4.2.1維護城市基本信息:函數(shù)名稱:MaintainCInfo函數(shù)功能:維護城市基本信息輸入?yún)?shù):choose功能代號輸出參數(shù):無4.2.2插入城市基本信息結(jié)點:函數(shù)名稱:InsertCNode函數(shù)功能:在十字鏈表中插入一個城市基本信息結(jié)點.輸入?yún)?shù):無輸出參數(shù):函數(shù)Judge,輸出char型Y或N返回值:BOOL類型,總是為TRUE4.2.3刪除城市基本信息結(jié)點:函數(shù)名稱:DelCNode函數(shù)功能:在十字鏈表中刪除ー個城市基本信息結(jié)點輸入?yún)?shù):deldep需要刪除的城市名稱輸出參數(shù):函數(shù)Judge,輸出char型Y或N返回值:BOOL類型,總是為TRUE4.2.4修改城市基本信息結(jié)點:函數(shù)名稱:ModifCNode函數(shù)功能:在十字鏈表中修改ー個城市基本信息結(jié)點輸入?yún)?shù):modifc需要修改的城市名稱輸出參數(shù):函數(shù)Judge,輸出char型Y或N返回直BOOL類型,總是為TRUE4.2.5維護景區(qū)基本信息:函數(shù)名稱:MaintainSrlnfo函數(shù)功能:維護景區(qū)基本信息輸入?yún)?shù):無輸出參數(shù):無返回值:BOOL類型,總是為TRUE4.2.6插入景區(qū)基本信息結(jié)點:函數(shù)名稱:InsertSrNode函數(shù)功能:在十字鏈表中插入一個景區(qū)基本信息結(jié)點.輸入?yún)?shù):city景區(qū)所屬城市名稱輸出參數(shù):函數(shù)Judge,輸出char型Y或N返回值:BOOL類型,總是為TRUE4.2.7刪除景區(qū)基本結(jié)點:函數(shù)名稱:DelSrNode函數(shù)功能:在十字鏈表中刪除ー個景區(qū)基本信息結(jié)點輸入?yún)?shù):delsr-num需要刪除的景區(qū)編號輸出參數(shù):函數(shù)Judge,輸出char型Y或N返回值:BOOL類型,總是為TRUE4.2.8修改景區(qū)基本結(jié)點:函數(shù)名稱:ModifSrNode函數(shù)功能:在十字鏈表中修改ー個景區(qū)基本信息結(jié)點輸入?yún)?shù):modifsjnum需要修改的景區(qū)編號輸出參數(shù):函數(shù)Judge,輸出char型Y或N返回值:BOOL類型,總是為TRUE4.2.9維護景點基本信息:函數(shù)名稱:MaintainSpInfo函數(shù)功能:維護景點基本信息輸入?yún)?shù):無輸出參數(shù):無返回值:BOOL類型,總是為TRUE2.10插入景點基本信息結(jié)點:函數(shù)名稱:InsertSpNode函數(shù)功能:在十字鏈表中插入一個景點基本信息結(jié)點.輸入?yún)?shù):sp_sr_num景點所屬景區(qū)編號輸出參數(shù):函數(shù)Judge,輸出char型Y或N返回值:BOOL類型,總是為TRUE11刪除景點基本信息結(jié)點:函數(shù)名稱:DelSpNode函數(shù)功能:在十字鏈表中刪除ー個景點基本信息結(jié)點輸入?yún)?shù):delsp一num需要刪除的景點編號輸出參數(shù):函數(shù)Judge,輸出char型Y或N返回值:BOOL類型,總是為TRUE2.12修改景點基本信息結(jié)點:函數(shù)名稱:ModifSpNode函數(shù)功能:在十字鏈表中修改ー個景點基本信息結(jié)點輸入?yún)?shù):modifsp_num需要修改的景點編號輸出參數(shù):函數(shù)Judge,輸出char型Y或N返回值:BOOL類型,總是為TRUE數(shù)據(jù)查詢:13查詢城市基本信息:函數(shù)名稱:QueryCInfo函數(shù)功能:查詢城市基本信息輸入?yún)?shù):。nec需要輸出的某個城市名稱,choose子功能代號返回值:BOOL類型,總是為TRUE函數(shù)名稱:SeekCNode函數(shù)功能:按城市名稱查找城市基本信息結(jié)點輸入?yún)?shù):seekc要查找的城市名稱返回值:查到時返回結(jié)點的地址,否則返回NULL14查詢景區(qū)基本信息:函數(shù)名稱:QuerySrlnfb函數(shù)功能:查詢景區(qū)基本信息輸入?yún)?shù):onec需要輸出的某個城市名稱,onesr-num需要輸出的某個景區(qū)編號,choose子功能代號返回值:BOOL類型,總是為TRUE函數(shù)名稱:SeekSrNode函數(shù)功能:按景區(qū)編號查找景區(qū)基本信息結(jié)點輸入?yún)?shù):seeksr-num要查找的景區(qū)編號返回值:查到時返回結(jié)點的地址,否則返回NULL15查詢景點基本信息:函數(shù)名稱:QuerySpInfo函數(shù)功能:查詢景點基本信息輸入?yún)?shù):onec需要輸出的景點所屬城市名稱,onesr_num需要輸出的景點所屬景區(qū)編號,onesp_num需要輸出的某個景點編號,choose子功能代號返回值:BOOL類型,總是為TRUE函數(shù)名稱:SeekSpNode函數(shù)功能:按景點編號查找景點基本信息結(jié)點輸入?yún)?shù):seeksp_num要查找的景點編號函數(shù)名稱:SeekSpNodeM函數(shù)功能:按多種條件組合查詢滿足條件的所有景點信息結(jié)點輸入?yún)?shù):cond_num組合條件的個數(shù),condition^]查詢條件的字符串返回值:將所有滿足條件的結(jié)點復(fù)制到結(jié)果鏈表,返回結(jié)果鏈表的頭指針調(diào)用說明:JudgeStuNodeltem判斷結(jié)點是否滿足條件函數(shù)名稱:JudgeSpNodeltem函數(shù)功能:判斷景點信息結(jié)點是否滿足給定條件輸入?yún)?shù):psp景點信息結(jié)點指針,pcondition用來表示條件的字符串返回值:滿足條件時,返回TRUE,否則返回FALSE3數(shù)據(jù)統(tǒng)計:函數(shù)名稱:State_City函數(shù)功能:統(tǒng)計各個城市景點情況輸出參數(shù):無返回值:BOOL類型,總是為TRUE5.實驗結(jié)果1初始界面S3M點查詢系統(tǒng) 10回區(qū)〕城市基本信息數(shù)據(jù)文件打開成功,城市基本信息數(shù)據(jù)文件加載成功,景區(qū)基本信息數(shù)據(jù)文件打開成功,景點基本信息數(shù)據(jù)文件打開成功,系統(tǒng)基礎(chǔ)數(shù)據(jù)完整

按任意鍵繼續(xù)5.2菜單■M點查詢系統(tǒng)IDCCIS5.3數(shù)據(jù)維護(昌點查詢系統(tǒng)數(shù)據(jù)查詢S〉 數(shù)據(jù)統(tǒng)計くS〉 幫助くH)確定維護城市基本信息?[V/N1:■貝點查詢系統(tǒng)杳詢9) 數(shù)據(jù)統(tǒng)計くS〉 幫助くH〉曲據(jù)維護<H>I文件”〉Iハ回5iir<S>動帀帀帀子:^g擇人霽請1.2.3.插入城市信息?貝點?系統(tǒng)置薪嘗一-.1;:ニニ"N插帀需正

舉前她整是

因人人入入入本基1陵

區(qū)550山京?旦単0202中5A南力:,次30添號。薪別址票聾地日電|EWd>|置量置置.1P營查

在入入入入入入入入刪除城市信息?墾點查詢系統(tǒng)嘴蘇皿叫”睜護?。?翔率施畫朔童滿???目雷獻要刪癩城帀名稱:茜葉確定要刪除該城市結(jié)點?[Y/N]:y已刪除該城市基本信息結(jié)點.是否繼續(xù)維護城市基本信息?[Y/N]:修改城市信息?泉點查詢系統(tǒng)城市名稱025-34567890025,原。YS〉幫助くH〉025南京驟麗湖查詢電話 投訴電息 信該曹后改帀1EW入^?入02ン南樂025-11111111025-22222222已修改該城市基本信息結(jié)點-是否繼續(xù)維護城帀基本信息?[V/N1::息息息功區(qū)區(qū)區(qū)頑gsデ擇入毒選插刪修請1.2.3.插入景區(qū)信息■景點查詢系統(tǒng):0256+0」ヌ55I萬ー著天5-區(qū)0202南5A南免全02的號〇薪別址票W入地日電插帀區(qū)區(qū)區(qū)區(qū)區(qū)業(yè)詢量量量置下營查入入入入入入入入入主冃主月主冃主冃主月主冃主冃主冃主月是否繼續(xù)維護景區(qū)基本信息、?CV/N]:刪除景區(qū)信息?墾點查詢系統(tǒng)|0i回情術(shù)、要刪除的景區(qū)編號:02506H<S>幫助くH〉確定要刪除該景區(qū)結(jié)點?IY/NJ:y已刪除該景區(qū)基本信息結(jié)點.是否繼續(xù)維護景區(qū)基本信息、?IY/NJ:半:修改景區(qū)信息?男點查詢系統(tǒng)景區(qū)編號:01022-<s>景區(qū)編號:01022-<s>齧饒亠景區(qū)級別 景區(qū),蜘5A 北京市東城區(qū) 齧饒亠景區(qū)級別 景區(qū),蜘5A 北京市東城區(qū) 60Z人8:00--置置置置ア營查入入入入入入入入入入主月主冃主月主冃主冃主月主冃主月主冃主冃改屬市區(qū)區(qū)區(qū)區(qū)區(qū)業(yè)詢息編 信帀號0系別址票う后地日電??002宮京Z022,原始信息如下:城帀編號 景區(qū)編號簣區(qū)門票 營業(yè)勘商010 01022 故宮博物院16:00010-22222222半:插入景點信息?星點查詢系統(tǒng)10丨回、區(qū)號號?星點查詢系統(tǒng)10丨回、區(qū)號號間紹景時介屬市區(qū)點點點業(yè)點3^0I置置量SDS-京入入入入入入入入010101后故8:壞616美220園內(nèi)ー優(yōu)0202花宮00境已插入該景點基本信息結(jié)點.半:刪除景點信息?鼠點查詢系統(tǒng)境據(jù)維護《〉聚煮編號:0102506境據(jù)維護《〉聚煮編號:0102506數(shù)據(jù)杳詢“〉 教:-<s>幫助くH〉確定要刪除該景點結(jié)點?[Y/NJ:y已刪除該景點基本信息結(jié)點.是否繼續(xù)維護景點基本信息、?1Y/NJ:半:修改景點信息香詢くQ〉景點名稱 景點地址造型優(yōu)美,安全平穩(wěn),氣勢景點編號雁棲湖全天5-:01006040100604鴻雁橋ヨー已修改該景點基本信息結(jié)點.京用61橋胡尤00雁棚面01瀉空造V福併前“市業(yè)。原尊。010011■a00信號號號。間紹后時介改區(qū)市區(qū)占べ點點業(yè)點蹩ア換置置置'P.昔晝,P.入入入入入入入入入恢至冃主冃主冃主冃主冃主冃主冃主冃主冃5.4數(shù)據(jù)査詢?泉點查詢系統(tǒng)?I山III?川息息亠ーm一日、帀帀1M譽個1包請1.2.±1查詢所有城市信息025027010所IIMillI!しH<S> 幫助くH)、亞糸運樂番武北城帀名I: 咨詢電話025-22222222027-86374637010-57270111投訴電話是否繼續(xù)查詢城帀基本信息?d/N匸查詢某個城市信息?導(dǎo)點查詢系統(tǒng)哆雖律?我照羽皿,姉“I?嬲港用室爾3騎入城市編號:02?該城市信息如下:城市編號城市名稱 咨詢電話 投訴電話02?武027-86374637是否繼續(xù)查詢城市基本信息?rY/N】:查詢某城市所有景區(qū)信息'県點?系統(tǒng) I=I冋!■??!查詢某景區(qū)信息?瞬g整?箱陪通卸據(jù)查詢くQ〉?難讀蕭這巒顏翁犯01822該整區(qū)括息如卡:神市編號

鬟區(qū)門票8:00—16區(qū)業(yè)宮22

景替辰22生區(qū)名稱景區(qū)級別 景區(qū)地址查詢電話5ft 北京市東城區(qū) 8:00—16:00是否繼續(xù)查詢景區(qū)基本信息?[丫パ]:半:護《〉U1し丄冋、3I文件“〉數(shù)キ-2#t+<S> 幫助くH〉息島5占心-1S,01I苫息貧F信:所詢點能FE^n一景子某組查選查條精請1.2.3.查詢某城市所有景點信息?泉點査詢系統(tǒng)010所有:護?〉號:010,信息如下:ヒ」L丄 1111統(tǒng)計くS〉翡顆I 010 01008 0100802牌衛(wèi)著銀山的正氣景點編號景點名稱鎮(zhèn)妖塔銀山8:00—17:00鎮(zhèn)妖孽,壓邪惡,010 01008 0100801塔林主區(qū)法華禪寺遺址我國曰刖懷仔刖取大取元行則金1'帝龍百哈群010 01006 0100609題詞碑雁棲湖湖區(qū)大門全天虹飛架,氣勢恢宏,被稱為“江北第一門二有如一條白色的長010 01006 0100614唐雁橋雁柄湖全天 造型優(yōu)美010 01006 0100603雕塑公園 湖西岸全天 以自然環(huán)境為主,有精美靚麗、寓意深遠的十組雕塑作品息綴其聞虹”士」「八,一010 01003 0100304埔寧呂紫禁城南北王軸線的顯要位置明代屬皇后的寢宮 .ー亠亠,一,… 一8:00—16:00:00010_01003 01003絲乾清宮紫禁城南北主軸線的顯要位置VMV023 023SスゝケUk紫禁城南北主軸線的顯華位置疑聚豬城內(nèi)體量最大、等飯最需的糞筑物,建筑規(guī)制之高,裝飾手法之精,乾清宮面寬9間是皇帝的寢宮和日常、,010 01003 0100*1太和解紫:8:00—168:00—16是否繼續(xù)查詢景點基本信息?1Y/N]: ¥: 條件組合查詢景點信息?貝點査詢系婉1=丨回于數(shù)據(jù)項項號如卞:.簸帀編號2.景區(qū)編號3.景點編號4.景點名稱5.景點地址6.營業(yè)時間7.景點介紹第第組

入入改

躋足塞到

1-2-合い點

魯早AA11:nunM-\セ女!一喀爵號號點項暨巨園公岸塑西1景點編號景點名稱010 01006 0100603雕塑公園,麗、寓意深遠的十組雕塑作品點綴其間湖西岸全天 以自然環(huán)境為主,半:景點算,號:0100609修豊點信息如卞:數(shù)據(jù)查詢くQ>數(shù)據(jù)統(tǒng)計くs〉 幫助くH〉鹽靄010 01006 0100609題詞碑雁棲湖湖區(qū)大門全天虹飛架,氣勢恢宏,被稱為“江北第一竹”景點編號景點名稱有如一條白色的長是否繼續(xù)查詢景點基本信息?CV/N]:5.5數(shù)據(jù)統(tǒng)計?景點查詢系統(tǒng)Id回la-1kF)數(shù)生護ぐ〉 數(shù)據(jù)杏う憲^攵據(jù)統(tǒng)計くs確定統(tǒng)計各個城市景點情況?[Y/NJ:?貝點査詢系統(tǒng)文件〈P〉 數(shù)據(jù)維護。>據(jù)杳詢くQ〉掇據(jù)統(tǒng)計<S><H>半:=?I回稱名$糸漢糸需武北景點總數(shù)5.6幫助?累點查詢系統(tǒng)幫助主題關(guān)于系統(tǒng) 可景點査詢系統(tǒng) IE回hCfl退出系統(tǒng)■M點查詢系統(tǒng)?貝點查詢系統(tǒng)6.源程序#include<stdio.h>#include<stdlib.h>#include<windows.h>#include<wincon.h>#include<conio.h>#include<string.h>#include<io.h>#include<fcntLh>#include<sys\stat.h>#include<ctype.h>#include<time.h>#ifndefSCENERY_H_INCLUDED#defineSCENERY-H」NCLUDED屏幕行數(shù)和列數(shù)率/#defineSCR_ROW25#defineSCRCOL80/?景點信息鏈結(jié)點類型定義typedefstructSplnfocharsp_c_num[50];charsp_sr_num[50];charsp_num[50];charscespo[50];charsp_locationl50];charsp_time[50];charsp_info[200J;structSplnfo*next;charsp_c_num[50];charsp_sr_num[50];charsp_num[50];charscespo[50];charsp_locationl50];charsp_time[50];charsp_info[200J;structSplnfo*next;/?景區(qū)編號?//?景點編號?//?景點名稱?//?景點地址?//?營業(yè)時間?//?景點介紹?//*指向下ー個景點節(jié)點?/}Splnfo;/?景區(qū)基本信息鏈結(jié)點類型定義?/typedefstructSrlnfocharsr_c_num[50];charsr_num[50];charscearea[50J;charsr_level[50];charsr_location[50];charsr_ticket[50];charsr_time[50];charsr_connum[50];structSrlnfo水next;structSplnfo*spnext;}Srlnfo;/?城市編號?//?景區(qū)編號?//?景區(qū)名稱?//?景區(qū)級別?//?景區(qū)地址?//?景區(qū)門票?//?營業(yè)時間?//?查詢電話?//?指向下一個景區(qū)節(jié)點?//?指向景點支鏈的指針?//?城市基本信息鏈結(jié)點類型定義?///?景區(qū)編號?//*景點人數(shù)*//?指向下ー結(jié)點的指針?/typedefstructClnfo(charc_num[50];charcity[50];charc_connum[50];charc_compla[50];structClnfo*next;structSrlnfo*smext;}Clnfo;typedefstructCStat(charcity[5OJ;intscesponum;structCStat*next;}CStat;typedefstructSrStat(charsr_num[IOJ;intscesponum;structSrStat*next;/?城市編號?//?城市名稱?//?查詢電話?//*投訴電話?//?指向下ー個城市節(jié)點?//?指向景區(qū)支鏈的指針?//?城市名稱?//?景點總數(shù)?//?指向下ー結(jié)點的指針?/}SrStat;/?屏幕窗口信息鏈結(jié)點類型定義?/typedefstructlayer__node(charLayerNo;SMALL_RECTrcArea;CHARJNFO*pContent;char*pScrAtt;structlayer_node*next;}LAYER_NODE;/?彈出窗口層數(shù)?//?彈出窗口區(qū)域坐標*//?彈出窗口區(qū)域字符單元原信息存儲緩沖區(qū)?//?出窗口區(qū)域字符單元原屬性值存儲緩沖區(qū)?//?指向下一結(jié)點的指針?//?標簽束結(jié)構(gòu)類型定義?/typedefstructlabel_bundle(char**ppLabeI;COORD*pLoc;intnum;}LABEL_BUNDLE;/*標簽數(shù)組指針?//*標簽定位數(shù)組?//?標簽個數(shù)*//?熱區(qū)結(jié)構(gòu)類型定義?/typedefstructhot_area(SMALL_RECT*pArea;char*pSort;/?熱區(qū)定位?//?熱區(qū)類別:按鍵、文本框、選項框?/char*pTag; /?熱區(qū)序號*/intnum; /?熱區(qū)個數(shù)?/}HOT.AREA;LAYER_NODE東gp_top」ayer=NULL; 彈出窗口信息鏈鏈頭?/CInfo*gp_head=NULL; ド主鏈頭指針?/char*gp_sys_name="景點查詢系統(tǒng)”; /?系統(tǒng)名稱?/char*gp_c_info_filename:="c.txt"; /?城市信息數(shù)據(jù)文件?/char*gp_sr_info_filename=nsr.txtn; /*景區(qū)信息數(shù)據(jù)文件?/char*gp_sp_info_filename="sp.txt"; /?景點信息數(shù)據(jù)文件?/char*ga_main_menuロ={”文件(F)”, /*系統(tǒng)主菜單名?/"數(shù)據(jù)維護(M)”,"數(shù)據(jù)查詢(Q)","數(shù)據(jù)統(tǒng)計(S)","幫助(H)"char*ga_sub_menu[]={n[L]數(shù)據(jù)錄入“, /*系統(tǒng)子菜單名?/"[S]數(shù)據(jù)保存”,”出]數(shù)據(jù)備份","[R]數(shù)據(jù)恢復(fù)","[X]退出系統(tǒng)","[D]維護城市信息”,"[C!維護景區(qū)信息”,"[S]維護景點信息","[D]查詢城市信息”,"[C]查詢景區(qū)信息","[S]査詢景點信息","[F!統(tǒng)計城市信息","[T]幫助主題","[Q]全部信息”,"[A]關(guān)于系統(tǒng)"intga_sub_menu_count[]={5,3,3,1,3);/?各主菜單項下子菜單的個數(shù)*/intgi_sel_menu=1; /?被選中的主菜單項號,初始為1*/intgi_sel_sub_menu=0; /?被選中的子菜單項號,初始為〇,表示未選中*/CHARJNFO*gp_buff_menubar_info=NULL;/*存放菜單條屏幕區(qū)字符信息的緩沖區(qū)*/

CHARJNFO*gp_buff_stateBar_info=NULL;/*存放狀態(tài)條屏幕區(qū)字符信息的緩沖區(qū)刊char*gp_scr_att=NULL;chargc_sys_state;/?存放屏幕上字符單元屬性值的緩沖區(qū)char*gp_scr_att=NULL;chargc_sys_state;HANDLEgh_std_out;HANDLEgh_std_in;unsignedlongul;/?標準輸出設(shè)備句柄?//HANDLEgh_std_out;HANDLEgh_std_in;unsignedlongul;/?標準輸出設(shè)備句柄?//?標準輸入設(shè)備句柄?/intCreatList(CInfo**phead);voidInitlnterface(void);voidClearScreen(void);voidShowMenu(void);voidPopMenu(intnum);/*數(shù)據(jù)鏈表初始化?//?系統(tǒng)界面初始化*//?清屏?//?顯示菜單欄?//?顯示下拉菜單?/voidPopUp(SMALL_RECT*,WORD,LABEL_BUNDLE*,HOT_AREA*);/*彈出窗口屏幕信息維護?/voidPopOff(void); /?關(guān)閉頂層彈出窗口?/voidDrawBox(SMALL_RECT*parea); /?繪制邊框*/voidLocSubMenu(intnum,SMALL_RECT*parea);/?主菜單下拉菜單定位?/voidShowState(void); /?顯示狀態(tài)欄?/voidTagMainMenu(intnum); /?標記被選中的主菜單項?/voidTagSubMenu(intnum); /?標記被選中的子菜單項?/intDealInput(HOT_AREA*phot_area,int*pihot_num);/?控制臺輸入處理*/voidSetHotPoint(HOT_AREA*phot_area,inthot_num);/*設(shè)置熱區(qū)*/voidRunSys(CInfo**pphd); /?系統(tǒng)功能模塊的選擇和運行BOOLExeFunction(intmain_menu_num,intsub_menu_num);/?功能模塊的調(diào)用?/BOOLShowModule(char**pString,intn); /?顯示確認菜單?/voidCloseSys(CInfo*phd); /*關(guān)閉系統(tǒng)?//?/?文件模塊下函數(shù)?/BOOLLoadData(void);BOOLEntryData(void);BOOLEntryc(CInfo*pc);BOOLEntrysr(SrInfo*psr);/*BOOLEntrysp(SpInfo*psp);charJudge(void);BOOLSaveData(void);BOOLBackupData(void);BOOLRestoreData(void);BOOLExitSys(void);I?數(shù)據(jù)加載?//?錄入數(shù)據(jù)?//?錄入城市基本數(shù)據(jù)?/錄入景區(qū)基本數(shù)據(jù)?//?錄入景點基本數(shù)據(jù)?//*判斷輸入是否有誤?//?保存數(shù)據(jù)?//?備份數(shù)據(jù)?//*恢復(fù)數(shù)據(jù)*//?退出系統(tǒng)?//?數(shù)據(jù)維護模塊下函數(shù)?/BOOLMaintainCInfo(void);BOOLMaintainSrlnfo(void);BOOLMaintainSpInfo(void);BOOLInsertCNode(void);BOOLDelCNode(void);BOOLModifCNode(void);BOOLInsertSrNode(void);BOOLDelSrNode(void);BOOLBOOLMaintainCInfo(void);BOOLMaintainSrlnfo(void);BOOLMaintainSpInfo(void);BOOLInsertCNode(void);BOOLDelCNode(void);BOOLModifCNode(void);BOOLInsertSrNode(void);BOOLDelSrNode(void);BOOLModifSrNode(void);BOOLInsertSpNode(void);BOOLDelSpNode(void);BOOLModifSpNode(void);/*數(shù)據(jù)查詢模塊下函數(shù)?/CInfo*SeekCNode(char*seekc);Srlnfo*SeekSrNode(char*seeksr);/*查找城市基本信息結(jié)點?//?查找景區(qū)基本信息結(jié)點?/Splnfo*SeekSpNode(char*seeksp);*/Splnfo*SeekSpNodeM(intcond_num);信息結(jié)點*/BOOLQueryCInfo(void);BOOLQuerySrlnfo(void);BOOLQuerySpInfo(void);BOOLJudgeSpNodeItem(SpInfo*psp,char*pcondition);BOOLMatchString(char*string_item,char*pcond);/?查找景點基本信息結(jié)點/?條件組合查找景點基本/*查詢城市基本信息?//?查詢景區(qū)基本信息?//?查詢景點基本信息?//?判斷結(jié)點是否滿足條件?//?對給定字符串按條件匹配/*數(shù)據(jù)統(tǒng)計模塊下函數(shù)?/BOOLState_City(void);/?幫助模塊下的函數(shù)?/BOOLHelpTopic(void);BOOLAboutScenery(void);BOOLInformation(void);voidtravers(CInfo*hd);#endif//SCENERY_H_INCLUDED/?幫助主題?//*關(guān)于系統(tǒng)*//?所有信息?/#includeHscenery.hMintmain()COORDsize={SCR.COL,SCR_ROW};/?窗口緩沖區(qū)大小?/gh_std_out=GetStdHandle(STD.OUTPUT-HANDLE);/?獲取標準輸出設(shè)備句柄?//?維護城市基本信息?//?維護景區(qū)基本信息?//?維護景點基本信息?//?插入城市基本信息結(jié)點?//?刪除城市基本信息結(jié)點?//?修改城市基本信息結(jié)點?//?插入景區(qū)基本信息結(jié)點?//?刪除景區(qū)基本信息結(jié)點?//?修改景區(qū)基本信息結(jié)點?//?插入景點基本信息結(jié)點?//?刪除景點基本信息結(jié)點?//?修改景點基本信息結(jié)點?/

gh.stdjn=GetStdHandle(STD_INPUT_HANDLE);/*獲取標準輸入設(shè)備句柄求/設(shè)置窗口標題ッSetConsoleTitle(gp_sys_name);設(shè)置窗口標題ッ/*數(shù)據(jù)加載?/LoadData();Initlnterface();RunSys(&gp_head);CloseSys(gp_head);/*數(shù)據(jù)加載?/LoadData();Initlnterface();RunSys(&gp_head);CloseSys(gp_head);/?界面初始化?//?系統(tǒng)功能模塊的選擇及運行?//*退出系統(tǒng)?/return0;函數(shù)名稱:Initlnterface函數(shù)功能:初始化界面.輸入?yún)?shù):無?輸出參數(shù):無返回值:無?調(diào)用說明:*/voidlnitlnterface()!WORDatt=FOREGROUND_RED|FOREGROUND_GREENFOREGROUNDJNTENSITYIBACKGROUND_BLUE;/?黃色前景和藍色背景?/SetConsoleTextAttribute(gh_std_out,att);/*設(shè)置控制臺屏幕緩沖區(qū)字符屬性?/ClearScreen();/?清屏?//?創(chuàng)建彈出窗口信息堆棧,將初始化后的屏幕窗口當作第一層彈出窗口率/gp_scr_att=(char*)calloc(SCR^COL*SCR.ROW,sizeof(char));/?屏幕字符屬性?/gp_top

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論