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

下載本文檔

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

文檔簡介

1、<p>  課 程 設(shè) 計 說 明 書</p><p>  題 目: GPA計算器的設(shè)計 </p><p>  課 程: VC++程序設(shè)計基礎(chǔ)課程設(shè)計 </p><p>  院 (部): </p><

2、;p>  專 業(yè): </p><p>  班 級: </p><p>  學生姓名: </p><p>  學 號:

3、 </p><p>  指導教師: </p><p>  完成日期: </p><p><b>  目 錄</b></p>

4、<p>  摘要··································&

5、#183;····································

6、;·································II</p><p&g

7、t;  正文···································

8、3;····································&#

9、183;································1</p><p>  

10、1 設(shè)計目的···································

11、3;····································&#

12、183;·······················1</p><p>  2 設(shè)計要求········

13、····································

14、3;····································&#

15、183;··············1</p><p>  3 設(shè)計內(nèi)容·················

16、····································

17、3;····································&#

18、183;·····1</p><p>  3.1系統(tǒng)分析··························

19、;····································

20、83;······························1</p><p>  3.2項目創(chuàng)建·

21、····································

22、3;····································&#

23、183;··················2</p><p>  3.3界面設(shè)計·············

24、;····································

25、83;····································&

26、#183;······3</p><p>  3.4代碼實現(xiàn)························

27、3;····································&#

28、183;·······························5</p><p>  3.4.1添

29、加菜單控制····································

30、;····································

31、83;··········5</p><p>  3.4.2添加分數(shù)存儲代碼····················

32、····································

33、3;····················6</p><p>  3.4.3添加功能函數(shù)代碼··········&

34、#183;····································

35、;······························7</p><p>  3.4.4添加控件事件代碼&#

36、183;····································

37、····································

38、3;··11</p><p>  3.4.5設(shè)置界面外觀····························&#

39、183;····································

40、·················13</p><p>  3.5設(shè)計結(jié)果及使用說明·············

41、83;····································&

42、#183;··························14</p><p>  總結(jié)與致謝 ····

43、3;····································&#

44、183;····································

45、···············17</p><p>  參考文獻 ················

46、3;····································&#

47、183;····································

48、······18</p><p>  附錄 ··························

49、····································

50、3;····································&#

51、183;··19</p><p><b>  摘 要</b></p><p>  GPA英語全稱是Grade Point Average,意思就是平均成績點數(shù)(平均分數(shù)、平均績點),美國的GPA滿分是4分,即A=4,B=3,C=2, D=1。GPA的精確度往往達到小數(shù)點后1到2位,如:3.0、3.45。</p><p>  

52、GPA的計算一般是將每門課程的成績乘以學分,加起來以后除以總的學分,得出平均分。中國高校的分數(shù)設(shè)置最常見的為五分制或四分制,具體的折合方式視各個學校規(guī)定而有所不同。一般來講,百分制中的90分以上可視為4分,80分以上為3分,70分以上為2分,60分以上為1分,五分制中的5分為4分,4分為3分,3分為2分,2分為1分。</p><p>  關(guān)鍵詞:GPA;VC++;MFC;控件;</p><p&

53、gt;<b>  正 文</b></p><p><b>  1 設(shè)計目的</b></p><p>  GPA,意思是成績點數(shù)與學分的加權(quán)平均值。GPA對于申請留學而言,是所有硬件條件中最為重要的。我國大學成績一般是百分制,而在美國90%的學校成績的計算方法為4分制,我國學生在申請留學美國時,就應(yīng)將自己原先的成績轉(zhuǎn)換成要申請學校的GPA。<

54、/p><p>  GPA計算器的出現(xiàn),是為了方便學生進行GPA換算。</p><p><b>  2 設(shè)計要求</b></p><p>  設(shè)計GPA計算器實現(xiàn)以下功能:</p><p>  (1)學生成績可以由文件導入。</p><p>  (2)獲GPA標準可以選擇,也可以手動輸入。</p&

55、gt;<p>  (3) GPA的計算過程易于監(jiān)督控制。</p><p>  (4) 計算結(jié)果的可讀性強。</p><p><b>  3 設(shè)計內(nèi)容</b></p><p><b>  3.1系統(tǒng)分析</b></p><p>  本次設(shè)計要求導入成績文件,還涉及文件的輸入輸出控制,界面

56、操作相對頻繁,所以對對話框的控件的編程有一定的要求。為了使本次設(shè)計更加方便,不容易出錯誤,設(shè)計時應(yīng)注意:使界面人性化,這樣可以減少用戶的誤操作提高程序的健壯性;界面人性化一般要通過屏蔽當前無效的界面和信息來實現(xiàn)的。</p><p>  系統(tǒng)設(shè)計通過VC6.0來實現(xiàn),用到了龐大的MFC庫。MFC庫支持三種不同應(yīng)用程序:單文檔、多文檔和基于對話框。本次課程設(shè)計用到的是基于對話框的這種情況。這些應(yīng)用程序模型為我們提供了

57、統(tǒng)一的編程方法和界面基礎(chǔ)。</p><p>  GPA計算器可以簡單地分為三個模塊,如下圖1所示。</p><p><b>  3.2項目創(chuàng)建</b></p><p>  1、在Visual c++中,新建MFC AppWizard(exe),命名為GPACalculator。如圖2所示。</p><p>  圖2單文檔

58、工程的創(chuàng)建</p><p>  2、在MFC AppWizard第一步中設(shè)置應(yīng)用程序的類型為基本對話模式,然后單擊“確定”按鈕,應(yīng)用程序GPACalculator就建立了。如圖3和圖4所示。</p><p>  圖3基本對話框類型選擇</p><p><b>  圖4新建工程信息</b></p><p><b>

59、;  3.3界面設(shè)計</b></p><p>  打開對話框資源,為各個控件添加ID,進行屬性設(shè)計;添加完控件后,打開ClassWizard,針對IDD_GPACALCULATOR_DIALOG所指向的類CCPACalculatorDlg,為該類添加成員變量。</p><p>  (1)打開對話框資源IDD_GPACALCULATOR_DIALOG,該對話框是程序運行時的主界面

60、,按要求完成控件的添加。例如,組框的添加及屬性設(shè)置如圖5所示。其它控件包括按鈕、靜態(tài)文本框、編輯框、組合框、列表框等的添加與此類似。控件添加完成后效果圖如圖6所示。控件列表見附錄1。</p><p>  圖5 控件屬性設(shè)置</p><p>  圖6 控件添加完成效果圖</p><p>  (2)通過類向?qū)镃CPACalculatorDlg類添加成員變量。為所有

61、的控件添加成員變量。例如控件IDC_EDIT_01的成員變量的添加如圖7所示。成員變量列表見附錄2。</p><p>  圖7 控件的成員變量添加舉例 </p><p><b>  3.4代碼實現(xiàn)</b></p><p>  3.4.1添加菜單控制</p><p> ?。?)制作菜單資源。在‘GPACalcularor

62、 resources’文件夾下建立一個‘Menu’文件。如圖8所示。</p><p>  圖8 Menu文件的添加</p><p>  為Menu文件添加文件、幫助兩個菜單,再為文件添加一個‘退出’菜單,為幫助添加使用‘使用說明’、‘關(guān)于’兩個菜單。并設(shè)置菜單的屬性,為其設(shè)置ID和標明。菜單資源如下圖9所示。菜單項目屬性設(shè)置如圖10所示。</p><p><

63、b>  圖9 菜單資源</b></p><p>  圖10 菜單項目屬性設(shè)置</p><p>  (2)裝載菜單。如圖11所示。</p><p>  圖11 菜單的裝載</p><p><b>  (3)添加菜單代碼</b></p><p>  通過“建立類向?qū)А?,分別為

64、退出、使用說明、關(guān)于菜單添加響應(yīng)函數(shù),代碼如下:</p><p>  void CGPACalculatorDlg::OnMenuitemExit() </p><p><b>  {</b></p><p>  // TODO: Add your command handler code here</p><p>  

65、DestroyWindow();</p><p>  void CGPACalculatorDlg::OnMenuitemMan() </p><p><b>  {</b></p><p>  // TODO: Add your command handler code here</p><p>  WinExec(&

66、quot;notepad.exe EXPLAIN.HEP",SW_SHOW);</p><p><b>  }</b></p><p>  void CGPACalculatorDlg::OnMenuitemAbout() </p><p><b>  {</b></p><p>  //

67、 TODO: Add your command handler code here</p><p>  CAboutDlg dlg;</p><p>  dlg.DoModal();</p><p><b>  }</b></p><p>  3.4.2添加分數(shù)存儲代碼</p><p>  分數(shù)是

68、由磁盤文件導入的,在程序中應(yīng)該有相應(yīng)的內(nèi)存存儲結(jié)構(gòu)來存儲分數(shù),當需要用分數(shù)來進行計算等操作時,則從這個存儲結(jié)構(gòu)中讀出。當磁盤文件內(nèi)容變化時,則應(yīng)更新這個存儲結(jié)構(gòu)。</p><p> ?。?)在類選項卡下,點擊‘CGPACalculatorDlg’在其中加入如下結(jié)構(gòu)代碼。</p><p>  typedef struct stScore</p><p><b&g

69、t;  {</b></p><p>  double dOPoint; //原始分</p><p>  double dSPoint; //標準分</p><p>  double dNum; //學分</p><p><b> ?。齭tScore;</b></p><p> ?。?/p>

70、2)通常在MFC編程中,為了使用集合、數(shù)組類,要在StdAfx.h中加入下面語句:#include<afxtempl.h>。</p><p>  在文件選項卡下,雙擊‘Header Files -> StdAfx.h’,在其中加入以下頭文件:#include<afxtempl.h></p><p> ?。?)在類選項卡下,雙擊‘CGPACalculator

71、Dlg’加入私有對象‘a(chǎn)rScore’,用作分數(shù)存儲。代碼如下:</p><p><b>  private:</b></p><p>  CArray<stScore,stScore&>arScore;</p><p>  3.4.3添加功能函數(shù)代碼</p><p>  (1)添加GetSDPoin

72、t函數(shù)。</p><p>  在‘CGPACalculatorDlg’中進行函數(shù)的定義:</p><p><b>  private:</b></p><p>  double GetSDPoint(double dPoint);</p><p>  在‘CAboutDlg’中添加函數(shù)的代碼如下:</p>

73、<p>  double CGPACalculatorDlg::GetSDPoint(double dPoint)</p><p><b>  {</b></p><p>  UpdateData();</p><p>  CArray<double,double&> arOPoint;</p>&l

74、t;p>  CArray<double,double&> arSPoint;</p><p>  arOPoint.Add(m_dO1);</p><p>  arOPoint.Add(m_dO2);</p><p>  arOPoint.Add(m_dO3);</p><p>  arOPoint.Add(m_dO

75、4);</p><p>  arOPoint.Add(m_dO5);</p><p>  arOPoint.Add(m_dO6);</p><p>  arOPoint.Add(m_dO7);</p><p>  arOPoint.Add(m_dO8);</p><p>  arSPoint.Add(m_dS1);&l

76、t;/p><p>  arSPoint.Add(m_dS2);</p><p>  arSPoint.Add(m_dS3);</p><p>  arSPoint.Add(m_dS4);</p><p>  arSPoint.Add(m_dS5);</p><p>  arSPoint.Add(m_dS6);</p&

77、gt;<p>  arSPoint.Add(m_dS7);</p><p>  if(dPoint>=arOPoint[0])</p><p>  return arSPoint[0];</p><p>  for(int i=0;i<arOPoint.GetSize();i++)</p><p><b>

78、  {</b></p><p>  if(dPoint>=arOPoint[i])</p><p>  return arSPoint[i-1];</p><p><b>  }</b></p><p><b>  return 0;</b></p><p>

79、;<b>  }</b></p><p>  (2)添加SpliterString函數(shù)。</p><p>  分數(shù)文件是以‘原始分 學分’的方式給出的,需要一個功能函數(shù)來將這個字符串拆分成兩個double型的原始分和學分。函數(shù)定義如下:</p><p>  void SpliterString(CString str,double &a

80、,double &b);</p><p><b>  函數(shù)代碼如下:</b></p><p>  void CGPACalculatorDlg::SpliterString(CString str, double &a, double &b)</p><p><b>  {</b></p>

81、;<p>  CString strOne,strTwo;</p><p>  int ifind;</p><p>  str.TrimLeft(' ');</p><p>  str.TrimRight(' ');</p><p>  ifind=str.Find(' ');&

82、lt;/p><p>  strOne=str.Left(ifind);</p><p>  strTwo=str.Right(str.GetLength()-ifind-1);</p><p>  a=atof(LPCTSTR(strOne));</p><p>  b=atof(LPCTSTR(strTwo));</p><

83、p><b>  }</b></p><p> ?。?)添加GatherData函數(shù)。</p><p>  這個函數(shù)的作用是將分數(shù)文件的信息導入到分數(shù)存儲及結(jié)構(gòu),當m_sPathName=“”,即無分數(shù)文件時,則導入失敗。</p><p><b>  定義如下:</b></p><p>  vo

84、id GatherData();</p><p><b>  代碼如下:</b></p><p>  void CGPACalculatorDlg::GatherData()</p><p><b>  {</b></p><p>  CString str;</p><p&g

85、t;  stScore temp;</p><p>  if(m_sPathName=="")</p><p><b>  return;</b></p><p>  arScore.RemoveAll();</p><p>  CFile file(m_sPathName,CFile::modeRe

86、ad);</p><p>  CArchive ar(&file,CArchive::load);</p><p>  ar.ReadString(str);</p><p>  while(str!="")</p><p><b>  {</b></p><p>  

87、SpliterString(str,temp.dOPoint,temp.dNum);</p><p>  temp.dSPoint=GetSDPoint(temp.dOPoint);</p><p>  arScore.Add(temp);</p><p>  ar.ReadString(str);</p><p><b>  };

88、</b></p><p><b>  }</b></p><p> ?。?)添加ChangeType函數(shù)。</p><p>  可以實現(xiàn)根據(jù)不同的輸入值,轉(zhuǎn)變成不同的參比標準。</p><p><b>  定義如下:</b></p><p>  void Chan

89、geType(int nType);</p><p><b>  代碼如下:</b></p><p>  void CGPACalculatorDlg::ChangeType(int nType)</p><p><b>  {</b></p><p>  switch(nType)</p&g

90、t;<p><b>  {</b></p><p><b>  case 0:</b></p><p><b>  case 4:</b></p><p>  m_dS1=m_dS2=m_dS3=m_dS4=m_dS5=m_dS6=m_dS7=0;</p><p>

91、;  m_dO1=m_dO2=m_dO3=m_dO4=m_dO5=m_dO6=m_dO7=m_dO8=0;</p><p><b>  break;</b></p><p><b>  case 1:</b></p><p><b>  m_dS1=4;</b></p><p&

92、gt;<b>  m_dS2=3;</b></p><p><b>  m_dS3=2;</b></p><p><b>  m_dS4=1;</b></p><p>  m_dS5=m_dO6=m_dO7=0;</p><p>  m_dO1=100;</p>

93、<p><b>  m_dO2=90;</b></p><p><b>  m_dO3=80;</b></p><p><b>  m_dO4=70;</b></p><p><b>  m_dO5=60;</b></p><p>  m_dO6

94、=m_dO7=m_dO8=0;</p><p><b>  break;</b></p><p><b>  case 2:</b></p><p>  m_dS1=4.3;</p><p><b>  m_dS2=4;</b></p><p>  m_

95、dS3=3.7;</p><p>  m_dS4=3.3;</p><p>  m_dS5=3.0;</p><p>  m_dO6=2.7;</p><p>  m_dO7=2.3;</p><p>  m_dO1=100;</p><p><b>  m_dO2=90;</b

96、></p><p><b>  m_dO3=85;</b></p><p><b>  m_dO4=80;</b></p><p><b>  m_dO5=75;</b></p><p><b>  m_dO6=70;</b></p>

97、<p><b>  m_dO7=65;</b></p><p><b>  m_dO8=60;</b></p><p><b>  break;</b></p><p><b>  case 3:</b></p><p><b>  m

98、_dS1=4;</b></p><p><b>  m_dS2=3;</b></p><p><b>  m_dS3=2;</b></p><p>  m_dS4=m_dS5=m_dO6=m_dO7=0;</p><p>  m_dO1=100;</p><p>

99、<b>  m_dO2=85;</b></p><p><b>  m_dO3=70;</b></p><p><b>  m_dO4=60;</b></p><p>  m_dO5=m_dO6=m_dO7=m_dO8=0;</p><p><b>  break;&

100、lt;/b></p><p><b>  }</b></p><p><b>  }</b></p><p>  (5)添加SetEditRead函數(shù)。</p><p>  輸入為‘真’時,參比標準的編輯框?qū)⒈辉O(shè)為只讀模式,而輸入為‘假’時,參比標準的編輯框?qū)⒈辉O(shè)為可寫模式。</p>

101、;<p><b>  定義如下:</b></p><p>  void SetEditRead(bool bReadOnly);</p><p><b>  代碼如下:</b></p><p>  void CGPACalculatorDlg::SetEditRead(bool bReadOnly)</

102、p><p><b>  {</b></p><p>  ((CEdit *)GetDlgItem(IDC_EDIT_S1))->SetReadOnly(bReadOnly);</p><p>  ((CEdit *)GetDlgItem(IDC_EDIT_S2))->SetReadOnly(bReadOnly);</p>

103、<p>  ((CEdit *)GetDlgItem(IDC_EDIT_S3))->SetReadOnly(bReadOnly);</p><p>  ((CEdit *)GetDlgItem(IDC_EDIT_S4))->SetReadOnly(bReadOnly);</p><p>  ((CEdit *)GetDlgItem(IDC_EDIT_S5))->

104、SetReadOnly(bReadOnly);</p><p>  ((CEdit *)GetDlgItem(IDC_EDIT_S6))->SetReadOnly(bReadOnly);</p><p>  ((CEdit *)GetDlgItem(IDC_EDIT_S7))->SetReadOnly(bReadOnly);</p><p>  ((CE

105、dit *)GetDlgItem(IDC_EDIT_O1))->SetReadOnly(bReadOnly);</p><p>  ((CEdit *)GetDlgItem(IDC_EDIT_O2))->SetReadOnly(bReadOnly);</p><p>  ((CEdit *)GetDlgItem(IDC_EDIT_O3))->SetReadOnly(bRe

106、adOnly);</p><p>  ((CEdit *)GetDlgItem(IDC_EDIT_O4))->SetReadOnly(bReadOnly);</p><p>  ((CEdit *)GetDlgItem(IDC_EDIT_O5))->SetReadOnly(bReadOnly);</p><p>  ((CEdit *)GetDlgIte

107、m(IDC_EDIT_O6))->SetReadOnly(bReadOnly);</p><p>  ((CEdit *)GetDlgItem(IDC_EDIT_O7))->SetReadOnly(bReadOnly);</p><p>  ((CEdit *)GetDlgItem(IDC_EDIT_O8))->SetReadOnly(bReadOnly);</p&

108、gt;<p><b>  }</b></p><p>  3.4.4添加控件事件代碼</p><p><b> ?。?)組合框。</b></p><p>  通過組合框(IDC_COMBO_STANDARD)可以選擇不同的參比標準,相應(yīng)的編輯框會隨著組合框的選擇不同而隨之改變。添加的處理函數(shù)如下:</p

109、><p>  void CGPACalculatorDlg::OnSelchangeComboStandard() </p><p><b>  {</b></p><p>  // TODO: Add your control notification handler code here</p><p>  int nIn

110、dex=m_cmbStandard.GetCurSel();</p><p>  if(4==nIndex)</p><p>  SetEditRead(false);</p><p><b>  else</b></p><p>  SetEditRead(true);</p><p>  Ch

111、angeType(nIndex);</p><p>  UpdateData(false);</p><p><b>  }</b></p><p> ?。?)[瀏覽]按鈕。</p><p>  單擊該按鈕可以彈出‘打開’對話框以供選擇打開磁盤上的分數(shù)文件。添加的處理函數(shù)如下:</p><p> 

112、 void CGPACalculatorDlg::OnButtonOpen() </p><p><b>  {</b></p><p>  CFileDialog fdlg(true, NULL, NULL, OFN_OVERWRITEPROMPT, "成績文件|*.dat;*.txt|", NULL);</p><p>

113、  if(fdlg.DoModal()==IDOK){</p><p>  m_sPathName=fdlg.GetPathName();</p><p><b>  }</b></p><p>  UpdateData(false);</p><p>  // TODO: Add your control notifi

114、cation handler code here</p><p><b>  }</b></p><p>  (3)[統(tǒng)計]按鈕。</p><p>  單擊該按鈕計算各項參數(shù)值,并可以把分數(shù)顯示在列表框。添加的處理函數(shù)如下:</p><p>  void CGPACalculatorDlg::OnButtonOk() &

115、lt;/p><p><b>  {</b></p><p>  double dGPAall=0;</p><p>  double dAvgall=0;</p><p>  GatherData();</p><p><b>  int i=0;</b></p>

116、<p>  int size=arScore.GetSize();</p><p>  if(size==0)</p><p><b>  {</b></p><p><b>  return;</b></p><p><b>  }</b></p>&

117、lt;p>  m_ListScore.ResetContent();</p><p>  m_ListScore.AddString("序號 成績 學分 標準");</p><p>  m_ListScore.AddString("---------------------------");</p><p&g

118、t;  m_dTotal=0;</p><p>  while(i<size)</p><p><b>  {</b></p><p>  CString str;</p><p>  m_dTotal+=arScore.GetAt(i).dNum;</p><p>  dGPAall+=a

119、rScore.GetAt(i).dSPoint*arScore.GetAt(i).dNum;</p><p>  dAvgall+=arScore.GetAt(i).dOPoint*arScore.GetAt(i).dNum;</p><p>  str.Format("%d %0.2f %0.2f %0.2f",i+1,arScore.GetAt(i).dOPo

120、int,arScore.GetAt(i).dNum,arScore.GetAt(i).dSPoint);</p><p><b>  i++;</b></p><p>  m_ListScore.AddString(str);</p><p><b>  }</b></p><p>  m_strG

121、PA.Format("%.2f",dGPAall/m_dTotal);</p><p>  m_strAverage.Format("%.2f",dAvgall/m_dTotal);</p><p>  UpdateData(false);</p><p><b>  }</b></p>&

122、lt;p>  3.4.5設(shè)置界面外觀</p><p>  如果對界面的外觀不滿意,可以截取消息加以控制。本程序截取‘WM_CTCOLOR’函數(shù)來達到修改控件外觀眼色的目的。添加的函數(shù)代碼如下:</p><p>  HBRUSH CGPACalculatorDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) </p>

123、<p><b>  {</b></p><p>  HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);</p><p>  // TODO: Change any attributes of the DC here</p><p>  switch(pWnd->Get

124、DlgCtrlID())</p><p><b>  {</b></p><p>  case IDC_EDIT_S1:</p><p>  case IDC_EDIT_S2:</p><p>  case IDC_EDIT_S3:</p><p>  case IDC_EDIT_S4:</

125、p><p>  case IDC_EDIT_S5:</p><p>  case IDC_EDIT_S6:</p><p>  case IDC_EDIT_S7:</p><p>  case IDC_EDIT_O1:</p><p>  case IDC_EDIT_O2:</p><p>  ca

126、se IDC_EDIT_O3:</p><p>  case IDC_EDIT_O4:</p><p>  case IDC_EDIT_O5:</p><p>  case IDC_EDIT_O6:</p><p>  case IDC_EDIT_O7:</p><p>  case IDC_EDIT_O8:</

127、p><p>  pDC->SetBkColor(RGB(255,255,255));</p><p>  pDC->SetTextColor(RGB(0,0,255));</p><p><b>  break;</b></p><p>  case IDC_LIST_SCORE:</p><

128、p>  pDC->SetBkColor(RGB(255,255,255));</p><p>  pDC->SetTextColor(RGB(0,0,255));</p><p><b>  break;</b></p><p>  case IDC_EDIT_AVERAGE:</p><p>  ca

129、se IDC_EDIT_GPA:</p><p>  case IDC_EDIT_TOTAL:</p><p>  pDC->SetBkColor(RGB(255,255,255));</p><p>  pDC->SetTextColor(RGB(255,0,255));</p><p><b>  }</b&g

130、t;</p><p>  // TODO: Return a different brush if the default is not desired</p><p>  return hbr;</p><p><b>  }</b></p><p>  3.5設(shè)計結(jié)果及使用說明</p><p>

131、;  (1) GPA計算器對要計算的分數(shù)和學分采用文件的形式輸入。在計算前把要計算的所有成績和學分按照下面的格式存放在一個文本文件中:</p><p>  [spaces]課程成績< spaces >學分數(shù)[spaces]</p><p>  (2) GPA計算器提供了幾種GPA參考分數(shù)標準,可通過下拉列表選擇。若程序中提供的標準不能滿足需要的話,可選擇“用戶自定義”,自行定義

132、所需的標準。</p><p>  (3) 選好分數(shù)文件和參比標準后,單擊【統(tǒng)計】按鈕即可求出相應(yīng)的加權(quán)平均分、GPA及總學分等。程序會現(xiàn)實分數(shù)文件中的分數(shù),可據(jù)此核對計算結(jié)果是否正確。</p><p>  程序運行結(jié)果如圖12、13、14、15所示。</p><p>  圖12 無參比標準GPA計算器運行結(jié)果</p><p>  圖13

133、4.0標準算法下GPA計算器運行結(jié)果</p><p>  圖14 4.3標準算法下GPA計算器運行結(jié)果</p><p>  圖15 用戶自定義下GPA計算器運行結(jié)果</p><p><b>  總結(jié)與致謝</b></p><p>  本次課程設(shè)計設(shè)計了一個GPA計算器,能夠用它來簡單地計算GPA成績,加權(quán)平均分等。實

134、驗結(jié)構(gòu)可讀性強,設(shè)計簡單,操作方便,基本上完成了實驗任務(wù):即學生成績可以由文件導入,獲GPA標準可以選擇,也可以手動輸入, GPA的計算過程易于監(jiān)督控制,計算結(jié)果的可讀性強,達到了本次課程設(shè)計的要求。</p><p>  這次課程設(shè)計讓我學到了很多,不僅是鞏固了先前學的MFC程序設(shè)計知識,而且也培養(yǎng)了我的動手能力,更令我的創(chuàng)造性思維得到拓展。</p><p>  當然,在這次課程設(shè)計中,我

135、看到了自己的不足之處,也說明了我們在往日的學習中學得不扎實,只有更好地學習,逐步提高理論知識,才能更好地實踐,在資料的查詢過程中我也學到了很多的東西,極大地拓寬了我的知識面,也提高了我的綜合素質(zhì)。</p><p>  在設(shè)計的過程和設(shè)計說明書的撰寫過程中,老師給予了我熱心的幫助和大力的支持,給我提了諸多的寶貴意見,拓寬了我的思路。在此我向老師致以崇高的敬意和衷心的感謝!</p><p>&

136、lt;b>  參考文獻</b></p><p>  [1]張宏軍、黨留群、趙天巨.Visual C++ 6.0編程案例精解.北京:電子工業(yè)出版社,2005</p><p>  [2] 張建宏,湯練兵,馬德駿.計算機程序設(shè)計基礎(chǔ)-C語言程序設(shè)計,科學出版社,2006</p><p>  [3] 陳維興、陳昕、林小茶.C++面向?qū)ο蟪绦蛟O(shè)計習題解答與

137、實驗指導.清華大學出版社,2005</p><p>  [4] 陳維興、林小茶,C++面向?qū)ο蟪绦蛟O(shè)計教程.清華大學出版社</p><p>  [5] 陳清華.Visual C++課程設(shè)計案例精選與編程指導.東南大學出版社,2004</p><p>  [6] 劉振安、劉燕君、孫忱.C++語言課程設(shè)計.機械工業(yè)出版社,2007</p><p>

138、;  [7]嚴華峰. Visual C++課程設(shè)計案例精編. 北京:中國水利水電出版社,2002</p><p>  [8] 鄭阿奇、丁有和.Visual C++教程.北京:機械工業(yè)出版社,2006</p><p>  [9] 譚浩強.C語言程序設(shè)計.清華大學出版社,2000</p><p>  [10] 揣錦華.面向?qū)ο蟪绦蛟O(shè)計與VC++實踐.西安電子科技大學出

溫馨提示

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

評論

0/150

提交評論