用折半查找法猜籃球的價(jià)格.doc_第1頁(yè)
用折半查找法猜籃球的價(jià)格.doc_第2頁(yè)
用折半查找法猜籃球的價(jià)格.doc_第3頁(yè)
用折半查找法猜籃球的價(jià)格.doc_第4頁(yè)
用折半查找法猜籃球的價(jià)格.doc_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

沈 陽(yáng) 航 空 工 業(yè) 學(xué) 院 課程設(shè)計(jì) 學(xué) 號(hào) 200604021081班 級(jí) 6402103姓 名 高健文指導(dǎo)教師 劉 成2007年 9 月 18 日沈陽(yáng)航空工業(yè)學(xué)院課程設(shè)計(jì)任務(wù)書(shū)電子工程系 電子信息工程專(zhuān)業(yè) 6402103班 學(xué)號(hào)200604021081一課程設(shè)計(jì)題目:用折半查找法猜籃球的價(jià)格。二課程設(shè)計(jì)工作自2007年9月10日起至2007年9月14日止三程設(shè)計(jì)內(nèi)容:用C語(yǔ)言編寫(xiě)軟件完成以下任務(wù):體要求如下:1 輸出菜單選項(xiàng)。2 從鍵盤(pán)輸入籃球價(jià)格(設(shè)價(jià)格在1200元之間,并且為整數(shù))。3 讓計(jì)算機(jī)從1元開(kāi)始用折半法猜測(cè)籃球價(jià)格。若計(jì)算機(jī)猜測(cè)的價(jià)格偏高,用戶(hù)輸入“高”,若計(jì)算機(jī)猜測(cè)價(jià)格偏低,用戶(hù)輸入“低”,若計(jì)算機(jī)猜對(duì)了,則顯示“正確”。四課程設(shè)計(jì)要求1程序質(zhì)量 徹結(jié)構(gòu)化的程序設(shè)計(jì)思想。 用戶(hù)界面友好,功能明確,操作方便。 戶(hù)界面中的菜單至少應(yīng)包括“輸入籃球價(jià)格”,“計(jì)算器開(kāi)始猜測(cè)”,“退出”3項(xiàng)。 碼應(yīng)適當(dāng)縮進(jìn),并給出必要的注釋?zhuān)栽鰪?qiáng)程序的可讀性。2課程設(shè)計(jì)說(shuō)明書(shū):課程結(jié)束后,上交課程設(shè)計(jì)說(shuō)明書(shū)和源程序。課程設(shè)計(jì)說(shuō)明書(shū)的內(nèi)容如下:課程設(shè)計(jì)任務(wù)書(shū)程序設(shè)計(jì)題目需求分析(分析題目的要求)程序框圖(總體框圖和各功能模塊框圖,使用傳統(tǒng)流程圖或框圖)核心技術(shù)的實(shí)現(xiàn)方法及程序源代碼及注釋個(gè)人總結(jié)參考資料指導(dǎo)教師:_學(xué)生簽名:_一 程序設(shè)計(jì)題目 2 二 題目分析 2 三 程序流程圖 5四 核心技術(shù)的實(shí)現(xiàn)方法及程序段 7五 個(gè)人總結(jié) 11六 參考文獻(xiàn) 12一程序設(shè)計(jì)題目1 輸出菜單選項(xiàng)。2 從鍵盤(pán)輸入籃球價(jià)格(設(shè)價(jià)格在1200元之間,并且為整數(shù))。3 讓計(jì)算機(jī)從1元開(kāi)始用折半法猜測(cè)籃球價(jià)格。若計(jì)算機(jī)猜測(cè)的價(jià)格偏高,用戶(hù)輸入“高”,若計(jì)算機(jī)猜測(cè)價(jià)格偏低,用戶(hù)輸入“低”,若計(jì)算機(jī)猜對(duì)了,則顯示“正確”。二題目分析1、顯示菜單函數(shù) 主要實(shí)現(xiàn)顯示程序設(shè)計(jì)的總體步驟和功能,還有接下來(lái)顯示的分步驟用來(lái)實(shí)現(xiàn)各個(gè)函數(shù)的具體功能,以便實(shí)現(xiàn)其它各自定義函數(shù)的作用。2 輸入籃球價(jià)格函數(shù) 是用戶(hù)給籃球的一個(gè)真實(shí)價(jià)格,為下一步計(jì)算機(jī)猜測(cè)籃球價(jià)格提供數(shù)據(jù)依據(jù)。3、猜測(cè)籃球價(jià)格函數(shù) 計(jì)算機(jī) 對(duì)籃球價(jià)格進(jìn)行猜測(cè),通過(guò)用戶(hù)輸入的“高”和“低”給計(jì)算機(jī)運(yùn)用折半查找法提供大方向,進(jìn)行多次循環(huán),最終達(dá)到猜測(cè)出籃球真實(shí)價(jià)格的目的。除上面介紹的功能之外,程序還具有退出功能,可以在程序運(yùn)行當(dāng)中循環(huán)執(zhí)行所有的功能,并根據(jù)需要終止程序的執(zhí)行三程序流程圖1整體設(shè)計(jì)定義變量 int choice,value;將menuchoice()函數(shù)返回值賦給變量choice() choice!=3 choice= 1 是 否 輸入籃球 是 否價(jià)格 猜測(cè)籃球價(jià)格退出主函數(shù)2功能函數(shù)模塊框圖 (1)顯示菜單函數(shù) 輸入菜單選項(xiàng)給變量 ret 返回ret的值 定義變量初始化 fh asdfasdffsdfasdf(2)輸入籃球價(jià)格函數(shù)定義變量初始化當(dāng)輸入價(jià)格不在1-200元以?xún)?nèi)提示用戶(hù)輸入籃球價(jià)格輸入價(jià)格給變量price把price值帶回(3)猜測(cè)籃球價(jià)格函數(shù)變量初始化mid=(low+high)/2;當(dāng)賦給mid的值不等于真實(shí)價(jià)格時(shí) 輸入字符串判斷是否偏高否是把mid+1的值賦值給low變量把mid-1的值賦值給high 變量 四核心技術(shù)的實(shí)現(xiàn)方法及程序段本程序主要由一個(gè)主函數(shù)和三個(gè)自定義函數(shù)組成,其中主函數(shù)以菜單的形式調(diào)用其他函數(shù)來(lái)實(shí)現(xiàn)要求的所有功能。下面分別對(duì)各個(gè)自定義函數(shù)進(jìn)行說(shuō)明。1、顯示菜單函數(shù)定義整型的選擇變量,這是一個(gè)主菜單(MenuChoice(),數(shù)字變量(ret),輸入整型的ret值,并返回給主函數(shù)中的(choice= MenuChoice(),當(dāng)返回的ret值等于3時(shí),直接跳出當(dāng)前函數(shù)。當(dāng)ret值為1時(shí),進(jìn)入“輸入籃球價(jià)格”函數(shù),當(dāng)ret值為2時(shí),進(jìn)入“猜測(cè)籃球價(jià)格”函數(shù)。 這是一個(gè)菜單函數(shù)包含的:/*顯示菜單0*/int MenuChoice(void) int ret; printf(1 - 輸入籃球價(jià)格n2 - 計(jì)算器開(kāi)始猜測(cè)n3 - 退出n); scanf(%d, &ret); return (ret);2、輸入籃球價(jià)格函數(shù) 用戶(hù)輸入一個(gè)價(jià)格,對(duì)這個(gè)PRICE進(jìn)行討論。while (price 200) ,這是一個(gè)把價(jià)格限制在1200內(nèi)的函數(shù),如不在這個(gè)范圍內(nèi)的話會(huì)輸出:Enter the price::直到輸入的在1-200之間才會(huì)進(jìn)行運(yùn)算。/*得到籃球的實(shí)際價(jià)格*/int GetPrice(void) int price; while (price 200) printf(Enter the price: ); scanf(%d, &price); return (price);3、猜測(cè)籃球價(jià)格函數(shù)定義了兩個(gè)整型變量,low,high.這分別是1,200。用折半法來(lái)運(yùn)算: while (mid = (low + high) / 2) != price),如果猜測(cè)的比實(shí)際的高了。你就輸入HIGH,若低了你就輸入LOW, if (strcmp(gets(s), high) = 0) high = mid - 1; else if (strcmp(s, low) = 0) low = mid + 1; /*猜測(cè)籃球的價(jià)格*/void GuessPrice(int place) int mid, low = 1, high = 200; char s30 = ; while (mid = (low + high) / 2) != place) printf(The price is: %dn, mid);/*顯示計(jì)算機(jī)預(yù)計(jì)的價(jià)格*/ if (strcmp(gets(s), high) = 0)/*如果價(jià)格高,用戶(hù)就輸入high*/ high = mid - 1; else if (strcmp(s, low) = 0)/*如果價(jià)格低,用戶(hù)就輸入low*/ low = mid + 1; 五個(gè)人總結(jié)通過(guò)這次課設(shè)讓我對(duì)計(jì)算機(jī)的學(xué)習(xí)又有了新的認(rèn)識(shí)。而且學(xué)習(xí)到了做人要有堅(jiān)持不懈的精神。比如說(shuō)起初在得到課設(shè)題目時(shí),根本無(wú)從下手,不知道該從什么地方開(kāi)始。后來(lái)在同學(xué)的幫助下,我漸漸的知道了程序的編制的總體思路,然后繼續(xù)努力研究,最終才設(shè)計(jì)出了我的程序。我懂得了如何在面對(duì)問(wèn)題時(shí)去先看到問(wèn)題的本質(zhì),如何在有很多不明白的時(shí)候去找到自己會(huì)的地方,從而一點(diǎn)點(diǎn)的理解,學(xué)會(huì)如何在一個(gè)問(wèn)題,不知所措的時(shí)候,去問(wèn)一問(wèn)老師和同學(xué),在老師的幫助和指導(dǎo)下,讓我學(xué)到了程序的單步運(yùn)行,和監(jiān)視斷點(diǎn)等方法來(lái)解決一些算法的錯(cuò)誤,再運(yùn)用對(duì)稱(chēng)的方法和觀察法去查找語(yǔ)法錯(cuò)誤。另外在本次實(shí)習(xí)中,我還深刻的體會(huì)到計(jì)算機(jī)方面的統(tǒng)一的重要性,因?yàn)樵谶\(yùn)行程序的過(guò)程中,我發(fā)現(xiàn)同一個(gè)程序在不同型號(hào)的計(jì)算機(jī)上運(yùn)行卻得到不同的結(jié)果,這樣回給程序的編輯帶來(lái)很大麻煩,因此我深深的體會(huì)到在計(jì)算機(jī)方面統(tǒng)一的重要性。 在本次實(shí)習(xí)中,我用規(guī)定的時(shí)間把程序編完,并達(dá)到了題目的要求。而且還早要求的基礎(chǔ)上,進(jìn)一步改進(jìn)了程序,使程序的界面更加友好,更加滿(mǎn)足大眾的要求。這次課設(shè)讓我解決問(wèn)題的能力提高了,不僅如此,還讓我們同學(xué)之間的友情變的更深了,因?yàn)橐粋€(gè)個(gè)問(wèn)題在討論中解決,

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論