2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩58頁(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>  C++面向?qū)ο笳n程設(shè)計(jì)報(bào)告</p><p>  院(系): 計(jì)算機(jī)工程學(xué)院 </p><p>  專業(yè): 計(jì)算機(jī)科學(xué)與技術(shù) </p><p>  學(xué)生姓名: _   </p><p>  班級(jí):_

2、 _ 學(xué)號(hào):    </p><p>  題目: 多功能電子詞典 _________ </p><p>  起迄日期: _2013.6.23~2013.7.5 </p><p>  設(shè)計(jì)地點(diǎn): 計(jì)算機(jī)學(xué)院機(jī)房 </p><p>  指 導(dǎo) 教 師:

3、 </p><p>  完成日期: 2013 年7月 5 日</p><p><b>  目錄</b></p><p>  一、 需求分析 -------------------------------------------------------------------------------1

4、 </p><p>  選做此課題或項(xiàng)目的---------------------------------------------------------------1</p><p>  程序所實(shí)現(xiàn)的功能----------------------------------------------------------------

5、--2</p><p>  二、 設(shè)計(jì)內(nèi)容---------------------------------------------------------------------------------3</p><p>  1. 根據(jù)所選題目,給出模塊圖-------------------------------------------------------4</p>

6、<p>  2. 畫(huà)出主程序及其主要模塊的流程圖----------------------------------------------5</p><p>  3. 編寫(xiě)程序代碼-------------------------------------------------------------------------5</p><p>  三、 調(diào)試分析-------

7、-------------------------------------------------------------------------5</p><p>  1. 實(shí)際完成的情況說(shuō)明(完成的功能,支持的數(shù)據(jù)類型等)。-------------6</p><p>  2. 程序的性能分析。----------------------------------------------

8、--------------------6</p><p>  3. 上機(jī)過(guò)程中出現(xiàn)的問(wèn)題及其解決方案。---------------------------------------6</p><p>  4. 程序中可以改進(jìn)的地方說(shuō)明。--------------------------------------------------7</p><p>  5.

9、程序中可以擴(kuò)充的功能及設(shè)計(jì)實(shí)現(xiàn)構(gòu)想。------------------------------------7</p><p>  四、 用戶手冊(cè)---------------------------------------------------------------------------------7</p><p>  五、 設(shè)計(jì)總結(jié)-----------------------

10、---------------------------------------------------------14</p><p>  六、 參考文獻(xiàn)---------------------------------------------------------------------------------17</p><p>  七、 附錄--------------------

11、-------------------------------------------------------------------23</p><p><b>  一、需求分析</b></p><p>  隨著社會(huì)的發(fā)展,在人們生活中學(xué)習(xí)外語(yǔ)變得越來(lái)越重要。 現(xiàn)在許多文件和資料都是電子版,所以更多人喜歡通過(guò)電子工具學(xué)習(xí)外語(yǔ)。為了給外語(yǔ)學(xué)習(xí)者更多便利以及實(shí)現(xiàn)無(wú)紙化的

12、教育,基于以上的原因開(kāi)發(fā)了這款多功能電子詞典。</p><p>  這個(gè)系統(tǒng)是基于電腦桌面程序的電子詞典,它主要實(shí)現(xiàn)單詞查詢、音樂(lè)播放、月歷和時(shí)鐘四個(gè)功能。查詢功能提供英語(yǔ)單詞查詢中文意思以及中文詞組查詢英語(yǔ)單詞。在查找單詞學(xué)習(xí)過(guò)程中,可以通過(guò)播放音樂(lè)放松心情,緩解學(xué)習(xí)帶來(lái)的壓力。</p><p>  本系統(tǒng)運(yùn)用MFC 應(yīng)用架構(gòu),使用C++語(yǔ)言編寫(xiě)。使用Windows7作為開(kāi)發(fā)平臺(tái),開(kāi)發(fā)環(huán)

13、境是微軟Visual C++ 6.0。隨著軟件工程技術(shù)的不斷發(fā)展,應(yīng)用面向?qū)ο蟮木幊碳夹g(shù) 已經(jīng)成為當(dāng)今軟件開(kāi)發(fā)的重要手段之一。</p><p><b>  設(shè)計(jì)內(nèi)容</b></p><p><b>  2.1、模塊圖</b></p><p>  2 功能及相應(yīng)函數(shù)調(diào)用圖</p><p><b&

14、gt;  2.3編寫(xiě)程序代碼</b></p><p><b>  1.音樂(lè)播放功能</b></p><p>  void CDictionaryDlg::OnButton3() </p><p><b>  { </b></p><p><b>  flag++;&

15、lt;/b></p><p><b>  flag%=2;</b></p><p><b>  if(flag)</b></p><p>  {PlaySound("D:\\Good good study\\C++\\C++課程設(shè)計(jì)\\dictionary可運(yùn)行\(zhòng)\res\\Beyond-海闊天空.wav&

16、quot;,NULL,SND_FILENAME|SND_ASYNC);</p><p><b>  }</b></p><p><b>  else</b></p><p>  PlaySound(NULL,NULL,NULL);</p><p><b>  時(shí)鐘顯示功能</b>

17、;</p><p>  void CDictionaryDlg::OnTimer(UINT nIDEvent) </p><p><b>  {</b></p><p>  CDialog::OnTimer(nIDEvent);</p><p>  CTime time=CTime::GetCurrentTime();&

18、lt;/p><p>  int hour=time.GetHour();</p><p>  int Minute=time.GetMinute();</p><p>  int second=time.GetSecond();</p><p>  CString str;</p><p>  str.Format(&qu

19、ot;%d:%d:%d",hour,Minute,second);</p><p>  SetDlgItemText(IDC_EDIT2,str);</p><p><b>  }</b></p><p><b>  查詢功能</b></p><p>  void CDictionaryD

20、lg::OnText() </p><p><b>  {</b></p><p>  // TODO: Add your control notification handler code here</p><p>  m_text.GetWindowText(str);</p><p><b>  char

21、 ch;</b></p><p>  if(str.GetLength()!=0)</p><p><b>  {</b></p><p>  ch = str.GetAt(0);</p><p>  ch = toupper(ch); //將輸入的第一個(gè)字符置成大寫(xiě)</p><p&g

22、t;  str.SetAt(0,ch);</p><p>  if(str.Find("?")>=0||str.Find("*")>=0) //判斷進(jìn)行模糊查詢</p><p><b>  {</b></p><p><b>  return;</b></p>

23、;<p><b>  }</b></p><p>  if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z')) //判斷進(jìn)行英譯漢</p><p>  EntoCh(); </p>&l

24、t;p>  else if(str.GetLength()!=0) //進(jìn)行漢譯英</p><p><b>  ChtoEn();</b></p><p><b>  }</b></p><p>  else //如果ComboBox內(nèi)容為空,則清空列表和文本框</p><p>

25、;<b>  {</b></p><p>  m_list.ResetContent();</p><p>  m_edit1.SetWindowText(" ");</p><p><b>  }</b></p><p><b>  }</b></p

26、><p>  判斷英譯漢或漢譯英功能實(shí)現(xiàn)</p><p>  void CDictionaryDlg::OnText() </p><p><b>  {</b></p><p>  // TODO: Add your control notification handler code here</p><

27、;p>  m_text.GetWindowText(str);</p><p><b>  char ch;</b></p><p>  if(str.GetLength()!=0)</p><p><b>  {</b></p><p>  ch = str.GetAt(0);</p&

28、gt;<p>  ch = toupper(ch); //將輸入的第一個(gè)字符置成大寫(xiě)</p><p>  str.SetAt(0,ch);</p><p>  if(str.Find("?")>=0||str.Find("*")>=0) //判斷進(jìn)行模糊查詢</p><p><b> 

29、 {</b></p><p><b>  return;</b></p><p><b>  }</b></p><p>  if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='

30、;Z')) //判斷進(jìn)行英譯漢</p><p>  EntoCh(); </p><p>  else if(str.GetLength()!=0) //進(jìn)行漢譯英</p><p><b>  ChtoEn();</b></p><p><b>  }</b></p&

31、gt;<p>  else //如果ComboBox內(nèi)容為空,則清空列表和文本框</p><p><b>  {</b></p><p>  m_list.ResetContent();</p><p>  m_edit1.SetWindowText(" ");</p><p>&

32、lt;b>  }</b></p><p><b>  }</b></p><p><b>  取消按鍵</b></p><p>  void CDictionaryDlg::OnCANSEL() </p><p><b>  {</b></p>

33、<p>  CDialog::OnOK();</p><p><b>  }</b></p><p><b>  英譯漢</b></p><p>  void CDictionaryDlg::EntoCh()</p><p><b>  {</b></p>

34、<p>  char name0[] = {"english0.txt"};</p><p>  FILE *fp;</p><p>  if((fp=fopen(name0,"r"))==NULL) //打開(kāi)第一本詞典</p><p><b>  {</b></p>

35、<p>  m_edit1.SetWindowText("對(duì)不起!文件不能打開(kāi)!");</p><p><b>  return;</b></p><p><b>  }</b></p><p><b>  do</b></p><p><b

36、>  {</b></p><p>  m_list.ResetContent(); //清空列表內(nèi)容 </p><p>  fgets(buffer,1024,fp); //從文件讀入一行存放在BUFFER中</p><p><b>  int i,k;</b></p><

37、;p>  memset(acron,0,sizeof(acron)); //清空acron</p><p>  for(i=0;buffer[i]!=' ';i++) //截取縮略詞</p><p>  acron[i] = buffer[i];</p><p>  while(buffer[i]==' ')

38、 i++;</p><p><b>  k = i;</b></p><p>  memset(english,0,sizeof(english)); //清空english </p><p>  for(;buffer[i]!='#';i++) //截取英文部分</p><p>  

39、english[i-k] = buffer[i];</p><p>  memset(mid,0,sizeof(mid)); //清空mid</p><p>  strncpy(mid,english,str.GetLength()); //將english中的從0開(kāi)始的長(zhǎng)度為str.GetLength()字符存入mid中</p><p>  if

40、(strcmp(str,mid)==0) //比較str和mid</p><p><b>  {</b></p><p>  m_list.AddString(english); //列表輸出</p><p>  i++; k = i;</p><p>  memset(chinese,0,sizeof(

41、chinese)); //清空chinese</p><p>  for(;buffer[i]!='\0';i++) //截取漢語(yǔ)部分</p><p>  chinese[i-k] = buffer[i];</p><p><b>  }</b></p><p>  }while(strc

42、mp(str,mid)!=0&&!feof(fp)); //若不匹配且文件未結(jié)束</p><p>  int count0 = 0;</p><p>  while(strcmp(str,mid)==0&&!feof(fp)&&count0<100) </p><p><b>  {</b&

43、gt;</p><p>  fgets(buffer,1024,fp); //讀入</p><p><b>  int i,k;</b></p><p>  memset(acron,0,sizeof(acron)); </p><p>  for(i=0;buffer[i]!=' ';i++

44、) //截取縮略詞</p><p>  acron[i] = buffer[i];</p><p>  while(buffer[i]==' ') i++;</p><p><b>  k = i;</b></p><p>  memset(english,0,sizeof(english)

45、); </p><p>  for(;buffer[i]!='#';i++) //截取英文部分</p><p>  english[i-k] = buffer[i];</p><p>  memset(mid,0,sizeof(mid));</p><p>  strncpy(mid,english,str.

46、GetLength());</p><p>  if(strcmp(str,mid)==0) </p><p><b>  {</b></p><p>  m_list.AddString(english); </p><p>  count0++; //控制列表中的條數(shù)在101內(nèi)</p>

47、<p><b>  }</b></p><p><b>  }</b></p><p>  fclose(fp);</p><p>  char name1[] = {"english1.txt"};</p><p>  if((fp=fopen(name1,&

48、quot;r"))==NULL) //打開(kāi)第二部詞典</p><p><b>  {</b></p><p>  m_edit1.SetWindowText("對(duì)不起!文件不能打開(kāi)!");</p><p><b>  return;</b></p><p><

49、b>  }</b></p><p><b>  do</b></p><p><b>  { </b></p><p>  fgets(buffer,1024,fp); //從文件讀入一行存放在BUFFER中</p><p><b>  int

50、i,k;</b></p><p>  memset(acron,0,sizeof(acron)); //清空acron</p><p>  for(i=0;buffer[i]!=' ';i++) //截取縮略詞</p><p>  acron[i] = buffer[i];</p><p>  w

51、hile(buffer[i]==' ') i++;</p><p><b>  k = i;</b></p><p>  memset(english,0,sizeof(english)); //清空english </p><p>  for(;buffer[i]!='#';i++) //

52、截取英文部分</p><p>  english[i-k] = buffer[i];</p><p>  memset(mid,0,sizeof(mid)); //清空mid</p><p>  strncpy(mid,english,str.GetLength()); //將english中的從0開(kāi)始的長(zhǎng)度為str.GetLength()字符存入

53、mid中</p><p>  if(strcmp(str,mid)==0) //比較str和mid</p><p><b>  {</b></p><p>  m_list.AddString(english); //列表輸出</p><p>  i++; k = i;</p><p&

54、gt;  memset(chinese,0,sizeof(chinese)); //清空chinese</p><p>  for(;buffer[i]!='\0';i++) //截取漢語(yǔ)部分</p><p>  chinese[i-k] = buffer[i];</p><p><b>  }</b></

55、p><p>  }while(strcmp(str,mid)!=0&&!feof(fp)); //若不匹配且文件未結(jié)束</p><p>  int count1 = 0;</p><p>  while(strcmp(str,mid)==0&&!feof(fp)&&count1<100) </p>

56、<p><b>  {</b></p><p>  fgets(buffer,1024,fp); //讀入</p><p><b>  int i,k;</b></p><p>  memset(acron,0,sizeof(acron)); </p><p>  for(i

57、=0;buffer[i]!=' ';i++) //截取縮略詞</p><p>  acron[i] = buffer[i];</p><p>  while(buffer[i]==' ') i++;</p><p><b>  k = i;</b></p><p>  mem

58、set(english,0,sizeof(english)); </p><p>  for(;buffer[i]!='#';i++) //截取英文部分</p><p>  english[i-k] = buffer[i];</p><p>  memset(mid,0,sizeof(mid));</p><p&

59、gt;  strncpy(mid,english,str.GetLength());</p><p>  if(strcmp(str,mid)==0)</p><p><b>  {</b></p><p>  m_list.AddString(english); </p><p>  count1++; //

60、控制列表中的條數(shù)在101內(nèi)</p><p><b>  }</b></p><p><b>  }</b></p><p>  //如果列表中僅剩一行,則文本框中輸出中文</p><p>  if(m_list.GetCount()==1) m_edit1.SetWindowText(ch

61、inese); </p><p>  else m_edit1.SetWindowText(" ");</p><p>  fclose(fp);</p><p><b>  }</b></p><p><b>  漢譯英</b></p><p>

62、  void CDictionaryDlg::ChtoEn()</p><p><b>  {</b></p><p>  char name0[] = {"chinese0.txt"};</p><p>  FILE *fp;</p><p>  if((fp=fopen(name0,"

63、r"))==NULL) //打開(kāi)文件</p><p><b>  {</b></p><p>  m_edit1.SetWindowText("對(duì)不起!文件不能打開(kāi)!");</p><p><b>  return;</b></p><p><b>  

64、}</b></p><p><b>  do</b></p><p><b>  {</b></p><p>  m_list.ResetContent(); //清空列表內(nèi)容</p><p>  fgets(buffer,1024,fp); //讀入</p>

65、<p><b>  int i,k;</b></p><p>  memset(acron,0,sizeof(acron));</p><p>  for(i=0;buffer[i]!=' ';i++) //截取縮略詞</p><p>  acron[i] = buffer[i];</p>&

66、lt;p>  while(buffer[i]==' ') i++;</p><p><b>  k = i;</b></p><p>  memset(english,0,sizeof(english));</p><p>  for(;buffer[i]!='#';i++) //截取英文部

67、分</p><p>  english[i-k] = buffer[i];</p><p>  i++; k = i;</p><p>  memset(chinese,0,sizeof(chinese));</p><p>  for(;buffer[i]!='\0';i++) //截取漢語(yǔ)部分</p>

68、;<p>  chinese[i-k] = buffer[i];</p><p>  memset(mid,0,sizeof(mid));</p><p>  strncpy(mid,chinese,str.GetLength());</p><p>  if(strcmp(str,mid)==0) //比較:若相等則輸出</p>

69、<p><b>  {</b></p><p>  m_list.AddString(chinese);</p><p><b>  }</b></p><p>  }while(strcmp(str,mid)!=0&&!feof(fp)); //若不匹配且文件未結(jié)束</p>

70、<p>  int count0 = 0; </p><p>  while(strcmp(str,mid)==0&&!feof(fp)&&count0<100)</p><p><b>  {</b></p><p>  fgets(buffer,1024,fp);</p>&l

71、t;p>  int i=4,k;</p><p>  while(buffer[i]!='#') i++;</p><p>  i++; k = i;</p><p>  memset(chinese,0,sizeof(chinese));</p><p>  for(;buffer[i]!='\0&

72、#39;;i++) //截取漢語(yǔ)部分</p><p>  chinese[i-k] = buffer[i];</p><p>  memset(mid,0,sizeof(mid));</p><p>  strncpy(mid,chinese,str.GetLength());</p><p>  if(strcmp(str,mid)=

73、=0) //比較輸出</p><p><b>  {</b></p><p>  m_list.AddString(chinese);</p><p>  count0++; //控制列表輸出條數(shù)不多余101</p><p><b>  }</b></p><

74、p><b>  }</b></p><p>  fclose(fp);</p><p>  char name1[] = {"chinese1.txt"};</p><p>  if((fp=fopen(name1,"r"))==NULL) //打開(kāi)文件</p><p&g

75、t;<b>  {</b></p><p>  m_edit1.SetWindowText("對(duì)不起!文件不能打開(kāi)!");</p><p><b>  return;</b></p><p><b>  }</b></p><p><b>  do

76、</b></p><p><b>  { </b></p><p>  fgets(buffer,1024,fp); //讀入</p><p><b>  int i,k;</b></p><p>  memset(acron,0,sizeof(acron));<

77、;/p><p>  for(i=0;buffer[i]!=' ';i++) //截取縮略詞</p><p>  acron[i] = buffer[i];</p><p>  while(buffer[i]==' ') i++;</p><p><b>  k = i;</b>&

78、lt;/p><p>  memset(english,0,sizeof(english));</p><p>  for(;buffer[i]!='#';i++) //截取英文部分</p><p>  english[i-k] = buffer[i];</p><p>  i++; k = i;</p>

79、<p>  memset(chinese,0,sizeof(chinese));</p><p>  for(;buffer[i]!='\0';i++) //截取漢語(yǔ)部分</p><p>  chinese[i-k] = buffer[i];</p><p>  memset(mid,0,sizeof(mid));</p&g

80、t;<p>  strncpy(mid,chinese,str.GetLength());</p><p>  if(strcmp(str,mid)==0) //比較輸出</p><p><b>  {</b></p><p>  m_list.AddString(chinese);</p><p>

81、<b>  }</b></p><p>  }while(strcmp(str,mid)!=0&&!feof(fp));</p><p>  int count1 = 0;</p><p>  while(strcmp(str,mid)==0&&!feof(fp)&&count1<100)

82、</p><p><b>  {</b></p><p>  fgets(buffer,1024,fp);</p><p>  int i=4,k;</p><p>  while(buffer[i]!='#') i++;</p><p>  i++; k = i;&l

83、t;/p><p>  memset(chinese,0,sizeof(chinese));</p><p>  for(;buffer[i]!='\0';i++) //截取漢語(yǔ)部分</p><p>  chinese[i-k] = buffer[i];</p><p>  memset(mid,0,sizeof(mid));

84、</p><p>  strncpy(mid,chinese,str.GetLength());</p><p>  if(strcmp(str,mid)==0) //比較輸出</p><p><b>  {</b></p><p>  m_list.AddString(chinese);</p>

85、<p>  count1++; //控制列表輸出條數(shù)不多余101</p><p><b>  }</b></p><p><b>  }</b></p><p>  //如果列表中僅剩一行,則文本框中輸出中文</p><p>  if(m_list.GetCount()==1)

86、 m_edit1.SetWindowText(english);</p><p>  else m_edit1.SetWindowText(" ");</p><p>  fclose(fp);</p><p><b>  }</b></p><p><b>  三、 調(diào)試分析<

87、;/b></p><p>  1. 實(shí)際完成的情況說(shuō)明</p><p>  經(jīng)過(guò)兩個(gè)星期的不懈努力,不斷地構(gòu)思,不斷地修改,最終完成了一個(gè)擁有較多功能的多多能電子詞典。實(shí)現(xiàn)了最重要的電子詞典查詢功能。用戶界面也很友好。</p><p><b>  程序的性能分析。</b></p><p>  性能方面運(yùn)行穩(wěn)定,程序

88、查詢功能實(shí)現(xiàn)速率很高,能夠滿足日常的英語(yǔ)學(xué)習(xí)過(guò)程中需要的漢譯英和英譯漢的查詢功能。并且能夠在學(xué)習(xí)之余利用程序所包含的音樂(lè)播放器放松自己??偠灾?,程序的各方面性能還是不錯(cuò)的。</p><p>  上機(jī)過(guò)程中出現(xiàn)的問(wèn)題及其解決方案。</p><p>  在實(shí)現(xiàn)音樂(lè)播放器的過(guò)程當(dāng)中,首先通過(guò)自己的構(gòu)思,查閱了資料后知道該功能主要運(yùn)用到的函數(shù)和實(shí)現(xiàn)的方法。但是在具體實(shí)現(xiàn)時(shí),每次調(diào)試都是通過(guò)的,沒(méi)

89、有邏輯錯(cuò)誤,但是運(yùn)行程序時(shí)就是播放不出音樂(lè),系統(tǒng)給出了錯(cuò)誤提示音。后面通過(guò)查詢資料才了解到,音樂(lè)播放器在MFC中系統(tǒng)函數(shù)能支持播放的音樂(lè)格式是WAV。后面將原先在res文件夾里的音樂(lè)文件通過(guò)格式轉(zhuǎn)換器轉(zhuǎn)換成WAV格式后才得以解決。</p><p>  程序中可以改進(jìn)的地方說(shuō)明。</p><p>  本程序在設(shè)計(jì)之初希望實(shí)現(xiàn)的功能基本都已經(jīng)實(shí)現(xiàn),但是還是存在一些可以修改的地方。比如,由于所給

90、出的單詞庫(kù)單詞的數(shù)量有限,我沒(méi)能實(shí)現(xiàn)用戶自己在使用過(guò)程中能夠自己插入單詞并保存到單詞庫(kù)當(dāng)中這一功能。但是這一功能實(shí)現(xiàn)起來(lái)比較麻煩,由于我的單詞庫(kù)在設(shè)計(jì)之初就是以一定的規(guī)律來(lái)插入的,這樣是為了在查詢過(guò)程當(dāng)中系統(tǒng)在調(diào)用函數(shù)時(shí),查找并匹配到該單詞的速率能夠更加快速。如果選擇并去實(shí)現(xiàn)了這一功能,恐怕這將會(huì)打亂了我的單詞庫(kù)的排列次序。</p><p>  5. 程序中可以擴(kuò)充的功能及設(shè)計(jì)實(shí)現(xiàn)構(gòu)想。</p>&

91、lt;p>  程序在設(shè)計(jì)之初我本身是打算做出一個(gè)功能比較齊全的MP3播放器的,但是由于后面的時(shí)間限制,我將大部分時(shí)間都花在如果將英譯漢和漢譯英這兩個(gè)功能結(jié)合在一起的這一功能設(shè)計(jì)當(dāng)中去,致使后面沒(méi)有剩余時(shí)間來(lái)做一個(gè)完整的播放器。這一簡(jiǎn)單的播放器只能是播放工程里提供的音樂(lè)文件,不能用戶自行定義。假設(shè)能夠加以完善,我希望是能夠做出一個(gè)很規(guī)范的多功能音樂(lè)播放器,還會(huì)設(shè)計(jì)一個(gè)很漂亮的圖標(biāo)加載在音樂(lè)播放器上面。這是我的一個(gè)構(gòu)想。</p&

92、gt;<p><b>  四、 用戶手冊(cè)</b></p><p>  1. 程序運(yùn)行環(huán)境及結(jié)果</p><p>  Windows 7 VC++6.0 開(kāi)發(fā)平臺(tái), Microsoft Visual C++6.0 集成環(huán)境。</p><p><b>  程序運(yùn)行結(jié)果</b></p><p&

93、gt;<b>  用戶使用步驟</b></p><p>  用戶進(jìn)入程序主界面時(shí),可通過(guò)以下幾個(gè)步驟使用本軟件</p><p>  查詢功能:輸入要查詢的單詞或者中文意思,在索引中將出現(xiàn)幾個(gè)備選的查詢結(jié)果,找到要查詢的單詞或者詞組,雙擊鼠標(biāo)左鍵進(jìn)入查詢結(jié)果。</p><p>  音樂(lè)播放器:?jiǎn)螜C(jī)“我的MP3”,音樂(lè)開(kāi)始播放,再次左擊,音樂(lè)停止。

94、</p><p>  時(shí)鐘功能:時(shí)鐘功能是調(diào)用系統(tǒng)函數(shù),直接讀取本臺(tái)電腦的系統(tǒng)時(shí)間并進(jìn)行顯示的,所以如果想修改現(xiàn)在時(shí)間,只要在操作系統(tǒng)windows界面的右下角時(shí)間欄直接進(jìn)行設(shè)置即可。</p><p><b>  設(shè)計(jì)總結(jié)</b></p><p>  在本次C++課程設(shè)計(jì)當(dāng)中,我在實(shí)踐中得到了也學(xué)習(xí)了很多很多的東西。較為熟練地掌握了MFC的程序

95、開(kāi)發(fā)步驟和方法,會(huì)進(jìn)行基本的界面設(shè)計(jì)和功能實(shí)現(xiàn)的源代碼開(kāi)發(fā)。一開(kāi)始拿到這個(gè)題目時(shí),覺(jué)得自己根本不可能能夠靠自己做出一個(gè)像樣的多功能電子詞典。甚至一個(gè)很簡(jiǎn)單的電子詞典都做不出來(lái),別說(shuō)多功能了。后面通過(guò)觀看了好多孫鑫的教學(xué)視頻,慢慢了解了MFC的功能實(shí)現(xiàn)方法和設(shè)計(jì)思路和步驟,開(kāi)始上手。到后面自己真的可以做到有一個(gè)想法,然后通過(guò)自己的努力,查詢文件資料設(shè)計(jì)出一個(gè)功能,并且實(shí)現(xiàn)的非常好。課程設(shè)計(jì)基本結(jié)束后,我感到特別的有成就感,看著自己做出來(lái)的

96、一個(gè)軟件,真是愛(ài)不釋手,把玩了好久。以后在學(xué)習(xí)過(guò)程中,我會(huì)因此而更加有奮斗的目的和目標(biāo)。因?yàn)榭孔约旱拇竽X和實(shí)踐做出點(diǎn)東西來(lái)確實(shí)是不容易,但是真正你做到了以后就感覺(jué),那是對(duì)自己的辛苦和付出的一種多么大的安慰和鼓勵(lì)?。〖佑?!繼續(xù)努力!</p><p><b>  六、 主要參考文獻(xiàn)</b></p><p>  1.鄭莉.C++語(yǔ)言程序設(shè)計(jì)(第3版).北京:清華大學(xué)出版社,

97、2005.7</p><p>  2.錢(qián)能.C++程序設(shè)計(jì)教程(第2版).北京:清華大學(xué)出版社,2005.8</p><p>  3. 黃維通. Visual C++面向?qū)ο笈c可視化程序設(shè)計(jì)(第2版).北京:清華大學(xué)出版 社,2003.12</p><p>  4. 劉路放. Visual C++與面向?qū)ο蟪绦蛟O(shè)計(jì)教程(第二版). 北京:高等教育出版社,2007.8

98、</p><p>  5. 潘愛(ài)民. COM原理與應(yīng)用.北京:清華大學(xué)出版社,1999.11</p><p><b>  附錄</b></p><p>  // dictionaryDlg.cpp : implementation file</p><p><b>  //</b></p>

99、;<p>  #include "stdafx.h"</p><p>  #include "dictionary.h"</p><p>  #include "dictionaryDlg.h"</p><p>  #include "fstream.h"</p>

100、;<p>  #include "string.h"</p><p>  #include <mmsystem.h> //gequbofang</p><p>  #pragma comment(lib,"WINMM.LIB") //gequbofang</p><p>

101、  #include <windows.h></p><p>  #ifdef _DEBUG</p><p>  #define new DEBUG_NEW</p><p>  #undef THIS_FILE</p><p>  static char THIS_FILE[] = __FILE__;</p><

102、;p><b>  #endif</b></p><p>  #define MAX 1000</p><p>  // CAboutDlg dialog used for App About</p><p>  class CAboutDlg : public CDialog</p><p><b>  

103、{</b></p><p><b>  public:</b></p><p>  CAboutDlg();</p><p>  // Dialog Data</p><p>  //{{AFX_DATA(CAboutDlg)</p><p>  enum { IDD = IDD_AB

104、OUTBOX };</p><p>  //}}AFX_DATA</p><p>  // ClassWizard generated virtual function overrides</p><p>  //{{AFX_VIRTUAL(CAboutDlg)</p><p>  protected:</p><p>

105、;  virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support</p><p>  //}}AFX_VIRTUAL</p><p>  // Implementation</p><p>  protected:</p><p>  //{{AFX_MSG(C

106、AboutDlg)f</p><p>  virtual void OnOK();</p><p>  //}}AFX_MSG</p><p>  DECLARE_MESSAGE_MAP()</p><p><b>  };</b></p><p>  CAboutDlg::CAboutDlg()

107、 : CDialog(CAboutDlg::IDD)</p><p><b>  {</b></p><p>  //{{AFX_DATA_INIT(CAboutDlg)</p><p>  //}}AFX_DATA_INIT</p><p><b>  }</b></p><p

108、>  void CAboutDlg::DoDataExchange(CDataExchange* pDX)</p><p><b>  {</b></p><p>  CDialog::DoDataExchange(pDX);</p><p>  //{{AFX_DATA_MAP(CAboutDlg)</p><p&g

109、t;  //}}AFX_DATA_MAP</p><p><b>  }</b></p><p>  BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)</p><p>  //{{AFX_MSG_MAP(CAboutDlg)</p><p>  //}}AFX_MSG_MAP</p>

110、<p>  END_MESSAGE_MAP()</p><p>  /////////////////////////////////////////////////////////////////////////////</p><p>  // CDictionaryDlg dialog</p><p>  CDictionaryDlg::CDic

111、tionaryDlg(CWnd* pParent /*=NULL*/)</p><p>  : CDialog(CDictionaryDlg::IDD, pParent)</p><p><b>  {</b></p><p>  //{{AFX_DATA_INIT(CDictionaryDlg)</p><p>  /

112、/}}AFX_DATA_INIT</p><p>  // Note that LoadIcon does not require a subsequent DestroyIcon in Win32</p><p>  m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);</p><p><b>  }<

113、;/b></p><p>  ///////////////////////////////////////////////////////////////</p><p>  //////////////</p><p>  void CDictionaryDlg::DoDataExchange(CDataExchange* pDX)</p>

114、<p><b>  {</b></p><p>  CDialog::DoDataExchange(pDX);</p><p>  //{{AFX_DATA_MAP(CDictionaryDlg)</p><p>  DDX_Control(pDX, IDC_LIST1, m_list);</p><p>  

115、DDX_Control(pDX, IDC_EDIT1, m_edit1);</p><p>  DDX_Control(pDX, IDC_COMBO1, m_text);</p><p>  //}}AFX_DATA_MAP</p><p><b>  }</b></p><p>  BEGIN_MESSAGE_MAP(

116、CDictionaryDlg, CDialog)</p><p>  //{{AFX_MSG_MAP(CDictionaryDlg)</p><p>  ON_WM_SYSCOMMAND()</p><p>  ON_WM_PAINT()</p><p>  ON_WM_QUERYDRAGICON()</p><p>

117、  ON_CBN_EDITCHANGE(IDC_COMBO1, OnText)</p><p>  ON_EN_CHANGE(IDC_EDIT1, OnEdit1)</p><p>  ON_BN_CLICKED(IDC_FIND, OnFind)</p><p>  ON_BN_CLICKED(IDC_CANSEL, OnCANSEL)</p>&l

118、t;p>  ON_LBN_SELCHANGE(IDC_LIST1, OnList)</p><p>  ON_BN_CLICKED(IDC_LIKE, OnLike)</p><p>  ON_BN_CLICKED(IDC_CLEAR, OnClear)</p><p>  ON_WM_ERASEBKGND()</p><p>  ON

119、_WM_SIZE()</p><p>  ON_WM_TIMER()</p><p>  ON_BN_CLICKED(IDC_BUTTON3, OnButton3)</p><p>  ON_NOTIFY(NM_OUTOFMEMORY, IDC_SLIDER1, OnOutofmemorySlider1)</p><p>  //}}AFX_

120、MSG_MAP</p><p>  END_MESSAGE_MAP()</p><p>  /////////////////////////////////////////////////////////////////////////////</p><p>  // CDictionaryDlg message handlers</p><

121、p>  BOOL CDictionaryDlg::OnInitDialog()</p><p><b>  {</b></p><p>  CDialog::OnInitDialog();</p><p>  // Add "About..." menu item to system menu.</p>

122、<p>  // IDM_ABOUTBOX must be in the system command range.</p><p>  ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);</p><p>  ASSERT(IDM_ABOUTBOX < 0xF000);</p><p>  CMe

123、nu* pSysMenu = GetSystemMenu(FALSE);</p><p>  if (pSysMenu != NULL)</p><p><b>  {</b></p><p>  CString strAboutMenu;</p><p>  strAboutMenu.LoadString(IDS_AB

124、OUTBOX);</p><p>  if (!strAboutMenu.IsEmpty())</p><p><b>  {</b></p><p>  pSysMenu->AppendMenu(MF_SEPARATOR);</p><p>  pSysMenu->AppendMenu(MF_STRING,

125、 IDM_ABOUTBOX, strAboutMenu);</p><p><b>  }</b></p><p><b>  }</b></p><p>  // Set the icon for this dialog. The framework does this automatically</p>

126、<p>  // when the application's main window is not a dialog</p><p>  SetIcon(m_hIcon, TRUE);// Set big icon</p><p>  SetIcon(m_hIcon, FALSE);// Set small icon</p><p>

127、;  // TODO: Add extra initialization here</p><p>  return TRUE; // return TRUE unless you set the focus to a control</p><p><b>  }</b></p><p>  void CDictionaryDlg::On

128、SysCommand(UINT nID, LPARAM lParam)</p><p><b>  {</b></p><p>  if ((nID & 0xFFF0) == IDM_ABOUTBOX)</p><p><b>  {</b></p><p>  CAboutDlg dlgA

129、bout;</p><p>  dlgAbout.DoModal();</p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  CDialog::OnSysComm

130、and(nID, lParam);</p><p><b>  }</b></p><p><b>  }</b></p><p>  // If you add a minimize button to your dialog, you will need the code below</p><p&

131、gt;  // to draw the icon. For MFC applications using the document/view model,</p><p>  // this is automatically done for you by the framework.</p><p>  void CDictionaryDlg::OnPaint() </p&g

溫馨提示

  • 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)論