數(shù)值轉(zhuǎn)換課程設(shè)計報告_第1頁
已閱讀1頁,還剩14頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論