版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 信息科學(xué)與技術(shù)學(xué)院</b></p><p> 程序設(shè)計基礎(chǔ)課程設(shè)計報告</p><p> 題目名稱: 數(shù)值轉(zhuǎn)換 </p><p> 學(xué)生姓名: </p><p> 學(xué) 號:
2、 </p><p> 專業(yè)班級: 2011級計算機與科學(xué)技術(shù)1班 </p><p> 指導(dǎo)教師: </p><p> 2012年 6 月 26 日</p><p><b> 目錄</b></p
3、><p> 1 課程設(shè)計題目及要求2</p><p><b> 1.1設(shè)計題目2</b></p><p><b> 1.2設(shè)計要求2</b></p><p><b> 2 總體設(shè)計3</b></p><p> 2.1程序功能描述3<
4、/p><p><b> 2.2設(shè)計思想4</b></p><p><b> 3 詳細(xì)設(shè)計5</b></p><p><b> 3.1類設(shè)計5</b></p><p> 3.2主模塊設(shè)計6</p><p> 3.2.1總體流程圖6</
5、p><p> 3.2.2 子功能流程圖7</p><p><b> 4 運行結(jié)果11</b></p><p> 5 課程設(shè)計總結(jié)13</p><p><b> 6 參考文獻14</b></p><p> 1 課程設(shè)計題目及要求</p><p&
6、gt;<b> 1.1設(shè)計題目</b></p><p><b> 數(shù)制轉(zhuǎn)換</b></p><p><b> 1.2設(shè)計要求</b></p><p> 問題描述(功能要求):</p><p> 定義一個數(shù)制轉(zhuǎn)換器,要求能夠?qū)崿F(xiàn)二進制、十進制、八進制、十六進制間的相互轉(zhuǎn)
7、換。</p><p> 提示:將輸入的2進制數(shù)(一個非“0”即“1”的字符串)化為10進制數(shù)。用字符數(shù)組a盛放所輸入的二進制數(shù);而后從后往前逐一計算每一位的“位權(quán)”w (2的0次方、2的1次方、...),再計算“位權(quán)”乘以“位值”并累加到一個初值為0的變量value上,最后輸出該value。</p><p><b> 問題的解決方案:</b></p>
8、<p> 根據(jù)系統(tǒng)功能要求,可以將問題解決分為以下步驟: </p><p> ?。?)分析系統(tǒng)中的各個實體之間的關(guān)系及其屬性和行為; </p><p> ?。?)根據(jù)問題描述,設(shè)計系統(tǒng)的類層次; </p><p> ?。?)完成類層次中各個類的描述(包括屬性和方法); </p><p> ?。?)完成類中各個成員函數(shù)的定義; &
9、lt;/p><p> (5)完成系統(tǒng)的應(yīng)用模塊; </p><p><b> (6)功能調(diào)試; </b></p><p> (7)完成系統(tǒng)總結(jié)報告以及系統(tǒng)使用說明書。</p><p><b> 其他要求:</b></p><p> 只能使用C/C++語言,源程序要有適當(dāng)
10、的注釋,是程序容易閱讀</p><p> 至少采用文本菜單界面(如果能使用圖形菜單界面更好)</p><p> 學(xué)生可以自動增加新功能板塊</p><p> 2 總體設(shè)計 </p><p><b> 2.1程序功能描述</b></
11、p><p> 在此程序中,程序的功能由一個個小的子程序組成,通過各個小程序之間的調(diào)用,完成數(shù)制轉(zhuǎn)換功能</p><p><b> 2.2設(shè)計思想</b></p><p> 此圖表達出此程序的轉(zhuǎn)換思想,應(yīng)用位權(quán)法編寫二、八、十六進制到十進制的程序,應(yīng)用除法和乘法的思想編寫十到二、八、十六的程序。當(dāng)二、八、十六之間相互轉(zhuǎn)化時,調(diào)用兩個子程序進行轉(zhuǎn)
12、化。例如二進制轉(zhuǎn)化為八進制,先把二進制轉(zhuǎn)化為十進制在轉(zhuǎn)化為八進制。十進制在數(shù)值轉(zhuǎn)換程序中作為了一個橋梁的作用。在轉(zhuǎn)換小數(shù)部分時,程序默認(rèn)輸出二十位小數(shù),不夠者用零補充。 </p><p><b> 3 詳細(xì)設(shè)計</b></p><p><b> 3.1類設(shè)計</b>
13、;</p><p> class Turnform</p><p><b> {</b></p><p><b> public:</b></p><p> Turnform(){}; //構(gòu)造函數(shù)</p><p>
14、; ~Turnform(){}; //析構(gòu)函數(shù)</p><p> void Tenton( char c[], double m) ; //10十進制數(shù)據(jù)轉(zhuǎn)換成其他進制</p><p> double Ntoten( char c[], int n); //其他進制數(shù)據(jù)轉(zhuǎn)換成10進制數(shù)據(jù)&
15、lt;/p><p> void Begin(); //主界面 函數(shù)</p><p> void End(); //界面結(jié)束 函數(shù)</p><p> void N_to_n_form(); //調(diào)用一般函數(shù)進行各進制間
16、的轉(zhuǎn)換</p><p> int Head(); //調(diào)用其他函數(shù)應(yīng)用函數(shù)</p><p><b> private:</b></p><p> void Smtobletter(char* c); //將小寫字母a-z轉(zhuǎn)換為A-Z</p>
17、<p> void Numtointform( int m, int n) ; //轉(zhuǎn)換數(shù)據(jù)的整數(shù)部分</p><p> void Numto_sma_form( double m, int n); //轉(zhuǎn)換數(shù)據(jù)的小數(shù)部分 </p><p> void Combine_intsma( double m, int n) ; //合并轉(zhuǎn)換成的整
18、數(shù)和小數(shù)部分</p><p><b> };</b></p><p><b> 3.2主模塊設(shè)計</b></p><p> 3.2.1總體流程圖</p><p> 3.2.2 子功能流程圖</p><p> I.將小寫字母a-z轉(zhuǎn)換為A-Z</p>&
19、lt;p> 此函數(shù)是把輸入的字符串中的字母統(tǒng)一轉(zhuǎn)化為大寫,便于后面的統(tǒng)一計算 減輕工作量</p><p> 如果按大寫字母編寫一個函數(shù)再按小寫字母編寫一個程序 會大大加大了程序的繁瑣冗長,不簡便。</p><p> II.其他進制數(shù)據(jù)轉(zhuǎn)換成10進制數(shù)據(jù)</p><p> 其他進制轉(zhuǎn)化為十進制的算法相同,利用位權(quán)進行計算 在計算到小數(shù)部分是 以數(shù)組名做地
20、址對數(shù)據(jù)進行讀取,然后進行加法計算</p><p> III.十進制轉(zhuǎn)化為其他進制</p><p> ① 轉(zhuǎn)換數(shù)據(jù)的整數(shù)部分</p><p> 十進制是一個橋梁 在十進制轉(zhuǎn)化為其他進制過程中 要把整數(shù)部分和小數(shù)部分分開計算,然后再合并在一起</p><p> ?、?轉(zhuǎn)換數(shù)據(jù)的小數(shù)部分</p><p> 此程序接
21、受的是小數(shù)部分 并把其轉(zhuǎn)化為二八十六進制,然后合并整數(shù)部分一起輸出。</p><p><b> 4 運行結(jié)果</b></p><p> 主界面 提示操作信息</p><p> 選擇需要轉(zhuǎn)換的數(shù)的進制</p><p><b> 輸入數(shù)</b></p><p> 結(jié)果
22、 輸出各種數(shù)制</p><p><b> 5 課程設(shè)計總結(jié)</b></p><p> 通過對數(shù)值轉(zhuǎn)換系統(tǒng)的編寫,我認(rèn)識到結(jié)構(gòu)設(shè)計的對C++程序設(shè)計的重要性。在編寫程序時要考慮好程序的結(jié)構(gòu)、各個函數(shù)之間的相互調(diào)用,在適當(dāng)?shù)奈恢米龊煤瘮?shù)的聲明。在類的設(shè)計過程中,考慮好各個函數(shù)之間的聯(lián)系,有些函數(shù)需要定義為公有,有些需要定義為私有。在本程序,未用到類的派生與繼承,是一
23、個相對簡單的程序。</p><p> 在編寫程序中,可以先對一個個小功能進行分別調(diào)試,運行通過后再把所有的程序組合在一起,設(shè)計整理函數(shù)之間的參數(shù)傳遞,利用函數(shù)名作為實參進行傳遞就像 Tenton( c, Ntoten(c,n))。各個程序聯(lián)系緊密。</p><p> 在這次小小的課程設(shè)計過程中,通過查找資料,仔細(xì)研究各個進制之間的轉(zhuǎn)化關(guān)系,然后結(jié)合數(shù)組等的特點進行算法設(shè)計。我們都知道,
24、算法是一個程序的靈魂,一個好的簡潔的算法可以節(jié)省運算空間,這對程序設(shè)計人員提出了更高的要求,只有勤奮思考學(xué)習(xí),才能設(shè)計好程序,這也是我們下一步學(xué)習(xí)的方向。</p><p><b> 6 參考文獻</b></p><p> [1] 譚浩強,《C++程序設(shè)計》,北京,清華大學(xué)出版社 </p><p> ?。?] 湛為芳 《C++程序設(shè)計技
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)值轉(zhuǎn)換課程設(shè)計報告
- 匯編課程設(shè)計--數(shù)值的數(shù)制轉(zhuǎn)換
- 課程設(shè)計報告--數(shù)制轉(zhuǎn)換
- 數(shù)值分析課程設(shè)計報告
- 數(shù)值分析課程設(shè)計報告
- 課程設(shè)計--進制轉(zhuǎn)換
- 數(shù)值分析課程設(shè)計報告書
- 課程設(shè)計--進制轉(zhuǎn)換
- 微機原理課程設(shè)計報告書--ad轉(zhuǎn)換
- 計數(shù)型ad轉(zhuǎn)換器課程設(shè)計報告
- 數(shù)值逼近課程設(shè)計
- 課程設(shè)計--進制轉(zhuǎn)換.doc
- 數(shù)值分析課程設(shè)計
- 數(shù)值分析課程設(shè)計
- 數(shù)值計算課程設(shè)計
- 數(shù)值分析課程設(shè)計
- 數(shù)制轉(zhuǎn)換課程設(shè)計--進制轉(zhuǎn)換的實現(xiàn)
- c語言課程設(shè)計--進制轉(zhuǎn)換
- 常微分方程數(shù)值解法課程設(shè)計報告
- ad轉(zhuǎn)換器課程設(shè)計
評論
0/150
提交評論