![C課程設(shè)計--地鐵價格查詢系統(tǒng)_第1頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/23/969a3bad-56fc-43d6-ad58-dc6b31d72662/969a3bad-56fc-43d6-ad58-dc6b31d726621.gif)
![C課程設(shè)計--地鐵價格查詢系統(tǒng)_第2頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/23/969a3bad-56fc-43d6-ad58-dc6b31d72662/969a3bad-56fc-43d6-ad58-dc6b31d726622.gif)
![C課程設(shè)計--地鐵價格查詢系統(tǒng)_第3頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/23/969a3bad-56fc-43d6-ad58-dc6b31d72662/969a3bad-56fc-43d6-ad58-dc6b31d726623.gif)
![C課程設(shè)計--地鐵價格查詢系統(tǒng)_第4頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/23/969a3bad-56fc-43d6-ad58-dc6b31d72662/969a3bad-56fc-43d6-ad58-dc6b31d726624.gif)
![C課程設(shè)計--地鐵價格查詢系統(tǒng)_第5頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/23/969a3bad-56fc-43d6-ad58-dc6b31d72662/969a3bad-56fc-43d6-ad58-dc6b31d726625.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 C語言程序設(shè)計課程設(shè)計報告一目的通過本教學(xué)環(huán)節(jié)的充分編程實踐和實際應(yīng)用,進一步熟悉與鞏固C語言語法知識和程序設(shè)計的基本方法,通過應(yīng)用進一步體會數(shù)據(jù)就夠重常用算法的實質(zhì),建立算法優(yōu)劣的概念以及算法評估分析和比較的方法。借助適當(dāng)題材的程序設(shè)計實訓(xùn),加深體會利用數(shù)據(jù)結(jié)構(gòu)的算法和C語言程序設(shè)計解決實際問題的思維過程。通過一定的文檔要求,培養(yǎng)學(xué)生良好的程序設(shè)計風(fēng)格,包括程序結(jié)構(gòu)形式,行文格式和程序正文格式等。二內(nèi)容利用C語言這種程序設(shè)計語言設(shè)計一個應(yīng)用程序,實現(xiàn)的題目和具體內(nèi)容自擬三 實驗要求進行簡單的需求分析、設(shè)計說明,寫出程序結(jié)構(gòu)框架,闡明設(shè)計思路、用到的原理和方法。程序規(guī)模適中,著重于內(nèi)核功能,
2、對界面無要求。要求采用面向?qū)ο蟮某绦蛟O(shè)計方法來進行課程設(shè)計。四算法思想 該程序為地鐵的價格查詢系統(tǒng),用到C語言中的選擇結(jié)構(gòu)程序設(shè)計,循環(huán)控制,函數(shù)。其中,選擇結(jié)構(gòu)程序設(shè)計用到了if語句的嵌套,switch語句;循環(huán)控制用到了for,dowhile語句實現(xiàn)循環(huán),還有break語句,循環(huán)的嵌套;函數(shù)就用到了函數(shù)的嵌套調(diào)用。該系統(tǒng)難點在于轉(zhuǎn)站問題,不過已經(jīng)解決了。a) 需求分析:1.該系統(tǒng)主要提供地鐵的價格查詢功能,外附顯示所要乘坐的站數(shù)以及經(jīng)過的地鐵站,轉(zhuǎn)站等功能。2.該系統(tǒng)還可以讓地鐵的乘客清晰地知道自己乘坐所需要的付費,還有知道一共要經(jīng)過多少個站,經(jīng)過哪些站等,讓乘客對自己的行程有個了解。3.
3、該系統(tǒng)的界面清晰易懂,乘客看著界面可以明白地知道自己所在的位置以及可以輕松地選擇目的地。其中,界面如下所示:歡迎使用廣州地鐵價格查詢系統(tǒng) * * * * 廣州地鐵一號線 * *_* * 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 * * 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 * * 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 * * 西 坑 花 芳 黃 長 陳 西 公 農(nóng) 烈 東 楊 體 體 廣 * * 湖 口 地 村 沙 壽 家 門 園 講 士 山 箕 育 育 州 * * 灣 路 祠 口 前 所 陵 口 西 中 東 * * 園
4、 路 心 站 * * * * 廣州地鐵二號線 * *_* * 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 * * 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 * * 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 * * 琶 新 磨 赤 客 鷺 中 曉 江 市 海 公 紀 越 廣 三 遠 廣 新 江* * 洲 港 碟 崗 村 江 大 港 南 二 珠 園 念 秀 州 元 景 州 市 夏* * 東 沙 西 宮 廣 前 堂 公 火 里 體 * * 場 園 車 育 * * 站 館 * * * *4.
5、對輸入數(shù)據(jù)的格式要求為:只要輸入數(shù)字就行了,可是輸入的數(shù)字必需在101106,201220之間,否則輸出錯誤提示,乘客需要繼續(xù)輸入,直到輸入正確為止,輸出結(jié)果后會有提示是否要繼續(xù)。5.該軟件可以在Turbo C/C+ for Windows內(nèi)測試。 b) 概要設(shè)計第一模塊:函數(shù)調(diào)用模塊(分兩種情況討論):第一種情況:起點站和輸出站都在同一號線if(c/100=d/100)a=max(c,d);b=min(c,d);j=a-b;subway(j); change_line( c, d); name_passed_station( c, d); 第一種情況:起點站和終點站不在同一號線(又分兩種情況
6、):(1)起點站在一號線,終點站在二號線在: if(c<200) a=max(109,c)-min(109,c);b=max(212,d)-min(212,d);j=a+b;subway(j); change_line( c, d); name_passed_station( c, d);(2)起點站在二號線,終點站在一號線:else a=max(212,c)-min(212,c);b=max(109,d)-min(109,d);j=a+b; subway(j); change_line( c, d); name_passed_station(c, d);第二模塊:函數(shù)定義模塊把起點站序
7、號跟終點站序號比較,取出較少著:int min(int c,int d) int z; if(c>d) z=d; else z=c; return(z);把起點站跟終點站比較,取出較大者:int max(int c,int d) int z; if(c>d) z=c; else z=d; return(z);輸出所要的費用:void subway(int j) switch(j) case 0: printf("Sorry,你已經(jīng)在本站,不用再乘座了。Thanks! _n");break; case 1: case 2: case 3: printf("
8、;收費2元,Thanks! _n");break; case 4: case 5: case 6: printf("收費3元, Thanks! _n");break; case 7: case 8: case 9: printf("收費4元, Thanks! _n");break; case 10: case 11: case 12: printf("收費5元, Thanks! _n");break; case 13: case 14: case 15: printf("收費6元, Thanks! _n"
9、);break; case 16: case 17: case 18: printf("收費7元, Thanks! _n");break; case 19: case 20: printf("收費8元,Thands! _n"); 該函數(shù)檢查是否需要轉(zhuǎn)線void change_line(int c,int d) if(c/100=d/100) printf("不需要轉(zhuǎn)線,可直達_n"); else printf("請注意:要到公園前站轉(zhuǎn)線n");輸出途徑的站名,分兩種情況:情況一:不需要轉(zhuǎn)線(1)起點站和終點站都在一
10、號線if(c/100=1&&d/100=1) for(i=c%100;i<=d%100;i+)switch(i)case 1: printf("西湖t");break;case 2: printf("坑口t");break;case 3: printf("花地灣t");break;case 4: printf("芳村t");break;case 5: printf("黃沙t");break;case 6: printf("長壽路t");break;cas
11、e 7: printf("陳家祠t");break;case 8: printf("西門口t");break;case 9: printf("公園前t");break;case 10: printf("農(nóng)講所t");break;case 11: printf("烈士陵園t");break;case 12: printf("東山口t");break;case 13: printf("楊箕t");break;case 14: printf("體育西路
12、t");break;case 15: printf("體育中心t");break;case 16: printf("廣州東站t");break;(2)起點站和終點站都在二號線if(c/100=2&&d/100=2) for(i=c%100;i<=d%100;i+)switch(i)case 1: printf("琶洲t");break;case 2: printf("新港東t");break;case 3: printf("磨碟沙t");break;case 4:
13、 printf("赤崗t");break;case 5: printf("客村t");break;case 6: printf("鷺江t");break;case 7: printf("中大t");break;case 8: printf("曉港t");break;case 9: printf("江南西t");break;case 10: printf("市兒宮t");break;case 11: printf("海珠廣場t");bre
14、ak;case 12: printf("公園前t");break;case 13: printf("紀念堂t");break;case 14: printf("越秀公園t");break;case 15: printf("廣州火車站t");break;case 16: printf("三元里t");break;case 17: printf("遠景t");break;case 18: printf("廣州體育館t");break;case 19: prin
15、tf("新市t");break;case 20: printf("江夏t");break; 情況二:需要轉(zhuǎn)線分四種情況(1)起點站和終點站都是在公園前站前面if(c<=109&&d<=212&&d>=201) for(i=c%10;i<=9;i+)switch(i)case 1: printf("西湖t");break;case 2: printf("坑口t");break;case 3: printf("花地灣t");break;case
16、 4: printf("芳村t");break;case 5: printf("黃沙t");break;case 6: printf("長壽路t");break;case 7: printf("陳家祠t");break;case 8: printf("西門口t");break;case 9: printf("公園前t");break;for(j=d%100;j<=11;j+)switch(j)case 1: printf("琶洲t");break;c
17、ase 2: printf("新港東t");break;case 3: printf("磨碟沙t");break;case 4: printf("赤崗t");break;case 5: printf("客村t");break;case 6: printf("鷺江t");break;case 7: printf("中大t");break;case 8: printf("曉港t");break;case 9: printf("江南西t");
18、break;case 10: printf("市兒宮t");break;case 11: printf("海珠廣場t");break;(2)起點站在公園前站前面,而終點站在公園前站后面if(c<=109&&d>=212) for(i=c%10;i<=9;i+)switch(i)case 1: printf("西湖t");break;case 2: printf("坑口t");break;case 3: printf("花地灣t");break;case 4: p
19、rintf("芳村t");break;case 5: printf("黃沙t");break;case 6: printf("長壽路t");break;case 7: printf("陳家祠t");break;case 8: printf("西門口t");break;case 9: printf("公園前t");break;for(j=13;j<=d%100;j+)switch(j)case 13: printf("紀念堂t");break;case
20、 14: printf("越秀公園t");break;case 15: printf("廣州火車站t");break;case 16: printf("三元里t");break;case 17: printf("遠景t");break;case 18: printf("廣州體育館t");break;case 19: printf("新市t");break;case 20: printf("江夏t");break; (3)起點站在公園前站后面,終點站在前面i
21、f(c>=109&&d<=212&&d>=201) for(i=9;i<=c%100;i+)switch(i)case 9: printf("公園前t");break;case 10: printf("農(nóng)講所t");break;case 11: printf("烈士陵園t");break;case 12: printf("東山口t");break;case 13: printf("楊箕t");break;case 14: printf(&q
22、uot;體育西路t");break;case 15: printf("體育中心t");break;case 16: printf("廣州東站t");break;for(j=d%100;j<=11;j+)switch(j)case 1: printf("琶洲t");break;case 2: printf("新港東t");break;case 3: printf("磨碟沙t");break;case 4: printf("赤崗t");break;case 5:
23、printf("客村t");break;case 6: printf("鷺江t");break;case 7: printf("中大t");break;case 8: printf("曉港t");break;case 9: printf("江南西t");break;case 10: printf("市兒宮t");break;case 11: printf("海珠廣場t");break; (4)起點站和終點站都在公園前站后面if(c>=109&
24、&d>=212) for(i=9;i<=c%100;i+)switch(i)case 9: printf("公園前t");break;case 10: printf("農(nóng)講所t");break;case 11: printf("烈士陵園t");break;case 12: printf("東山口t");break;case 13: printf("楊箕t");break;case 14: printf("體育西路t");break;case 15: pri
25、ntf("體育中心t");break;case 16: printf("廣州東站t");break;for(j=13;j<d%100;j+)switch(j)case 13: printf("紀念堂t");break;case 14: printf("越秀公園t");break;case 15: printf("廣州火車站t");break;case 16: printf("三元里t");break;case 17: printf("遠景t");br
26、eak;case 18: printf("廣州體育館t");break;case 19: printf("新市t");break;case 20: printf("江夏t");break; c)詳細設(shè)計開始聲明函數(shù)name_passed_station(),change_line(),subway(),Max(),min(),stull()定義變量a,b,c,d,j,n調(diào)用stull()輸出界面輸入c(101<=c&&c<=116)|(201<=c&&c<=220)輸入錯誤,請重
27、輸輸入d(101<=d&&d<=117)|(201<=d&&d<=220)輸入錯誤,請重輸c/100=d/100a=max(c,d);b=min(c,d); j=a-b;subway(j);change_line( c, d);name_passed_station( c, d);調(diào)用函數(shù)見附圖函數(shù)調(diào)用部分c<200a=max(c,d);b=min(c,d); j=a-b;subway(j);change_line( c, d);name_passed_station( c, d);調(diào)用函數(shù)見附圖函數(shù)調(diào)用部分a=max(212,c)-min(212,c);b=max(109,d)-min(109,d);j=a+b; subway(j);change_line( c, d);name_passed_station(c, d);輸入nn='Y'返回開始結(jié)束附圖:max()Int c,d ,zc>dz=cz=dreturn(z)min()Int c,d ,zz=creturn(z)c>dz
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025標(biāo)準版?zhèn)€人購房合同書
- 2025合伙買車合同
- 2024-2025學(xué)年新教材高中生物 第二章 基因和染色體的關(guān)系 微專題四 伴性遺傳的解題方法說課稿 新人教版必修第二冊
- 預(yù)制樓板施工方案
- 肇慶鋼板樁支護施工方案
- 別墅電梯出售合同范例
- 2023九年級數(shù)學(xué)下冊 第二十九章 投影與視圖29.1 投影第2課時 正投影說課稿 (新版)新人教版001
- 2024年四年級英語上冊 Unit 3 Let's Go Lesson 15 In the City說課稿 冀教版(三起)
- 自然補償管道施工方案
- 2024年四年級英語上冊 Unit 1 My classroom The fifth period(第五課時)說課稿 人教PEP
- 2025年熱管換熱氣行業(yè)深度研究分析報告
- 職業(yè)學(xué)院學(xué)生晚出、晚歸、不歸管理辦法
- 2025年陜西西安市經(jīng)濟技術(shù)開發(fā)區(qū)管委會招聘30人歷年高頻重點提升(共500題)附帶答案詳解
- 2025山東能源集團中級人才庫選拔高頻重點提升(共500題)附帶答案詳解
- 《安利蛋白質(zhì)粉》課件
- 【可行性報告】2024年數(shù)據(jù)標(biāo)注與審核項目可行性研究分析報告
- 2024-2025學(xué)年滬科版數(shù)學(xué)七年級上冊期末綜合測試卷(一)(含答案)
- 2025門診護理工作計劃
- 《針法灸法》課件-溫灸器灸
- 電氣領(lǐng)域知識培訓(xùn)課件
- 山東省部分學(xué)校2024-2025學(xué)年高一上學(xué)期12月選科指導(dǎo)聯(lián)合測試地理試題( 含答案)
評論
0/150
提交評論