2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  設(shè)計(論文)題目: 實現(xiàn)計算器功能的應(yīng)用程序 </p><p>  學(xué) 院 名 稱: 電子與信息工程學(xué)院 </p><p>  專 業(yè): 計算機科學(xué)與技術(shù) </p>

2、<p>  班 級: 計科12—1 </p><p>  姓 名: </p><p>  學(xué) 號: </p><p>  

3、目 錄</p><p>  設(shè)計背景和需求分析…………………………………………………………………… 3</p><p>  設(shè)計背景………………………………………………………………………… 3</p><p>  1.2 應(yīng)用背景………………………………………………………………………… 3</p><p>

4、;  1.3 需求分析………………………………………………………………………… 3</p><p>  1.4 應(yīng)用技術(shù)………………………………………………………………………… 3</p><p>  系統(tǒng)結(jié)構(gòu)設(shè)計…………………………………………………………………………… 4</p><p>  系統(tǒng)結(jié)構(gòu)模型……………………………………………

5、……………………… 4</p><p>  模塊劃分………………………………………………………………………… 5</p><p>  實現(xiàn)方法………………………………………………………………………… 5</p><p>  程序模塊設(shè)計與調(diào)試…………………………………………………………………… 6</p><p>  設(shè)

6、計和調(diào)試各程序模塊………………………………………………………… 7</p><p>  提交主要的程序段……………………………………………………………… 12</p><p>  結(jié)束語…………………………………………………………………………………… 13</p><p>  系統(tǒng)應(yīng)用前景…………………………………………………………………… 13&

7、lt;/p><p>  不足與改進……………………………………………………………………… 13</p><p>  體會……………………………………………………………………………… 14</p><p>  1.設(shè)計背景和需求分析</p><p><b>  1.1 設(shè)計背景</b></p><

8、p>  (1)鞏固和加深學(xué)生對類的基本知識的理解和掌握;</p><p> ?。?)掌握C++語言編程和程序調(diào)試的基本技能;</p><p> ?。?)利用C+語言進行基本的軟件設(shè)計;</p><p> ?。?)掌握書寫程序設(shè)計說明文檔的能力;</p><p>  提高運用C++語言解決實際問題的能力。</p><p

9、><b>  1.2 應(yīng)用背景</b></p><p>  說起計算器,值得我們驕傲的是,最早的計算工具誕生在中國。中國古代最早采用的一種計算工具叫籌策,又被叫做算籌。這種算籌多用竹子制成,也有用木頭,獸骨充當(dāng)材料的。約二百七十枚一束,放在布袋里可隨身攜帶。 直到今天仍在使用的珠算盤,是中國古代計算工具領(lǐng)域中的另一項發(fā)明,明代時的珠算盤已經(jīng)與現(xiàn)代的珠算盤幾乎相同。

10、 十七世紀初,西方國家的計算工具有了較大的發(fā)展,英國數(shù)學(xué)家納皮爾發(fā)明的“納皮爾算籌”,英國牧師奧卻德發(fā)明了圓柱型對數(shù)計算尺,這種計算尺不僅能做加減乘除、乘方、開方運算,甚至可以計算三角函數(shù),指數(shù)函數(shù)和對數(shù)函數(shù),這些計算工具不僅帶動了計算器的發(fā)展,也為現(xiàn)代計算器發(fā)展奠定了良好的基礎(chǔ),成為現(xiàn)代社會應(yīng)用廣泛的計算工具。1.3 需求分析</p><p>  即要實現(xiàn)簡單計算器等功能,包括加、減、乘、除等運算功能,還要

11、實現(xiàn)數(shù)據(jù)的輸入、輸出、計算、顯示等功能。</p><p><b>  1.4 應(yīng)用技術(shù)</b></p><p>  Visual Studio 2005、</p><p><b>  C++編程、</b></p><p><b>  MFC、</b><

12、/p><p><b>  類</b></p><p><b>  系統(tǒng)結(jié)構(gòu)設(shè)計</b></p><p>  2.1 系統(tǒng)結(jié)構(gòu)模型</p><p><b>  2.2模塊劃分</b></p><p><b>  2.3 實現(xiàn)方法</b>&

13、lt;/p><p>  運用MFC制作界面輸入代碼,創(chuàng)建類來實現(xiàn)</p><p><b>  程序模塊設(shè)計與調(diào)試</b></p><p>  3.1 設(shè)計和調(diào)試各模塊程序/主要程序段</p><p><b>  數(shù)字等號按鈕程序:</b></p><p>  void CZjfD

14、lg::OnButton19() </p><p><b>  {</b></p><p>  // TODO: Add your control notification handler code here</p><p><b>  Calc2();</b></p><p>  m_sign =

15、 '=';</p><p>  equals = true;</p><p><b>  }</b></p><p>  void CZjfDlg::OnButton7() </p><p><b>  {</b></p><p>  // TODO: Add

16、 your control notification handler code here</p><p>  m_numb = 1;</p><p><b>  Calc1();</b></p><p><b>  }</b></p><p>  void CZjfDlg::OnButton8()

17、</p><p><b>  {</b></p><p>  // TODO: Add your control notification handler code here</p><p>  m_numb = 2;</p><p><b>  Calc1();</b></p>&l

18、t;p><b>  }</b></p><p>  void CZjfDlg::OnButton9() </p><p><b>  {</b></p><p>  // TODO: Add your control notification handler code here</p><p>

19、;  m_numb = 3;</p><p><b>  Calc1();</b></p><p><b>  }</b></p><p>  void CZjfDlg::OnButton4() </p><p><b>  {</b></p><p>

20、;  // TODO: Add your control notification handler code here</p><p>  m_numb = 4;</p><p><b>  Calc1();</b></p><p><b>  }</b></p><p>  void CZjfDl

21、g::OnButton5() </p><p><b>  {</b></p><p>  // TODO: Add your control notification handler code here</p><p>  m_numb = 5;</p><p><b>  Calc1();</b>

22、;</p><p><b>  }</b></p><p>  void CZjfDlg::OnButton6() </p><p><b>  {</b></p><p>  // TODO: Add your control notification handler code here</

23、p><p>  m_numb = 6;</p><p><b>  Calc1();</b></p><p><b>  }</b></p><p>  void CZjfDlg::OnButton1() </p><p><b>  {</b></p

24、><p>  // TODO: Add your control notification handler code here</p><p>  m_numb = 7;</p><p><b>  Calc1();</b></p><p><b>  }</b></p><p>

25、;  void CZjfDlg::OnButton2() </p><p><b>  {</b></p><p>  // TODO: Add your control notification handler code here</p><p>  m_numb = 8;</p><p><b>  Cal

26、c1();</b></p><p><b>  }</b></p><p>  void CZjfDlg::OnButton3() </p><p><b>  {</b></p><p>  // TODO: Add your control notification handler

27、code here</p><p>  m_numb = 9;</p><p><b>  Calc1();</b></p><p><b>  }</b></p><p>  void CZjfDlg::OnButton10() </p><p><b>  {&

28、lt;/b></p><p>  // TODO: Add your control notification handler code here</p><p>  m_numb = 0;</p><p><b>  Calc1();</b></p><p><b>  }</b></

29、p><p><b>  運算符程序段:</b></p><p>  void CZjfDlg::OnButton14() </p><p><b>  {</b></p><p>  // TODO: Add your control notification handler code here<

30、/p><p><b>  Calc2();</b></p><p>  m_sign = '+';</p><p><b>  }</b></p><p>  void CZjfDlg::OnButton15() </p><p><b>  {<

31、/b></p><p>  // TODO: Add your control notification handler code here</p><p><b>  Calc2();</b></p><p>  m_sign = '-';</p><p><b>  }</b&g

32、t;</p><p>  void CZjfDlg::OnButton16() </p><p><b>  {</b></p><p>  // TODO: Add your control notification handler code here</p><p><b>  Calc2();</b

33、></p><p>  m_sign = '*';</p><p><b>  }</b></p><p>  void CZjfDlg::OnButton17() </p><p><b>  {</b></p><p>  // TODO: Add

34、your control notification handler code here</p><p><b>  Calc2();</b></p><p>  m_sign = '/';</p><p><b>  }</b></p><p>  void CZjfDlg::OnB

35、utton18() </p><p><b>  {</b></p><p>  // TODO: Add your control notification handler code here</p><p><b>  Calc2();</b></p><p>  m_sign = '^

36、';</p><p><b>  }</b></p><p>  void CZjfDlg::OnButton13() </p><p><b>  {</b></p><p>  // TODO: Add your control notification handler code her

37、e</p><p>  if(equals)//通過運算符運算之后值</p><p><b>  {</b></p><p>  number1 = sqrt(number1);</p><p>  m_EDIT1.Format("%lg", number1);</p><p>

38、;<b>  }</b></p><p>  else//運算之前的值</p><p><b>  {</b></p><p>  number2 = sqrt(number2);</p><p>  m_EDIT1.Format("%lg", number2);</p&g

39、t;<p><b>  }</b></p><p>  UpdateData(FALSE);</p><p><b>  }</b></p><p>  void CZjfDlg::OnButton12() </p><p><b>  {</b></p&g

40、t;<p>  // TODO: Add your control notification handler code here</p><p>  number1 = 0;</p><p>  number2 = 0;</p><p>  nums = -1;</p><p>  num = false;</p>

41、<p>  point = false;</p><p>  equals = false;</p><p>  m_sign = '=';</p><p>  m_EDIT1.Format("%lg",number1);</p><p>  UpdateData(FALSE);</p&g

42、t;<p><b>  }</b></p><p>  void CZjfDlg::OnButton11() </p><p><b>  {</b></p><p>  // TODO: Add your control notification handler code here</p>&

43、lt;p>  if(equals)</p><p><b>  {</b></p><p>  if(point == true) m_EDIT1.Format("%lg", number1);</p><p><b>  else</b></p><p><b>

44、;  {</b></p><p>  m_EDIT1.Format("%lg", number1);</p><p>  m_EDIT1 += ".";</p><p><b>  }</b></p><p><b>  }</b></p&g

45、t;<p><b>  else</b></p><p><b>  {</b></p><p>  if(point == true) m_EDIT1.Format("%lg", number2);</p><p><b>  else</b></p>

46、<p><b>  {</b></p><p>  m_EDIT1.Format("%lg", number2);</p><p>  m_EDIT1 += ".";</p><p><b>  }</b></p><p><b>  }

47、</b></p><p>  point = true;</p><p>  UpdateData(FALSE);</p><p><b>  }</b></p><p><b>  實現(xiàn)按鈕:</b></p><p>  void CZjfDlg::Calc1(

48、)//按下數(shù)字鍵</p><p><b>  {</b></p><p>  switch(m_numb)</p><p><b>  {</b></p><p><b>  case 0:</b></p><p>  m_edit = 0;</p

49、><p><b>  break;</b></p><p><b>  case 1:</b></p><p>  m_edit = 1;</p><p><b>  break;</b></p><p><b>  case 2:</b&g

50、t;</p><p>  m_edit = 2;</p><p><b>  break;</b></p><p><b>  case 3:</b></p><p>  m_edit = 3;</p><p><b>  break;</b></

51、p><p><b>  case 4:</b></p><p>  m_edit = 4;</p><p><b>  break;</b></p><p><b>  case 5:</b></p><p>  m_edit = 5;</p>

52、<p><b>  break;</b></p><p><b>  case 6:</b></p><p>  m_edit = 6;</p><p><b>  break;</b></p><p><b>  case 7:</b><

53、;/p><p>  m_edit = 7;</p><p><b>  break;</b></p><p><b>  case 8:</b></p><p>  m_edit = 8;</p><p><b>  break;</b></p>

54、<p><b>  case 9:</b></p><p>  m_edit = 9;</p><p><b>  break;</b></p><p><b>  }</b></p><p>  if(equals)//如果按下等號鍵將其還原到初始值</p

55、><p><b>  {</b></p><p>  equals = false;</p><p>  num = false;</p><p><b>  }</b></p><p>  if(point)//如果現(xiàn)在輸入的是小數(shù)</p><p>&l

56、t;b>  {</b></p><p>  number2 = number2 + m_edit * pow(10, nums --);//乘以10的多少次方</p><p>  if(m_edit == 0)</p><p><b>  {</b></p><p>  if(nums == -2)//

57、0直接跟在小數(shù)點后面,如:1.0</p><p><b>  {</b></p><p>  m_EDIT1.Format("%lg", number2);</p><p>  m_EDIT1 += ".0";</p><p><b>  }</b></

58、p><p>  else//0不是直接跟在小數(shù)點后,如1.2304</p><p><b>  {</b></p><p>  m_EDIT1.Format("%lg", number2);</p><p>  m_EDIT1 += "0";</p><p>&

59、lt;b>  }</b></p><p><b>  }</b></p><p>  else m_EDIT1.Format("%lg", number2); </p><p><b>  }</b></p><p>  else//輸入的是整數(shù)<

60、/p><p><b>  {</b></p><p>  number2 = number2 * 10 + m_edit;</p><p>  m_EDIT1.Format("%lg", number2);</p><p><b>  }</b></p><p&g

61、t;  UpdateData(FALSE);</p><p><b>  }</b></p><p>  void CZjfDlg::Calc2()//按下運算符</p><p><b>  {</b></p><p>  if(!equals)//如果不是等號</p><p&g

62、t;<b>  {</b></p><p>  if(num)//如果是數(shù)字鍵則不做</p><p><b>  {</b></p><p>  switch(m_sign)</p><p><b>  {</b></p><p><b>  

63、case '+':</b></p><p>  number1 = number1 + number2;</p><p><b>  break;</b></p><p><b>  case '-':</b></p><p>  number1 = nu

64、mber1 - number2;</p><p><b>  break;</b></p><p><b>  case '*':</b></p><p>  number1 = number1 * number2;</p><p><b>  break;</b&g

65、t;</p><p><b>  case '/':</b></p><p>  if(number2 != 0)</p><p><b>  {</b></p><p>  number1 = number1 / number2;</p><p><b

66、>  }</b></p><p><b>  break;</b></p><p><b>  case '^':</b></p><p>  number1 = number1 * number1;</p><p><b>  break;</b&

67、gt;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  number1 = number2;&

68、lt;/p><p>  num = true;</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p>

69、<p>  equals = false;</p><p><b>  }</b></p><p>  if(m_sign == '/' && number2 == 0) m_EDIT1 = "除數(shù)不能為零!";</p><p>  else m_EDIT1.Format(&quo

70、t;%lg", number1);</p><p>  number2 = 0;</p><p>  point = false;</p><p>  nums = -1;</p><p>  UpdateData(FALSE);</p><p><b>  }</b></p>

71、;<p><b>  結(jié)束語</b></p><p>  4.1 系統(tǒng)應(yīng)用前景</p><p>  隨著21世紀的到來,信息化時代已經(jīng)向我們走來,這個時代的最重要的標(biāo)志就是計算機的廣泛應(yīng)用。如今社會上計算機應(yīng)用已經(jīng)達到非常普及的程度,隨處都可以見到計算機的身影。我們也熟悉了在社會各處遇見它們的環(huán)境,學(xué)校的機房,金融場所,以及到處可見的網(wǎng)吧,計算機如水銀般

72、無孔不入。我們甚至?xí)岩捎嬎銠C還將向哪里深入,還將控制哪個地方。當(dāng)然這前景依然是樂觀的。</p><p>  計算機的發(fā)展歷程:現(xiàn)在的計算機是由早期的電動計算器發(fā)展而來的。1945年,世界上出現(xiàn)了第一臺電子數(shù)字計算機“ENIAC”,用于計算彈道。是由美國賓夕法尼亞大學(xué)莫爾電工學(xué)院制造的,但它的體積龐大,占地面積170多平方米,重量約30噸,消耗近100千瓦的電力。顯然,這樣的計算機成本很高,使用不便。1956年,

73、晶體管電子計算機誕生了,這是第二代電子計算機。只要幾個大一點的柜子就可將它容下,運算速度也大大地提高了。1959年出現(xiàn)的是第三代集成電路計算機。從20世紀70年代開始,這是電腦發(fā)展的最新階段。整理76年,由大規(guī)模集成電路和超大規(guī)模集成電路制成的“克雷一號”,使電腦進入了第四代。超大規(guī)模集成電路的發(fā)明,使電子計算機不斷向著 小型化、微型化、低功耗、智能化、系統(tǒng)化的方向更新?lián)Q代。20世紀90年代,電腦向“智能”方向發(fā)展,制造出與人腦相似的電

74、腦,可以進行思維、學(xué)習(xí)、記憶、網(wǎng)絡(luò)通信等工作。 進入21世紀,電腦更是筆記本化、微型化和專業(yè)化,每秒運算速度超過100萬次,不但操作簡易、價格便宜,而且可以代替人們的部分腦力勞動,甚至在某些方面擴展了人的智能。于是,今天的微型電子計算機就被形象地稱做電腦</p><p><b>  4.2 不足與改進</b></p><p>  該計算器無法進行高級的運算,因為編程能

75、力有限,在調(diào)試時錯誤也是很多,雖然完成了所要求的操作,但是還遠遠沒達到一只合格計算器的要求,就此而言,要加強自己的編程能力與調(diào)試能力,以致能做出一只更完美的計算器。</p><p><b>  4.3 體會</b></p><p>  通過本次C++的課程設(shè)計使得我對C++語言有了更深一步的了解,在計算器的制作過程中,學(xué)習(xí)到了基本的C++編程方法,提高了自己的實踐能

76、力。雖然課程設(shè)計完成了,但程序還存在一點小問題,希望以后能將這些問題妥善解決。加強面向?qū)ο蟮乃枷氲牧私?,提高C++編程的基礎(chǔ),通過不斷的學(xué)習(xí)和實踐來進一步掌握C++語言。</p><p><b>  5.參考文獻</b></p><p>  [1]張福祥. C++語言程序設(shè)計[M]. 遼寧大學(xué)出版社,2008.1[2] 張福祥,王萌.C++語言程序設(shè)計習(xí)題解答與實驗

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論