vc++課程設(shè)計(jì)報(bào)告--簡(jiǎn)單科學(xué)計(jì)算器設(shè)計(jì)_第1頁(yè)
已閱讀1頁(yè),還剩18頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  VC++課程設(shè)計(jì)報(bào)告</p><p><b>  簡(jiǎn)單科學(xué)計(jì)算器設(shè)計(jì)</b></p><p>  姓 名 : </p><p>  學(xué) 號(hào) : </p><p>  學(xué) 院 : 計(jì)算機(jī)學(xué)院 </p><

2、;p>  班 級(jí) : </p><p>  日 期 : 2012-03-27 </p><p><b>  目 錄</b></p><p><b>  一、設(shè)計(jì)任務(wù)1</b></p><p><b>  1、選題意義1</

3、b></p><p><b>  2、設(shè)計(jì)目標(biāo)1</b></p><p>  二、程序設(shè)計(jì)與實(shí)現(xiàn)1</p><p><b>  1、程序結(jié)構(gòu)1</b></p><p><b>  2、設(shè)計(jì)步驟3</b></p><p><b> 

4、 3、詳細(xì)設(shè)計(jì)4</b></p><p> ?。?)、計(jì)算器界面4</p><p>  (2)、主要代碼4</p><p>  (3)、函數(shù)功能說(shuō)明16</p><p>  三、設(shè)計(jì)難點(diǎn)與解決方法17</p><p>  四、設(shè)計(jì)效果與不足之處18</p><p>  1

5、、程序效果圖18</p><p><b>  2、不足之處18</b></p><p><b>  五、學(xué)習(xí)體會(huì)18</b></p><p><b>  設(shè)計(jì)任務(wù)</b></p><p><b>  選題意義</b></p><p

6、>  此題選擇意義在于引導(dǎo)學(xué)生學(xué)會(huì)設(shè)計(jì)簡(jiǎn)單的科學(xué)計(jì)算器,進(jìn)一步掌握Visual C++應(yīng)用程序。統(tǒng)地學(xué)習(xí)面向?qū)ο缶幊趟枷?,了解MFC架構(gòu),逐步熟悉可視化編程環(huán)境Visual C++,并在此環(huán)境下設(shè)計(jì)并實(shí)現(xiàn)一個(gè)簡(jiǎn)單計(jì)算器系統(tǒng)。該計(jì)算器應(yīng)能實(shí)現(xiàn)如下功能: 1)、二進(jìn)制、八進(jìn)制、十進(jìn)制及十六進(jìn)制數(shù)的加、減、乘、除、乘方等簡(jiǎn)單計(jì)算 2)、科學(xué)計(jì)算函數(shù),包括正弦、余弦、正切、余切、開(kāi)方、對(duì)數(shù)、指數(shù)等函數(shù)運(yùn)算 3)、具備歷史計(jì)算的記憶功能。&

7、lt;/p><p><b>  設(shè)計(jì)目標(biāo)</b></p><p>  使計(jì)算器含有以下功能:</p><p> ?。?)、基本運(yùn)算功能:可以進(jìn)行加、減、乘、除等基本運(yùn)算。</p><p>  (2)、數(shù)制轉(zhuǎn)換功能:可以一次完成二進(jìn)制轉(zhuǎn)十進(jìn)制、十進(jìn)制轉(zhuǎn)二進(jìn)制、八進(jìn)制轉(zhuǎn)二進(jìn)制等運(yùn)算。</p><p>  

8、(3)、三角函數(shù)運(yùn)算功能:可以一次完成三角函數(shù)之間的計(jì)算,求正弦函數(shù)(sin)、余弦函數(shù)(cos)、正切函數(shù)(tan)、余切函數(shù)(cot)等函數(shù)的值。</p><p>  (4)、對(duì)數(shù)、指數(shù)運(yùn)算功能:可以一次求的對(duì)數(shù)函數(shù)(log、ln)、指數(shù)函數(shù)(exp)等函數(shù)的運(yùn)算。</p><p>  (5)、刪除功能:可以在輸入錯(cuò)誤時(shí)刪除已輸入的數(shù)值。</p><p>  (

9、6)、歸零功能:可以在計(jì)算完成后清空編輯框中的已有數(shù)值。</p><p><b>  程序設(shè)計(jì)與實(shí)現(xiàn)</b></p><p><b>  程序結(jié)構(gòu)</b></p><p>  本計(jì)算器首先是通過(guò)在計(jì)算器的界面上按下相應(yīng)的按鈕,來(lái)進(jìn)行基本的加,減,乘,除等基本運(yùn)算,計(jì)算器還能夠進(jìn)行平方運(yùn)算,求平方根運(yùn)算,乘方運(yùn)算,三角函數(shù)運(yùn)

10、算(包括正弦函數(shù)(sin)、余弦函數(shù)(cos)、正切函數(shù)(tan)、余切函數(shù)(cot)),對(duì)數(shù)函數(shù)(ln、log),指數(shù)函數(shù)(exp),冪函數(shù)(x~)和進(jìn)制轉(zhuǎn)換(包括二進(jìn)制轉(zhuǎn)十進(jìn)制、十進(jìn)制轉(zhuǎn)二進(jìn)制和八進(jìn)制轉(zhuǎn)二進(jìn)制)等運(yùn)算。</p><p>  以下是本計(jì)算器的運(yùn)算流程圖:</p><p>  二進(jìn)制轉(zhuǎn)十進(jìn)制N-S流程圖:</p><p>  十進(jìn)制轉(zhuǎn)二進(jìn)制N-S流程

11、圖:</p><p><b>  設(shè)計(jì)步驟:</b></p><p>  創(chuàng)建一個(gè)基于對(duì)話框的應(yīng)用程序。</p><p>  利用資源編輯器編輯對(duì)話框資源,及設(shè)計(jì)計(jì)算器界面并修改對(duì)話框各按鈕的ID屬性和Caption屬性。</p><p>  利用ClassWizard為各按鈕添加消息映射(代碼在下面詳細(xì)介紹)。<

12、/p><p>  設(shè)置對(duì)話框文本背景顏色。</p><p><b>  編輯圖標(biāo)。</b></p><p><b>  詳細(xì)介紹:</b></p><p><b> ?。?)計(jì)算器界面:</b></p><p><b>  (2)主要代碼:<

13、/b></p><p>  void CGyDlg::On0() //輸入相應(yīng)的數(shù)據(jù),這為輸入數(shù)據(jù)0</p><p>  { s2=s2+"0";</p><p>  m_xs=m_xs+"0";</p><p>  UpdateData(FALSE); </p><

14、p><b>  }</b></p><p>  void CGyDlg::On1() //輸入相應(yīng)的數(shù)據(jù),這為輸入數(shù)據(jù)1</p><p>  { s2=s2+"1";</p><p>  m_xs=m_xs+"1";</p><p>  UpdateData(FALSE)

15、;</p><p><b>  }</b></p><p>  void CGyDlg::On2() //輸入相應(yīng)的數(shù)據(jù),這為輸入數(shù)據(jù)2</p><p>  { s2=s2+"2";</p><p>  m_xs=m_xs+"2";</p><p>  

16、UpdateData(FALSE);</p><p><b>  }</b></p><p>  void CGyDlg::On3() //輸入相應(yīng)的數(shù)據(jù),這為輸入數(shù)據(jù)3</p><p>  { s2=s2+"3";</p><p>  m_xs=m_xs+"3";</

17、p><p>  UpdateData(FALSE);</p><p><b>  }</b></p><p>  void CGyDlg::On4() //輸入相應(yīng)的數(shù)據(jù),這為輸入數(shù)據(jù)4</p><p>  { s2=s2+"4";</p><p>  m_xs=m_xs+&

18、quot;4";</p><p>  UpdateData(FALSE);</p><p><b>  }</b></p><p>  void CGyDlg::On5() //輸入相應(yīng)的數(shù)據(jù),這為輸入數(shù)據(jù)5</p><p>  { s2=s2+"5";</p><

19、p>  m_xs=m_xs+"5";</p><p>  UpdateData(FALSE);</p><p><b>  }</b></p><p>  void CGyDlg::On6() //輸入相應(yīng)的數(shù)據(jù),這為輸入數(shù)據(jù)6</p><p>  { s2=s2+"6"

20、;;</p><p>  m_xs=m_xs+"6";</p><p>  UpdateData(FALSE);</p><p><b>  }</b></p><p>  void CGyDlg::On7() //輸入相應(yīng)的數(shù)據(jù),這為輸入數(shù)據(jù)7</p><p>  {s2

21、=s2+"7";</p><p>  m_xs=m_xs+"7";</p><p>  UpdateData(FALSE);</p><p><b>  }</b></p><p>  void CGyDlg::On8() //輸入相應(yīng)的數(shù)據(jù),這為輸入數(shù)據(jù)8</p>

22、<p>  { s2=s2+"8";</p><p>  m_xs=m_xs+"8";</p><p>  UpdateData(FALSE);</p><p><b>  }</b></p><p>  void CGyDlg::On9() //輸入相應(yīng)的數(shù)據(jù),這

23、為輸入數(shù)據(jù)9</p><p>  { s2=s2+"9";</p><p>  m_xs=m_xs+"9";</p><p>  UpdateData(FALSE);</p><p><b>  }</b></p><p>  void CGyDlg::

24、Onadd() //加法運(yùn)算</p><p>  { s2="";</p><p><b>  s1=m_xs;</b></p><p>  m_xs=m_xs+'+';</p><p><b>  str='+';</b></p>

25、<p>  UpdateData(false);</p><p><b>  }</b></p><p>  void CGyDlg::Onsub() //減法運(yùn)算</p><p>  { s2="";</p><p><b>  s1=m_xs;</b><

26、;/p><p>  m_xs=m_xs+'-';</p><p><b>  str='-';</b></p><p>  UpdateData(false);</p><p><b>  }</b></p><p>  void CGyDlg:

27、:Onxsd() //小數(shù)點(diǎn)運(yùn)算</p><p>  { s2=s2+".";</p><p>  m_xs=m_xs+".";</p><p>  UpdateData(false);</p><p><b>  }</b></p><p>  v

28、oid CGyDlg::Oncheng() //乘法運(yùn)算</p><p>  { s2="";</p><p><b>  s1=m_xs;</b></p><p>  m_xs=m_xs+'*';</p><p><b>  str='*';</b

29、></p><p>  UpdateData(false);</p><p><b>  }</b></p><p>  void CGyDlg::Onchu() //除法運(yùn)算</p><p>  { s2=""; </p><p><b>  s1=m_x

30、s;</b></p><p>  m_xs=m_xs+'/';</p><p><b>  str='/';</b></p><p>  UpdateData(false);</p><p><b>  }</b></p><p>

31、;  void CGyDlg::Ondel() //刪除功能</p><p><b>  {</b></p><p>  m_xs.Delete(m_xs.GetLength()-1,1);</p><p>  UpdateData(false);</p><p><b>  }</b></

32、p><p>  void CGyDlg::Onpf() //平方運(yùn)算</p><p><b>  { s2="";</b></p><p><b>  s1=m_xs;</b></p><p>  m_xs=m_xs+"^2";</p><

33、;p><b>  str='p';</b></p><p>  UpdateData(false);</p><p><b>  }</b></p><p>  void CGyDlg::Onkf() //開(kāi)2次方運(yùn)算 </p><p><b>  { s2=&

34、quot;";</b></p><p><b>  s1=m_xs;</b></p><p>  m_xs=m_xs+"^1/2";</p><p><b>  str='k';</b></p><p>  UpdateData(false)

35、;</p><p><b>  }</b></p><p>  void CGyDlg::Onsin() //sin函數(shù)運(yùn)算</p><p><b>  { s2="";</b></p><p><b>  s1=m_xs;</b></p>

36、<p>  m_xs="sin"+m_xs;</p><p><b>  str='s';</b></p><p>  UpdateData(false);</p><p><b>  }</b></p><p>  void CGyDlg::Onco

37、s() //cos函數(shù)運(yùn)算</p><p><b>  { s2="";</b></p><p><b>  s1=m_xs;</b></p><p>  m_xs="cos"+m_xs;</p><p><b>  str='c'

38、;;</b></p><p>  UpdateData(false);</p><p><b>  }</b></p><p>  void CGyDlg::Ontan() //tan函數(shù)運(yùn)算</p><p><b>  { s2="";</b></p>

39、;<p><b>  s1=m_xs;</b></p><p>  m_xs="tan"+m_xs;</p><p><b>  str='t';</b></p><p>  UpdateData(false);</p><p><b> 

40、 }</b></p><p>  void CGyDlg::Onln() //ln函數(shù)運(yùn)算</p><p><b>  { s2="";</b></p><p><b>  s1=m_xs;</b></p><p>  m_xs="ln"+m

41、_xs;</p><p><b>  str='l'; </b></p><p>  UpdateData(false);</p><p><b>  }</b></p><p>  void CGyDlg::Onlog() //log函數(shù)運(yùn)算</p><p>

42、;<b>  { s2="";</b></p><p><b>  s1=m_xs;</b></p><p>  m_xs="log"+m_xs;</p><p><b>  str='g'; </b></p><p>

43、  UpdateData(false);</p><p><b>  }</b></p><p>  void CGyDlg::Onex() //以e為底的指數(shù)運(yùn)算</p><p><b>  { s2="";</b></p><p><b>  s1=m_xs;

44、</b></p><p>  m_xs="e^"+m_xs;</p><p><b>  str='e'; </b></p><p>  UpdateData(false);</p><p><b>  }</b></p><p&g

45、t;  void CGyDlg::On3cfg() //開(kāi)3次方運(yùn)算</p><p><b>  { </b></p><p><b>  s2="";</b></p><p><b>  s1=m_xs;</b></p><p>  m_xs=m_xs+

46、"^1/3";</p><p><b>  str='f'; </b></p><p>  UpdateData(false);</p><p><b>  }</b></p><p>  void CGyDlg::Onxy() // x的y次方運(yùn)算</p&

47、gt;<p><b>  { s2="";</b></p><p><b>  s1=m_xs;</b></p><p>  m_xs=m_xs+"^";</p><p><b>  str='^';</b></p>

48、<p>  UpdateData(false);</p><p><b>  }</b></p><p>  void CGyDlg::Onqk() // 歸零按鈕</p><p>  { m_xs="";</p><p>  UpdateData(FALSE);</p&g

49、t;<p><b>  }</b></p><p>  void CGyDlg::Onsze() //十進(jìn)制轉(zhuǎn)二進(jìn)制</p><p><b>  { s2="";</b></p><p>  int n,i,t;</p><p>  double Y,p=0.0

50、;</p><p>  Y=strtod( m_xs,NULL); //把字符串轉(zhuǎn)化成浮點(diǎn)型</p><p>  t=(int)(Y);</p><p><b>  if(t!=1)</b></p><p>  for(i=1;t>1;i++)</p><p><b>  {&l

51、t;/b></p><p><b>  n=t%2;</b></p><p><b>  t=t/2;</b></p><p>  p+=n*pow(10,(i-1));</p><p><b>  } </b></p><p>  p+=1*po

52、w(10,(i-1));</p><p>  m_xs.Format("%f",p);</p><p>  m_xs=scl(m_xs);</p><p>  UpdateData(false);</p><p><b>  }</b></p><p>  void CGyDl

53、g::Onezs() //二進(jìn)制轉(zhuǎn)十進(jìn)制</p><p><b>  { s2="";</b></p><p><b>  int len;</b></p><p>  double sum=0.0,num;</p><p>  len=strlen(m_xs);</

54、p><p>  for (int i=0;i<len;i++)</p><p><b>  { </b></p><p>  num=(m_xs[i]-48);</p><p>  num=num*pow(2,len-i-1); </p><p><b>  sum+=num;<

55、;/b></p><p><b>  }</b></p><p>  m_xs.Format("%f",sum);</p><p>  m_xs=scl(m_xs);</p><p>  UpdateData(false);</p><p><b>  }<

56、;/b></p><p>  void CGyDlg::Onbze() //八進(jìn)制轉(zhuǎn)二進(jìn)制</p><p><b>  { s2="";</b></p><p>  int i,len;</p><p><b>  char s;</b></p><

57、p>  len=strlen(m_xs);</p><p>  CString m_xs1;</p><p>  for(i=0;i<len;i++)</p><p>  { s=m_xs[i];</p><p><b>  switch(s)</b></p><p><b&g

58、t;  { </b></p><p><b>  case'1':</b></p><p>  m_xs1=m_xs1+"001";</p><p><b>  break;</b></p><p><b>  case '2'

59、;:</b></p><p>  m_xs1=m_xs1+"010";</p><p><b>  break;</b></p><p><b>  case '3':</b></p><p>  m_xs1=m_xs1+"011"

60、;</p><p><b>  break;</b></p><p><b>  case '4':</b></p><p>  m_xs1=m_xs1+"100";</p><p><b>  break;</b></p>&

61、lt;p><b>  case'5':</b></p><p>  m_xs1=m_xs1+"101";</p><p><b>  break;</b></p><p><b>  case '6':</b></p><p

62、>  m_xs1=m_xs1+"110";</p><p><b>  break;</b></p><p><b>  case'7':</b></p><p>  m_xs1=m_xs1+"111";</p><p><b>

63、;  break;</b></p><p><b>  case'.':</b></p><p>  m_xs1=m_xs1+".";</p><p><b>  break;</b></p><p><b>  } </b>&l

64、t;/p><p><b>  }</b></p><p>  m_xs=m_xs1;</p><p>  UpdateData(false);</p><p><b>  } </b></p><p>  double add(double X, double Y)

65、{ return X+Y;} //加函數(shù)</p><p>  double subtract(double X, double Y) { return X-Y;} //減函數(shù)</p><p>  double chu(double X, double Y) { return X/Y;} //除函數(shù)</p><p>  double cheng(d

66、ouble X, double Y) { return X*Y; } //乘函數(shù)</p><p>  double jzf(double fu) { return fu / 180.0 * 3.14159265; } // 角度轉(zhuǎn)弧度</p><p>  CString scl(CString m) //刪除小數(shù)點(diǎn)后多余的零</p><p>  {

67、 int len,i,j=0;</p><p>  len=strlen(m);</p><p>  if(m[len-1]=='0')</p><p>  { i=len-1;</p><p>  while(m[i]=='0')</p><p><b>  { j

68、++;</b></p><p><b>  i--;</b></p><p><b>  }</b></p><p>  m.Delete(len-j,j); // 刪除小數(shù)點(diǎn)后無(wú)用的零</p><p><b>  } </b></p><p&

69、gt;<b>  return m;</b></p><p><b>  }</b></p><p>  double chengfang(double X, int Y) //乘方</p><p>  { double m=1.0;</p><p><b>  if(Y==1)<

70、;/b></p><p><b>  return X;</b></p><p><b>  else</b></p><p>  for(int i=1;i<=Y;i++)</p><p><b>  m=m*X;</b></p><p>

71、<b>  return m;</b></p><p><b>  }</b></p><p>  void CGyDlg::Ondy() //等于號(hào)的功能函數(shù)</p><p><b>  { </b></p><p>  double X,Y;</p&g

72、t;<p>  X=strtod(s1,NULL); //把字符串轉(zhuǎn)化成浮點(diǎn)型</p><p>  Y=strtod(s2,NULL); //把字符串轉(zhuǎn)化成浮點(diǎn)型</p><p>  switch(str)</p><p><b>  {</b></p><p><b>  case

73、 '+':</b></p><p>  m_xs.Format("%f",add(X,Y));</p><p>  m_xs=scl(m_xs); //調(diào)用刪除零函數(shù)</p><p>  UpdateData(false);</p><p><b>  break; </b

74、></p><p>  case '-': </p><p>  m_xs.Format("%f",subtract(X,Y)); </p><p>  m_xs=scl(m_xs); //調(diào)用刪除零函數(shù)</p><p>  UpdateData(false); </p><

75、;p><b>  break;</b></p><p><b>  case '*':</b></p><p>  m_xs.Format("%f",cheng( X,Y)); </p><p>  m_xs=scl(m_xs); //調(diào)用刪除零函數(shù)</p><

76、;p>  UpdateData(false);</p><p><b>  break;</b></p><p><b>  case '/':</b></p><p>  m_xs.Format("%f",chu(X,Y));</p><p>  m_xs

77、=scl(m_xs); //調(diào)用刪除零函數(shù)</p><p>  UpdateData(false);</p><p><b>  break;</b></p><p><b>  case 'p':</b></p><p>  m_xs.Format("%f",

78、cheng(Y,Y));</p><p>  m_xs=scl(m_xs); //調(diào)用刪除零函數(shù)</p><p>  UpdateData(false);</p><p><b>  break;</b></p><p><b>  case 'k':</b></p>

79、<p>  m_xs.Format("%f",sqrt(Y));</p><p>  m_xs=scl(m_xs); //調(diào)用刪除零函數(shù)</p><p>  UpdateData(false);</p><p><b>  break;</b></p><p><b>  ca

80、se 's':</b></p><p>  m_xs.Format("%f",sin(jzf(Y)));</p><p>  m_xs=scl(m_xs); //調(diào)用刪除零函數(shù)</p><p>  UpdateData(false);</p><p><b>  break;<

81、/b></p><p><b>  case 'c':</b></p><p>  m_xs.Format("%f",cos(jzf(Y))); </p><p>  m_xs=scl(m_xs); //調(diào)用刪除零函數(shù)</p><p>  UpdateData(false);&

82、lt;/p><p><b>  break;</b></p><p><b>  case 't':</b></p><p>  m_xs.Format("%f",tan(jzf(Y))); </p><p>  m_xs=scl(m_xs); //調(diào)用刪除零函數(shù)&

83、lt;/p><p>  UpdateData(false);</p><p><b>  break;</b></p><p><b>  case 'l':</b></p><p>  m_xs.Format("%f",log(Y)); </p>&l

84、t;p>  m_xs=scl(m_xs); //調(diào)用刪除零函數(shù)</p><p>  UpdateData(false);</p><p><b>  break;</b></p><p><b>  case 'g':</b></p><p>  m_xs.Format(&q

85、uot;%f",log10(Y)); </p><p>  m_xs=scl(m_xs); //調(diào)用刪除零函數(shù)</p><p>  UpdateData(false);</p><p><b>  break;</b></p><p><b>  case 'e':</b>

86、;</p><p>  m_xs.Format("%f",exp(Y)); </p><p>  m_xs=scl(m_xs); //調(diào)用刪除零函數(shù)</p><p>  UpdateData(false);</p><p><b>  break;</b></p><p>&

87、lt;b>  case '^':</b></p><p>  m_xs.Format("%f", chengfang(X,(int)Y));</p><p>  m_xs=scl(m_xs); //調(diào)用刪除零函數(shù)</p><p>  UpdateData(false);</p><p>

88、<b>  break;</b></p><p>  case 'f': </p><p>  m_xs.Format("%f", pow(Y,M3));</p><p>  m_xs=scl(m_xs); //調(diào)用刪除零函數(shù)</p><p>  UpdateData(false);

89、</p><p><b>  break;</b></p><p>  default : </p><p>  UpdateData(false);</p><p><b>  }</b></p><p><b>  m_xs="";</

90、b></p><p><b>  s2="";</b></p><p><b>  }</b></p><p>  HBRUSH CGyDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) //設(shè)置編輯框背景顏色</p><

91、p><b>  {</b></p><p>  HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor); </p><p>  pDC->SetBkColor(RGB(190,255,0));</p><p>  return hbr;</p><p>

92、;<b>  }</b></p><p><b> ?。?)函數(shù)功能說(shuō)明</b></p><p>  整個(gè)計(jì)算器除了基本的加、減、乘、除運(yùn)算外,另外還有8個(gè)功能,實(shí)現(xiàn)八大運(yùn)算:三角函數(shù)運(yùn)算功能、對(duì)數(shù)函數(shù)運(yùn)算功能、指數(shù)函數(shù)運(yùn)算功能、乘方運(yùn)算功能、平方運(yùn)算功能、根式運(yùn)算功能、進(jìn)制轉(zhuǎn)換功能、歸零功能。各個(gè)運(yùn)算功能的詳細(xì)設(shè)計(jì)說(shuō)明分別如下:</p&g

93、t;<p><b>  a、基本運(yùn)算功能</b></p><p>  主要實(shí)現(xiàn)數(shù)據(jù)的加、減、乘、除運(yùn)算,提供簡(jiǎn)單的科學(xué)計(jì)算!</p><p>  b、三角函數(shù)運(yùn)算功能</p><p>  用來(lái)執(zhí)行三角函數(shù)的運(yùn)算,包括正弦函數(shù)(sin)、余弦函數(shù)(cos)、正切函數(shù)(tan)和余切函數(shù)(cot)。</p><p&

94、gt;  c、對(duì)數(shù)函數(shù)運(yùn)算功能</p><p>  用來(lái)執(zhí)行對(duì)數(shù)函數(shù)的運(yùn)算,包括以e為底ln函數(shù)和以10為底的lg函數(shù)。</p><p>  d、指數(shù)函數(shù)運(yùn)算功能</p><p>  用來(lái)執(zhí)行指數(shù)函數(shù)的運(yùn)算。</p><p><b>  e、乘方運(yùn)算功能</b></p><p>  用來(lái)執(zhí)行乘方的

95、運(yùn)算,進(jìn)行數(shù)值的成倍計(jì)算。</p><p><b>  f、平方運(yùn)算功能</b></p><p>  用來(lái)執(zhí)行平方運(yùn)算,說(shuō)到底它也屬于乘方運(yùn)算的范疇。</p><p><b>  g、根式運(yùn)算功能</b></p><p>  用來(lái)執(zhí)行根式的運(yùn)算。 </p><p>  h、進(jìn)

96、制轉(zhuǎn)換運(yùn)算功能</p><p>  主要實(shí)現(xiàn)數(shù)值間的轉(zhuǎn)換,包括二進(jìn)制轉(zhuǎn)十進(jìn)制、十進(jìn)制轉(zhuǎn)二進(jìn)制和八進(jìn)制轉(zhuǎn)二進(jìn)制的運(yùn)算。</p><p><b>  i、歸零、刪除功能</b></p><p>  主要實(shí)現(xiàn)數(shù)據(jù)的清零,當(dāng)用戶輸入數(shù)據(jù)出錯(cuò)時(shí),使用此功能可以清除已輸入的內(nèi)容并重新輸入新的運(yùn)算內(nèi)容。</p><p><b&g

97、t;  設(shè)計(jì)難點(diǎn)與解決方法</b></p><p>  設(shè)計(jì)難點(diǎn)1:遇到一些復(fù)雜的函數(shù)計(jì)算時(shí),設(shè)計(jì)的代碼不能很好的反映出該有的功能。</p><p>  解決策略:通過(guò)看書(shū)、上網(wǎng)查資料和與同學(xué)討論,自己再反復(fù)修改代碼,運(yùn)行程序,直到實(shí)際效果滿意為止。</p><p>  設(shè)計(jì)難點(diǎn)2:在編譯程序時(shí),出現(xiàn)類型不匹配的錯(cuò)誤,查找是Cstring和double類

98、型之間沒(méi)有轉(zhuǎn)換。</p><p>  解決策略:查找到Format()和atof()函數(shù)可以進(jìn)行他們之間的轉(zhuǎn)換</p><p><b>  設(shè)計(jì)效果與不足之處</b></p><p><b>  程序效果圖如下:</b></p><p><b>  不足之處:</b></

99、p><p>  計(jì)算器的計(jì)算功能還不是很多,設(shè)計(jì)效果也不是很理想,輸入數(shù)據(jù)和顯示結(jié)果不能同步顯示,只能分別顯示。</p><p><b>  五、 學(xué)習(xí)體會(huì)</b></p><p>  經(jīng)過(guò)對(duì)VC++課程設(shè)計(jì)的編寫(xiě)設(shè)計(jì),加深了我對(duì)《VC++程序設(shè)計(jì)》課程所學(xué)知識(shí)的進(jìn)一步理解,掌握了各種函數(shù)的應(yīng)用和調(diào)用。</p><p>  

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論