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

下載本文檔

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

文檔簡介

1、<p><b>  課 程 設(shè) 計</b></p><p>  2011——2012學(xué)年 第2學(xué)期</p><p><b>  目錄</b></p><p>  課程設(shè)計要求...................................3</p><p>  系統(tǒng)的簡單操作及功能

2、說明.......................4</p><p>  設(shè)計系統(tǒng)實現(xiàn)的各模塊進(jìn)行介紹...................5</p><p>  模塊源程序以及對源程序主要部分的相應(yīng)注釋說明...6</p><p>  適當(dāng)?shù)倪\行結(jié)果界面的截圖.......................19</p><p>  系統(tǒng)設(shè)計過

3、程中自己所遇到的問題及相應(yīng)的解決方法和 解決過程.........................................25</p><p>  參考文獻(xiàn).......................................29</p><p><b>  一、課程設(shè)計要求</b></p><p>  課設(shè)題目:學(xué)生信息管

4、理系統(tǒng)實現(xiàn)</p><p>  1.能實現(xiàn)學(xué)生信息的增加與刪除;</p><p>  2.能實現(xiàn)學(xué)生信息的查詢與顯示;</p><p>  3.實現(xiàn)其它附加功能;</p><p>  4.界面良好,功能完善。</p><p>  二、系統(tǒng)的簡單操作及功能說明 </p><p><b>

5、  簡單操作</b></p><p><b>  1.輸入信息按鈕:</b></p><p>  從學(xué)生信息中輸入學(xué)生信息的各項內(nèi)容,然后單擊輸入信息即可把學(xué)生信 息存入系統(tǒng),同時清除學(xué)生的各項信息,以備下一個學(xué)生信息的輸入。若輸入的學(xué)生信息不完整,則彈出對話框提醒;若系統(tǒng)中已存在該學(xué)生,則彈出對話框提醒。</p><p><

6、b>  2.顯示信息按鈕:</b></p><p>  單擊此按鈕可以顯示系統(tǒng)中所有的學(xué)生信息。若系統(tǒng)中沒有學(xué)生信息,則彈出對話框提醒;若存在,則彈出對話框提醒共有幾條信息。</p><p><b>  3.查詢信息按鈕:</b></p><p>  在處理消息框中輸入查詢方式后,單擊此按鈕可以在學(xué)生信息中顯示符合條件的學(xué)生信

7、息??蛇x擇其中一種方式查詢,其他方式不輸入信息;或選擇二、三、四種方式查詢。若系統(tǒng)中不存在與查詢條件相符的學(xué)生,則彈出對話框提醒;若存在,則彈出對話框提示有幾條信息,并在學(xué)生信息一欄中顯示出來。</p><p><b>  4.刪除信息按鈕:</b></p><p>  在處理消息框中輸入要刪除的學(xué)生信息類型的資料,然后單擊此按鈕,可以刪除符合條件的學(xué)生信息??蛇x擇其

8、中一種處理方式刪除,其他方式不輸入信息;或選擇二、三、四種方式刪除。若不存在與刪除條件相符的學(xué)生,則彈出對話框提醒;否則,彈出對話框顯示有幾條學(xué)生信息被刪除。</p><p><b>  5.添加信息按鈕:</b></p><p>  在學(xué)生信息框中輸入要添加的學(xué)生信息,然后單擊此按鈕可以添加學(xué)生信息,同時清除學(xué)生的各項信息,以備下一個學(xué)生信息的添加。若輸入的學(xué)生信息

9、不完整,則彈出對話框提醒;若系統(tǒng)中已存在該學(xué)生,則彈出對話框提醒。</p><p><b>  6.退出按鈕:</b></p><p>  當(dāng)要退出學(xué)生信息管理系統(tǒng)時,單擊此按鈕后彈出一個對話框,單擊確定可退出系統(tǒng),否則單擊取消。</p><p><b>  7.上一條按鈕:</b></p><p>

10、;  當(dāng)要顯示的學(xué)生信息不止一條時,此按鈕有效,單擊可以顯示當(dāng)前信息的上一條信息。若已顯示完,則彈出對話框提醒。</p><p><b>  8.下一條按鈕:</b></p><p>  當(dāng)要顯示的學(xué)生信息不止一條時,此按鈕有效,單擊可以顯示當(dāng)前信息的上一條信息。若已顯示完,則彈出對話框提醒。</p><p><b>  9.清屏按鈕

11、:</b></p><p>  當(dāng)要清除界面上的各種信息時可以單擊此按鈕,則界面上所有信息都被清除。</p><p><b>  功能說明</b></p><p>  此學(xué)生信息管理系統(tǒng)可以實現(xiàn)學(xué)生信息的輸入、添加、顯示、查詢和刪除功能。當(dāng)處理時需要顯示的學(xué)生信息不止一條時可以逐條顯示;當(dāng)需要清除界面的信息時可以單擊清屏按鈕。其中顯

12、示是指顯示系統(tǒng)中已有的全部學(xué)生信息;查詢和刪除均可以按照多種方式進(jìn)行。退出系統(tǒng)時單擊退出按鈕,這時,會提示是否退出,單擊確定即可退出系統(tǒng);否則單擊取消。注意:一旦退出系統(tǒng),下次再運行時需要重新輸入學(xué)生信息。</p><p>  設(shè)計系統(tǒng)實現(xiàn)的各模塊進(jìn)行介紹</p><p>  本學(xué)生信息管理系統(tǒng)從界面上看共有三部分:學(xué)生信息、處理信息和操作。 </p><p>  

13、學(xué)生信息:學(xué)生信息顯示系統(tǒng)中具體包含哪些學(xué)生信息以及作為信息輸入通道。</p><p>  處理信息:指按照何種方式來處理系統(tǒng)中得信息,可以選擇處理消息框中一種方式或多種方式處理學(xué)生信息。如按照學(xué)號來查詢學(xué)生信息或刪除某個學(xué)院某個專業(yè)的學(xué)生。</p><p>  操作:指觸發(fā)各種處理的按鈕。有輸入信息、顯示信息、查詢信息、刪除信息、添加信息、退出、上一條、下一條和清屏。</p>

14、<p>  系統(tǒng)背景圖是通過添加位圖來實現(xiàn)的,圖圖片是武漢理工大學(xué)的校徽。</p><p>  模塊源程序以及對源程序主要部分的相應(yīng)注釋說明</p><p>  注:(1)在頭文件中加入:struct student{</p><p>  CString editnumber;</p><p>  CString editnam

15、e;</p><p>  CString editsex;</p><p>  CString editage;</p><p>  CString editacademy;</p><p>  CString editmajor;</p><p>  CString editclass;</p><

16、;p>  CString editdomain;</p><p><b>  int next;</b></p><p>  };//包含學(xué)生信息的結(jié)構(gòu)體</p><p>  #define Max 100//結(jié)構(gòu)體中包含的最多的學(xué)生數(shù)</p><p>  student stu[Max];//學(xué)生</p&g

17、t;<p>  int i=0;//當(dāng)前系統(tǒng)中學(xué)生個數(shù)</p><p>  int Itag[Max];//查詢函數(shù)中符合條件的記錄的個數(shù)</p><p>  int count=0;//記錄符合條件的記錄數(shù)</p><p>  static int ncount;//記錄當(dāng)前顯示的信息前已顯示的記錄數(shù),在OnBUTTONdown()函數(shù)中使用<

18、/p><p>  static int nncount;//記錄當(dāng)前顯示的信息前已顯示的記錄數(shù)在OnBUTTONup()函數(shù)中使用</p><p><b>  1.輸入學(xué)生信息</b></p><p>  void CMyDlg::OnBUTTONinput() </p><p><b>  {</b>

19、</p><p><b>  /</b></p><p>  // TODO: Add your control notification handler code here</p><p>  UpdateData(TRUE);//從編輯框中讀入數(shù)據(jù)</p><p>  if(m_academy=="&quo

20、t;||m_age==""||m_class==""||m_domain==""||m_major==""||m_name==""||m_number==""||m_sex=="")</p><p>  MessageBox("學(xué)生信息輸入不完整!",&q

21、uot;Warning",MB_OK|MB_ICONINFORMATION);</p><p><b>  else </b></p><p><b>  {</b></p><p>  int itag=0;//用來標(biāo)識系統(tǒng)中是否已存在新加入的學(xué)生信息</p><p><b>

22、  int j=0;</b></p><p>  while(j<i){</p><p>  if(stu[j].editnumber==m_number)</p><p><b>  {</b></p><p><b>  itag=1;</b></p><p

23、>  MessageBox("系統(tǒng)中已存在該學(xué)生!","Warning!",MB_OK|MB_ICONINFORMATION);break;</p><p><b>  }</b></p><p><b>  j++;</b></p><p><b>  }</

24、b></p><p>  if(itag==0)</p><p><b>  {</b></p><p>  stu[i].editnumber=m_number;</p><p>  stu[i].editname=m_name;</p><p>  stu[i].editsex=m_se

25、x;</p><p>  stu[i].editage=m_age;</p><p>  stu[i].editacademy=m_academy;</p><p>  stu[i].editmajor=m_major;</p><p>  stu[i].editclass=m_class;</p><p>  stu

26、[i++].editdomain=m_domain;</p><p><b>  }</b></p><p><b>  }</b></p><p>  GetDlgItem(IDC_BUTTONdown)->EnableWindow(0);//使下一條按鈕不可用</p><p>  GetD

27、lgItem(IDC_BUTTONup)->EnableWindow(0);//使上一條按鈕不可用</p><p>  //把學(xué)生信息中各編輯框清零</p><p>  m_academy = _T("");</p><p>  m_age = _T("");</p><p>  m_class

28、= _T("");</p><p>  m_domain = _T("");</p><p>  m_major = _T("");</p><p>  m_name = _T("");</p><p>  m_number = _T("");

29、</p><p>  m_sex = _T("");</p><p>  UpdateData(FALSE);</p><p><b>  }</b></p><p>  2.添加信息函數(shù),實質(zhì)和輸入信息函數(shù)一樣</p><p>  void CMyDlg::OnBUTTONa

30、dd() </p><p><b>  {</b></p><p>  // TODO: Add your control notification handler code here</p><p>  UpdateData(TRUE);//從編輯框讀入數(shù)據(jù)</p><p>  if(m_academy=="

31、"||m_age==""||m_class==""||m_domain==""||m_major==""||m_name==""||m_number==""||m_sex=="")</p><p>  MessageBox("學(xué)生信息輸入不完整!"

32、;,"Warning",MB_OK|MB_ICONINFORMATION);</p><p><b>  else{</b></p><p>  int itag=0;//用來標(biāo)識系統(tǒng)中是否已存在新加入的學(xué)生信息</p><p><b>  int j=0;</b></p><p&g

33、t;  while(j<i){</p><p>  if(stu[j].editnumber==m_number)</p><p><b>  {</b></p><p><b>  itag=1;</b></p><p>  MessageBox("系統(tǒng)中已存在該學(xué)生!"

34、,"Warning!",MB_OK|MB_ICONINFORMATION);break;</p><p><b>  }</b></p><p><b>  j++;</b></p><p><b>  }</b></p><p>  if(itag==0)

35、</p><p><b>  {</b></p><p>  stu[i].editnumber=m_number;</p><p>  stu[i].editname=m_name;</p><p>  stu[i].editsex=m_sex;</p><p>  stu[i].editage

36、=m_age;</p><p>  stu[i].editacademy=m_academy;</p><p>  stu[i].editmajor=m_major;</p><p>  stu[i].editclass=m_class;</p><p>  stu[i++].editdomain=m_domain;</p>&

37、lt;p><b>  }</b></p><p><b>  }</b></p><p>  GetDlgItem(IDC_BUTTONdown)->EnableWindow(0);//使下一條按鈕不可用</p><p>  GetDlgItem(IDC_BUTTONup)->EnableWindow(0

38、);//使上一條按鈕不可用</p><p>  //把學(xué)生信息中各編輯框清零</p><p>  m_academy = _T("");</p><p>  m_age = _T("");</p><p>  m_class = _T("");</p><p>

39、;  m_domain = _T("");</p><p>  m_major = _T("");</p><p>  m_name = _T("");</p><p>  m_number = _T("");</p><p>  m_sex = _T("

40、;");</p><p>  UpdateData(FALSE);}</p><p>  //把學(xué)生信息中各編輯框清零</p><p>  m_academy = _T("");</p><p>  m_age = _T("");</p><p>  m_class

41、= _T("");</p><p>  m_domain = _T("");</p><p>  m_major = _T("");</p><p>  m_name = _T("");</p><p>  m_number = _T("");

42、</p><p>  m_sex = _T("");</p><p>  UpdateData(FALSE);</p><p><b>  }</b></p><p>  3.查詢符合條件的學(xué)生信息</p><p>  void CMyDlg::OnBUTTONsearch()

43、 </p><p><b>  {</b></p><p>  // TODO: Add your control notification handler code here</p><p><b>  int j;</b></p><p><b>  int k=0;</b>

44、;</p><p>  count=0;//記錄符合條件的學(xué)生數(shù)</p><p>  UpdateData(TRUE);//讀入數(shù)據(jù)</p><p>  //如果處理信息中沒有輸入查詢條件,則彈出對話框“請輸入查詢條件!”</p><p>  if(m_num==""&&m_acad=="&quo

45、t;&&m_maj==""&&m_cla=="")</p><p><b>  {</b></p><p>  MessageBox("請輸入查詢條件!","Warning",MB_OK|MB_ICONINFORMATION);</p><

46、;p><b>  }</b></p><p><b>  else {</b></p><p>  //判斷是否是按照四種方式(學(xué)號、學(xué)院、專業(yè)、班級)查詢</p><p>  for(j=0;j<i;j++)</p><p><b>  {</b></p&g

47、t;<p>  if(m_num==stu[j].editnumber&&m_acad==stu[j].editacademy&&m_maj==stu[j].editmajor&&m_cla==stu[j].editclass)</p><p><b>  {</b></p><p><b>  

48、count++;</b></p><p>  Itag[k++]=j;</p><p><b>  }</b></p><p>  //判斷是否是按照其中三種方式查詢</p><p>  if((m_num==stu[j].editnumber&&m_acad==stu[j].editacad

49、emy&&m_maj==stu[j].editmajor&&m_cla=="")||(m_num==""&&m_acad==stu[j].editacademy&&m_maj==stu[j].editmajor&&m_cla==stu[j].editclass)||(m_num==stu[j].editnu

50、mber&&m_acad==stu[j].editacademy&&m_cla==stu[j].editclass&&m_maj=="")||(m_num==stu[j].editnumber&&m_maj==stu[j].editmajor&&m_cla==stu[j].editclass&&m_acad==&qu

51、ot;"))</p><p><b>  {</b></p><p><b>  count++;</b></p><p>  Itag[k++]=j;</p><p><b>  }</b></p><p>  //判斷是否是按照其中兩種方式

52、查詢</p><p>  if((m_num==stu[j].editnumber&&m_acad==stu[j].editacademy&&m_maj==""&&m_cla=="")||(m_num==""&&m_acad==""&&m_maj==

53、stu[j].editmajor&&m_cla==stu[j].editclass)||(m_num==""&&m_acad==stu[j].editacademy&&m_maj==stu[j].editmajor&&m_cla=="")||(m_num==stu[j].editnumber&&m_maj=

54、=stu[j].editmajor&&m_acad==""&&m_cla=="")||(m_num==stu[j].editnumber&&m_cla==stu[j].editclass&&m_acad==""&&m_maj=="")||(m_acad==stu[j].

55、editacademy&&m_cla==stu[j].editclass&&m_num==""&&m_maj==""))</p><p><b>  {</b></p><p><b>  count++;</b></p><p>  

56、Itag[k++]=j;</p><p><b>  }</b></p><p>  //判斷是否是按照其中一種方式查詢</p><p>  if((m_num==stu[j].editnumber&&m_acad==""&&m_maj==""&&m_cla

57、=="")||(m_num==""&&m_acad==stu[j].editacademy&&m_maj==""&&m_cla=="")||</p><p>  (m_num==""&&m_acad==""&&m_

58、maj==stu[j].editmajor&&m_cla=="")||</p><p>  (m_num==""&&m_acad==""&&m_maj==""&&m_cla==stu[j].editclass))</p><p><b>

59、  {</b></p><p><b>  count++;</b></p><p>  Itag[k++]=j;</p><p><b>  }</b></p><p><b>  }</b></p><p>  //判斷是否存在符合條件的

60、學(xué)生</p><p>  if(count==0){</p><p>  MessageBox("不存在符合條件的學(xué)生信息!","Warning",MB_OK|MB_ICONINFORMATION);</p><p><b>  }</b></p><p>  else{

61、 </p><p>  CString m_k;</p><p>  m_k.Format("共有%d條符合條件的學(xué)生信息!",k);</p><p>  MessageBox(m_k,"Attention",MB_OK|MB_ICONINFORMATION);</p><p>  //輸出

62、符合條件的第一條就記錄</p><p>  m_academy = stu[Itag[0]].editacademy;</p><p>  m_age = stu[Itag[0]].editage;</p><p>  m_class = stu[Itag[0]].editclass;</p><p>  m_domain = stu[Ita

63、g[0]].editdomain;</p><p>  m_major = stu[Itag[0]].editmajor;</p><p>  m_number = stu[Itag[0]].editnumber;</p><p>  m_sex = stu[Itag[0]].editsex;</p><p>  m_name=stu[Ita

64、g[0]].editname;</p><p>  UpdateData(FALSE);</p><p><b>  }</b></p><p><b>  }</b></p><p>  if(count==1)//如果只有一條符合條件的學(xué)生信息,則使“上一條”和“下一條”按鈕可用</p&g

65、t;<p><b>  {</b></p><p>  GetDlgItem(IDC_BUTTONdown)->EnableWindow(0);</p><p>  GetDlgItem(IDC_BUTTONup)->EnableWindow(0);</p><p><b>  }</b><

66、/p><p>  else if(count>1){ //如果符合條件的記錄不止一條,使“下一條”按鈕可用</p><p>  GetDlgItem(IDC_BUTTONdown)->EnableWindow(1);</p><p>  ncount=1;//記錄當(dāng)前顯示的信息前已顯示的記錄數(shù),在OnB

67、UTTONdown()函數(shù)中使用。定義ncount的初值</p><p><b>  }</b></p><p><b>  }</b></p><p>  4.查看下一條信息按鈕函數(shù)</p><p>  void CMyDlg::OnBUTTONdown() </p><p&g

68、t;<b>  {</b></p><p>  // TODO: Add your control notification handler code here</p><p>  if(count>=2&&ncount<count)//判斷是否存在下一條信息,存在則輸出</p><p><b>  {&l

69、t;/b></p><p>  m_academy = stu[Itag[ncount]].editacademy;</p><p>  m_age = stu[Itag[ncount]].editage;</p><p>  m_class = stu[Itag[ncount]].editclass;</p><p>  m_doma

70、in = stu[Itag[ncount]].editdomain;</p><p>  m_major = stu[Itag[ncount]].editmajor;</p><p>  m_number = stu[Itag[ncount]].editnumber;</p><p>  m_sex = stu[Itag[ncount]].editsex;</

71、p><p>  m_name = stu[Itag[ncount]].editname;</p><p>  UpdateData(FALSE);</p><p><b>  ncount++;</b></p><p><b>  }</b></p><p>  //不存在則是“

72、下一條”按鈕不可使用</p><p><b>  else{</b></p><p>  MessageBox("There are no according items or the according items have been all displayed","Warning",MB_ICONWARNING);//彈出提

73、醒對話框</p><p>  GetDlgItem(IDC_BUTTONdown)->EnableWindow(0);</p><p>  //ncount=1;錯誤每當(dāng)BUTTONdown按鈕不可用時,導(dǎo)致BUTTONup同時不可用,該為在OnBUTTONsearch()函數(shù)中定義ncount的初值</p><p><b>  }</b>

74、;</p><p>  //判斷當(dāng)前記錄前是否還存在記錄,若存在則使“上一條”按鈕可用</p><p>  if(ncount>=2){</p><p>  GetDlgItem(IDC_BUTTONup)->EnableWindow(1);</p><p>  nncount=ncount-1;//(應(yīng)減1,否則up按鈕顯示時,

75、將還是顯示原狀態(tài))</p><p>  //記錄當(dāng)前顯示的信息前已顯示的記錄數(shù)在OnBUTTONup()函數(shù)中使用,且給nncount賦初值</p><p><b>  }</b></p><p><b>  }</b></p><p>  5.查看上一條消息按鈕函數(shù)</p><

76、p>  void CMyDlg::OnBUTTONup() </p><p><b>  {</b></p><p>  // TODO: Add your control notification handler code here</p><p>  if(ncount>=2&&nncount>0)//判斷

77、當(dāng)前記錄前是否還存在記錄,若存在,則輸出</p><p><b>  {</b></p><p>  m_academy = stu[Itag[nncount-1]].editacademy;</p><p>  m_age = stu[Itag[nncount-1]].editage;</p><p>  m_clas

78、s = stu[Itag[nncount-1]].editclass;</p><p>  m_domain = stu[Itag[nncount-1]].editdomain;</p><p>  m_major = stu[Itag[nncount-1]].editmajor;</p><p>  m_number = stu[Itag[nncount-1]].

79、editnumber;</p><p>  m_sex = stu[Itag[nncount-1]].editsex;</p><p>  m_name = stu[Itag[nncount-1]].editname;</p><p>  UpdateData(FALSE);</p><p>  nncount--;</p>

80、<p><b>  }</b></p><p>  //若不存在則使“上一條”按鈕不可用</p><p><b>  else{</b></p><p>  MessageBox("There are no according items or the according items have been

81、 all displayed","Warning",MB_ICONWARNING);//彈出提醒對話框</p><p>  GetDlgItem(IDC_BUTTONup)->EnableWindow(0);//使“上一條”按鈕不可用</p><p><b>  }</b></p><p>  //判斷當(dāng)前記

82、錄后是否還存在記錄,若存在則使“下一條”按鈕可用</p><p>  if(nncount<ncount-1){ //相應(yīng)應(yīng)改為ncount-1</p><p>  GetDlgItem(IDC_BUTTONdown)->EnableWindow(1);</p><p>  ncount=nncount+1;//給標(biāo)志賦

83、初值</p><p><b>  }</b></p><p><b>  }</b></p><p>  6.刪除符合條件的學(xué)生后,并把后面的學(xué)生信息向前移</p><p>  void deletemove(int j)</p><p><b>  {</b

84、></p><p>  for(int k=j;k<i-1;k++)</p><p><b>  {</b></p><p>  stu[k].editnumber=stu[k+1].editnumber;</p><p>  stu[k].editname=stu[k+1].editname;</p&

85、gt;<p>  stu[k].editsex=stu[k+1].editsex;</p><p>  stu[k].editage=stu[k+1].editage;</p><p>  stu[k].editacademy=stu[k+1].editacademy;</p><p>  stu[k].editmajor=stu[k+1].editm

86、ajor;</p><p>  stu[k].editclass=stu[k+1].editclass;</p><p>  stu[k].editdomain=stu[k+1].editdomain;</p><p><b>  }</b></p><p><b>  i--;</b></p

87、><p><b>  }</b></p><p>  7.刪除符合條件的記錄的函數(shù)</p><p>  void CMyDlg::OnBUTTONdelete() </p><p><b>  {</b></p><p>  // TODO: Add your control n

88、otification handler code here</p><p>  int itag=0;//判斷是否有記錄被刪除的標(biāo)志</p><p><b>  int j=0;</b></p><p>  UpdateData(TRUE);</p><p>  /*if((m_num==""&am

89、p;&m_acad==""&&m_maj==""&&m_cla==""))</p><p><b>  {</b></p><p>  MessageBox("請輸入刪除條件!","Attention",MB_OK|MB_ICON

90、INFORMATION);</p><p><b>  itag=1;</b></p><p><b>  }</b></p><p>  else */while(j<i)</p><p><b>  {</b></p><p>  //判斷是否

91、是按照四種方式(學(xué)號、學(xué)院、專業(yè)、班級)查詢,若是則把符合條件的刪除,并改變標(biāo)志狀態(tài)</p><p>  if(m_num==stu[j].editnumber&&m_acad==stu[j].editacademy&&m_maj==stu[j].editmajor&&m_cla==stu[j].editclass)</p><p><

92、b>  {</b></p><p><b>  itag++;</b></p><p>  deletemove(j);</p><p><b>  }</b></p><p>  //判斷是否是按照三種方式查詢,若是則把記錄刪除,并改變標(biāo)志狀態(tài)</p><p&

93、gt;  else if((m_num==stu[j].editnumber&&m_acad==stu[j].editacademy&&m_maj==stu[j].editmajor&&m_cla=="")||</p><p>  (m_num==""&&m_acad==stu[j].editacademy&a

94、mp;&m_maj==stu[j].editmajor&&m_cla==stu[j].editclass)||</p><p>  (m_num==stu[j].editnumber&&m_acad==stu[j].editacademy&&m_cla==stu[j].editclass&&m_maj=="")||<

95、/p><p>  (m_num==stu[j].editnumber&&m_maj==stu[j].editmajor&&m_cla==stu[j].editclass&&m_acad==""))</p><p><b>  {</b></p><p>  deletemove(j

96、);</p><p><b>  itag++;</b></p><p><b>  }</b></p><p>  //判斷是否是按照兩種方式查詢,若是則把記錄刪除,并改變標(biāo)志狀態(tài)</p><p>  else if((m_num==stu[j].editnumber&&m_aca

97、d==stu[j].editacademy&&m_maj==""&&m_cla=="")||</p><p>  (m_num==""&&m_acad==""&&m_maj==stu[j].editmajor&&m_cla==stu[j].editclas

98、s)||</p><p>  (m_num==""&&m_acad==stu[j].editacademy&&m_maj==stu[j].editmajor&&m_cla=="")||</p><p>  (m_num==stu[j].editnumber&&m_maj==stu[j].

99、editmajor&&m_acad==""&&m_cla=="")||(m_num==stu[j].editnumber&&m_cla==stu[j].editclass&&m_acad==""&&m_maj=="")||(m_acad==stu[j].editaca

100、demy&&m_cla==stu[j].editclass&&m_num==""&&m_maj==""))</p><p><b>  {</b></p><p>  itag++;deletemove(j);</p><p><b>  }<

101、;/b></p><p>  //判斷是否是按照一種方式查詢,若是則把記錄刪除,并改變標(biāo)志狀態(tài)</p><p>  else if((m_num==stu[j].editnumber&&m_acad==""&&m_maj==""&&m_cla=="")||(m_num==&q

102、uot;"&&m_acad==stu[j].editacademy&&m_maj==""&&m_cla=="")||(m_num==""&&m_acad==""&&m_maj==stu[j].editmajor&&m_cla=="&quo

103、t;)||</p><p>  (m_num==""&&m_acad==""&&m_maj==""&&m_cla==stu[j].editclass))</p><p><b>  {</b></p><p>  itag++;delet

104、emove(j);</p><p><b>  }</b></p><p>  else j++;//剛開始時是用for語句的,也就是整體的j++,結(jié)果總導(dǎo)致第一個符合條件的記錄后面緊接著符合條件的那個記錄無法刪除,這時應(yīng)注意,</p><p>  //后面的那條記錄已經(jīng)挪到j(luò)位置了,所以j不應(yīng)該加1</p><p>&

105、lt;b>  }</b></p><p>  //彈出對話框,顯示被刪除的符合條件的信息數(shù)</p><p>  //if(itag!=0){</p><p>  CString m_itag;</p><p>  m_itag.Format("共有%d條符合條件的學(xué)生信息被刪除!",itag);</

106、p><p>  MessageBox(m_itag,"Attention",MB_OK|MB_ICONINFORMATION);</p><p>  GetDlgItem(IDC_BUTTONdown)->EnableWindow(0);//使下一條按鈕不可用</p><p>  GetDlgItem(IDC_BUTTONup)->Ena

107、bleWindow(0);//使上一條按鈕不可用</p><p><b>  /*}</b></p><p><b>  else{</b></p><p>  MessageBox("共有0條學(xué)生信息被刪除!","Attention",MB_OK|MB_ICONINFORMATIO

108、N);</p><p><b>  }*/</b></p><p>  //把學(xué)生信息中各編輯框清零</p><p>  //m_cla=_T("");</p><p>  //m_acad = _T("");</p><p>  m_academy =

109、 _T("");</p><p>  m_age = _T("");</p><p>  m_class = _T("");</p><p>  m_domain = _T("");</p><p>  //m_maj = _T("");&l

110、t;/p><p>  m_major = _T("");</p><p>  m_name = _T("");</p><p>  //m_num = _T("");</p><p>  m_number = _T("");</p><p>

111、  m_sex = _T("");</p><p>  UpdateData(FALSE);</p><p><b>  }</b></p><p>  8.顯示當(dāng)前系統(tǒng)中得全部學(xué)生信息</p><p>  void CMyDlg::OnBUTTONshow() </p><p&g

112、t;<b>  {</b></p><p>  // TODO: Add your control notification handler code here</p><p><b>  //把各編輯框清零</b></p><p>  m_cla=_T("");</p><p>

113、;  m_acad = _T("");</p><p>  m_academy = _T("");</p><p>  m_age = _T("");</p><p>  m_class = _T("");</p><p>  m_domain = _T(&quo

114、t;");</p><p>  m_maj = _T("");</p><p>  m_major = _T("");</p><p>  m_name = _T("");</p><p>  m_num = _T("");</p><

115、;p>  m_number = _T("");</p><p>  m_sex = _T("");</p><p>  UpdateData(FALSE);</p><p>  if(i==0){ //系統(tǒng)中沒有學(xué)生信息</p><p>  MessageBox("系統(tǒng)中共有0條學(xué)生

116、信息!","Warning",MB_OK|MB_ICONINFORMATION);</p><p><b>  }</b></p><p>  else{ //系統(tǒng)中存在學(xué)生信息</p><p>  CString m_i;</p><p>  m_i.Format("系

117、統(tǒng)中共有%d條學(xué)生信息!",i);</p><p>  MessageBox(m_i,"Attention",MB_OK|MB_ICONINFORMATION);</p><p><b>  int k;</b></p><p><b>  count=i;</b></p>&l

118、t;p>  for(k=0;k<i;k++)</p><p>  Itag[k]=k;</p><p><b>  k=0;</b></p><p><b>  //輸出信息</b></p><p><b>  if(k<=i){</b></p>

119、<p>  m_academy = stu[k].editacademy;</p><p>  m_age = stu[k].editage;</p><p>  m_class = stu[k].editclass;</p><p>  m_domain = stu[k].editdomain;</p><p>  m_majo

120、r = stu[k].editmajor;</p><p>  m_number = stu[k].editnumber;</p><p>  m_sex = stu[k].editsex;</p><p>  m_name = stu[k].editname;</p><p>  UpdateData(FALSE);</p>

121、<p><b>  }</b></p><p><b>  if(i==1)</b></p><p><b>  {</b></p><p>  GetDlgItem(IDC_BUTTONdown)->EnableWindow(0);</p><p>  Get

122、DlgItem(IDC_BUTTONup)->EnableWindow(0);</p><p><b>  }</b></p><p>  else if(k<i)</p><p>  { //如果符合條件的記錄不止一條,使“下一條”按鈕可用</p><p&

123、gt;  GetDlgItem(IDC_BUTTONdown)->EnableWindow(1);</p><p>  ncount=1;//記錄當(dāng)前顯示的信息前已顯示的記錄數(shù),在OnBUTTONdown()函數(shù)中使用。定義ncount的初值</p><p><b>  }</b></p><p><b>  }</b&g

124、t;</p><p><b>  }</b></p><p><b>  9.退出系統(tǒng)</b></p><p>  void CMyDlg::OnBUTTONexit() </p><p><b>  {</b></p><p>  // TODO: A

125、dd your control notification handler code here</p><p>  int m=MessageBox("你確定要退出嗎?","Warning",MB_YESNO);</p><p>  if(m==IDYES)</p><p><b>  OnOK();</b>

126、;</p><p><b>  }</b></p><p><b>  10.清屏</b></p><p>  void CMyDlg::OnBUTTONclear() </p><p><b>  {</b></p><p>  // TODO: Ad

127、d your control notification handler code here</p><p>  GetDlgItem(IDC_BUTTONdown)->EnableWindow(0);//使下一條按鈕不可用</p><p>  GetDlgItem(IDC_BUTTONup)->EnableWindow(0);//使上一條按鈕不可用</p><

128、;p><b>  //清屏</b></p><p>  m_cla = _T("");</p><p>  m_acad = _T("");</p><p>  m_academy = _T("");</p><p>  m_age = _T("

129、");</p><p>  m_class = _T("");</p><p>  m_domain = _T("");</p><p>  m_maj = _T("");</p><p>  m_major = _T("");</p>&

130、lt;p>  m_name = _T("");</p><p>  m_num = _T("");</p><p>  m_number = _T("");</p><p>  m_sex = _T("");</p><p>  UpdateData(FAL

131、SE);</p><p><b>  }</b></p><p>  為添加背景圖,在void CMyDlg::OnPaint()中得else中修改如下:</p><p><b>  else</b></p><p><b>  {</b></p><p&g

132、t;  //CDialog::OnPaint();//使原來的函數(shù)不可用</p><p>  CPaintDC dc(this); </p><p>  CRect rect; </p><p>  GetClientRect(&rect); </p><p>  CDC dcMem; </p>

133、<p>  dcMem.CreateCompatibleDC(&dc); </p><p>  CBitmap bmpBackground; </p><p>  bmpBackground.LoadBitmap(IDB_BITMAP1); //IDB_BITMAP是你自己的圖對應(yīng)的ID ,由于我剛剛加入的位圖資源 </p><

134、p>  //被我命名成了IDB_Bg,因而我這句就是bmpBackground.LoadBitmap(IDB_Bg); </p><p>  BITMAP bitmap; </p><p>  bmpBackground.GetBitmap(&bitmap); </p><p>  CBitmap *pbmpOld=dcMem.Sel

135、ectObject(&bmpBackground); </p><p>  dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcMem,0,0, </p><p>  bitmap.bmWidth,bitmap.bmHeight,SRCCOPY); </p><p><b>  }&l

136、t;/b></p><p><b>  }</b></p><p>  適當(dāng)?shù)倪\行結(jié)果界面的截圖</p><p><b>  程序運行時的界面:</b></p><p>  (后來加了最小化功能)</p><p>  輸入和添加學(xué)生信息時:</p><

137、;p>  3.顯示系統(tǒng)中所有的學(xué)生信息:</p><p>  刪除系統(tǒng)中的學(xué)生信息:</p><p>  查詢系統(tǒng)中的學(xué)生信息:</p><p><b>  退出時:</b></p><p>  系統(tǒng)設(shè)計過程中自己所遇到的問題及相應(yīng)的解決方法和解決過程</p><p><b>  

138、調(diào)試錯誤:</b></p><p><b> ?。?)</b></p><p>  原因:忘記在頭文件中包含DLG1文件;不小心把m_cla寫成了m_cls;</p><p>  程序中if else if的使用有誤,else if 使用中竟沒有了條件判斷句,此類錯誤實在在荒謬之極,但在程序較多時竟沒有注意到,實乃是知識點掌握不牢固

139、。</p><p><b> ?。?)</b></p><p>  原因:int Itag[Max];int count=0;應(yīng)定義為全局變量</p><p><b> ?。?)</b></p><p>  原因:按鈕的ID在程序中書寫錯誤,應(yīng)為IDC_BUTTONup或者IDC_BUTTONdow

140、n錯寫為IDC_Buttonup和IDC_Buttondown,</p><p>  Ncount 也應(yīng)定義為全局變量</p><p><b>  (4)</b></p><p>  原因:程序正在運行,上次運行的結(jié)果未及時關(guān)閉</p><p>  (5)//if(m_num==""&&

溫馨提示

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

評論

0/150

提交評論