2023年全國(guó)碩士研究生考試考研英語(yǔ)一試題真題(含答案詳解+作文范文)_第1頁(yè)
已閱讀1頁(yè),還剩26頁(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><b>  目錄</b></p><p><b>  1 設(shè)計(jì)要求1</b></p><p><b>  2 數(shù)據(jù)庫(kù)設(shè)計(jì)1</b></p><p>  2.1 概念設(shè)計(jì)1</p><p>  2.2 邏輯設(shè)計(jì)與物理結(jié)構(gòu)的設(shè)計(jì)2</p>&

2、lt;p>  2.3 數(shù)據(jù)庫(kù)的輸入2</p><p><b>  3 程序設(shè)計(jì)4</b></p><p>  3.1 學(xué)生信息操作5</p><p>  3.2 學(xué)生成績(jī)操作14</p><p><b>  4 調(diào)試報(bào)告26</b></p><p><b

3、>  5 心得體會(huì)26</b></p><p><b>  6 參考文獻(xiàn)26</b></p><p><b>  學(xué)生成績(jī)管理系統(tǒng)</b></p><p><b>  1 設(shè)計(jì)要求</b></p><p>  管理信息系統(tǒng)MIS(Management In

4、formation System),在強(qiáng)調(diào)管理,強(qiáng)調(diào)信息的現(xiàn)代社會(huì)中越來(lái)越得到普及,如:人事管理、學(xué)生管理系統(tǒng)、工資管理系統(tǒng)等。常用的MIS系統(tǒng)都是基于數(shù)據(jù)庫(kù)操作,實(shí)現(xiàn)信息的查詢、增加、刪除、修改等。</p><p>  學(xué)生成績(jī)管理系統(tǒng)是用AECESS數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)庫(kù)的設(shè)計(jì)和添加數(shù)據(jù),在設(shè)置數(shù)據(jù)源(ODBC)建立數(shù)據(jù)庫(kù)與程序的連接后,利用VC開(kāi)發(fā)可視化界面完成基于數(shù)據(jù)庫(kù)的操作,實(shí)現(xiàn)學(xué)生信息的查詢、增加、刪除、修

5、改和成績(jī)信息的查詢、增加、刪除、修改、排序、統(tǒng)計(jì)等功能,從而實(shí)現(xiàn)學(xué)生成績(jī)信息的多方位顯示,方便管理者對(duì)學(xué)生成績(jī)的管理。</p><p><b>  2 數(shù)據(jù)庫(kù)設(shè)計(jì)</b></p><p><b>  2.1 概念設(shè)計(jì)</b></p><p>  根據(jù)設(shè)計(jì)要求,要對(duì)學(xué)生信息和成績(jī)進(jìn)行操作,所以系統(tǒng)實(shí)體包括學(xué)生基本信息表和課程

6、基本信息表。</p><p>  學(xué)生成績(jī)管理系統(tǒng)中它們的聯(lián)系是一個(gè)學(xué)生可以選修多門(mén)課程,一門(mén)課程可以被多個(gè)學(xué)生選修,學(xué)生和課程之間是多對(duì)多的關(guān)系,。</p><p>  由以上分析可以得該系統(tǒng)的E-R關(guān)系圖:</p><p>  圖1 E-R關(guān)系圖</p><p>  2.2 邏輯設(shè)計(jì)與物理結(jié)構(gòu)的設(shè)計(jì)</p><p&g

7、t;  根據(jù)概念設(shè)計(jì)中的E-R圖,可設(shè)計(jì)三個(gè)表,其關(guān)系模型如下:</p><p>  學(xué)生基本信息表:學(xué)號(hào),姓名,性別,年齡,系別</p><p>  課程基本信息表:課程號(hào),課程名,課時(shí)</p><p>  成績(jī)表:學(xué)號(hào),課程號(hào),成績(jī)</p><p>  在ACCESS中定義三個(gè)表的物理結(jié)構(gòu)如下:</p><p> 

8、 圖2 學(xué)生信息表物理結(jié)構(gòu)</p><p>  圖3 課程信息表物理結(jié)構(gòu)</p><p>  圖4 成績(jī)表物理結(jié)構(gòu)</p><p>  2.3 數(shù)據(jù)庫(kù)的輸入</p><p>  在ACCESS中定義好物理結(jié)構(gòu)后就可以輸入數(shù)據(jù),同時(shí)根據(jù)系統(tǒng)的要求,用ACCESS做了兩個(gè)查詢,分別是成績(jī)查詢和平均分查詢,為以后寫(xiě)程序的方便,對(duì)平均分查詢進(jìn)行了按平

9、均分從高到低排序操作。具體數(shù)據(jù)如下:</p><p><b>  圖5 學(xué)生信息表</b></p><p><b>  圖6 課程信息表</b></p><p><b>  圖7 成績(jī)表</b></p><p><b>  圖8 平均分查詢</b><

10、/p><p><b>  圖9 成績(jī)查詢</b></p><p><b>  3 程序設(shè)計(jì)</b></p><p>  根據(jù)設(shè)計(jì)要求,本系統(tǒng)是利用VC來(lái)開(kāi)發(fā)可視化界面,因此要將程序和數(shù)據(jù)庫(kù)進(jìn)行連接,這要使用ODBC工具將數(shù)據(jù)庫(kù)設(shè)置數(shù)據(jù)源,在建立工程時(shí)選擇數(shù)據(jù)庫(kù)查看使用文件支持,在選擇數(shù)據(jù)源時(shí)選擇自己設(shè)置的數(shù)據(jù)源即可。在主頁(yè)面,

11、連接學(xué)生信息表,在主頁(yè)面對(duì)學(xué)生信息表操作就非常方便。主頁(yè)面如下:</p><p><b>  圖10 主頁(yè)面</b></p><p>  3.1 學(xué)生信息操作</p><p>  3.1.1 查詢操作</p><p>  查詢操作的功能是輸入學(xué)號(hào),點(diǎn)擊查詢按鈕,就可以顯示出學(xué)生的基本信息。</p><

12、p><b>  圖11 查詢操作</b></p><p><b>  程序如下:</b></p><p>  void CMyView::OnButton1() </p><p>  {int flag=1,t=0;</p><p>  m_pSet->MoveFirst( );<

13、;/p><p>  UpdateData(TRUE); </p><p>  while(flag==1){</p><p>  CString info="\0";</p><p>  info = "學(xué)號(hào):\t" + m_pSet->m_sno + "\n";</p&

14、gt;<p>  info += "姓名:\t" + m_pSet->m_sn + "\n";</p><p>  info += "性別:\t" + m_pSet->m_sex + "\n";</p><p>  info += "年齡:\t" + m_p

15、Set->m_age + "\n";</p><p>  info += "系別:\t" + m_pSet->m_dept + "\n";</p><p>  if(m_Sno==m_pSet->m_sno)</p><p>  { MessageBox( info, "查

16、詢到的記錄如下:",100 ); </p><p><b>  flag=0; </b></p><p><b>  t=0;}</b></p><p>  else {t=1;}</p><p>  m_pSet->MoveNext( );</p><p>

17、;  if( m_pSet->IsEOF( ) ){flag=0;}</p><p>  };// TODO: Add your control notification handler code here</p><p>  if(t==1){MessageBox("你輸入的學(xué)號(hào)不存在","學(xué)生管理系統(tǒng)", 0 );</p>

18、<p><b>  }</b></p><p>  3.1.2 添加操作</p><p>  添加操作是在點(diǎn)擊添加按鈕后,添加記錄窗口跳出,在新窗口輸入要添加的記錄,點(diǎn)擊確定按鈕后,如果該學(xué)生的信息已存在(以學(xué)號(hào)判斷),則提醒該學(xué)生信息已存在,如果添加成功,則跳出添加成功提示。如圖:</p><p><b>  圖12 添

19、加操作</b></p><p><b>  程序如下:</b></p><p>  void CMyView::OnButton2() </p><p><b>  {</b></p><p><b>  Dlg1 dlg;</b></p><p

20、>  if( dlg.DoModal()==IDOK )</p><p>  { //按IDD_DIALOG1 的"OK"按鈕返回之后:</p><p>  int flag=0;</p><p>  m_pSet->MoveFirst( );</p><p>  UpdateData(TRUE); <

21、/p><p>  while(!m_pSet->IsEOF()){ </p><p>  if(dlg.m_AddSno==m_pSet->m_sno){flag=1;</p><p>  MessageBox("該學(xué)生信息已存在","管理系統(tǒng)", 0 );}</p><p>  m_pSet

22、->MoveNext( );}</p><p>  if(flag==0){</p><p>  m_pSet->AddNew( ); //先執(zhí)行追加新記錄的功能函數(shù)AddNew()</p><p>  m_pSet->m_sno = dlg.m_AddSno;//給學(xué)號(hào)、姓名字段賦值:</p><p>  m_pSet-

23、>m_sn = dlg.m_AddSn;</p><p>  m_pSet->m_sex=dlg.m_AddSex;</p><p>  m_pSet->m_age=dlg.m_AddAge;</p><p>  m_pSet->m_dept=dlg.m_AddDept;</p><p>  m_pSet->Up

24、date( ) ; //新記錄寫(xiě)入數(shù)據(jù)庫(kù)的數(shù)據(jù)表</p><p>  m_pSet->Requery( ); //刷新記錄集。這將改動(dòng)"物理"數(shù)據(jù)庫(kù)。</p><p>  MessageBox("添加成功","學(xué)生管理系統(tǒng)",0);</p><p><b>  }</b><

25、/p><p><b>  } </b></p><p>  // TODO: Add your control notification handler code here</p><p><b>  }</b></p><p>  3.1.3 刪除操作</p><p>  刪除

26、操作是點(diǎn)擊刪除按鈕后,跳出刪除窗口,在刪除窗口中輸入要?jiǎng)h除學(xué)生信息的學(xué)號(hào)以及管理員密碼,在多種提示后確認(rèn)無(wú)誤后刪除,刪除后會(huì)顯示已刪除提醒。如圖:</p><p><b>  圖13 刪除操作</b></p><p>  圖14 學(xué)生信息提示 圖15 確認(rèn)操作提示</p><p>  在刪除操作中,必須輸入密碼

27、才能進(jìn)行刪除操作,否則提示密碼不正確,密碼是唯一的,在本系統(tǒng)中,所有密碼都是1234。</p><p><b>  程序如下:</b></p><p>  void CMyView::OnButton3() </p><p><b>  {</b></p><p>  // TODO: Add yo

28、ur control notification handler code here</p><p><b>  Dlg2 dlg;</b></p><p>  if( dlg.DoModal()==IDOK ){</p><p>  int flag=1,t=0,flag1=0,flag2=0;</p><p>  m_

29、pSet->MoveFirst( );</p><p>  UpdateData(TRUE); </p><p>  while(flag==1){</p><p>  CString info="\0";</p><p>  info = "學(xué)號(hào):\t" + m_pSet->m_sn

30、o + "\n";</p><p>  info += "姓名:\t" + m_pSet->m_sn + "\n";</p><p>  info += "性別:\t" + m_pSet->m_sex + "\n";</p><p>  info

31、+= "年齡:\t" + m_pSet->m_age + "\n";</p><p>  info += "系別:\t" + m_pSet->m_dept + "\n";</p><p>  if(dlg.m_DleSno==m_pSet->m_sno)</p><p&

32、gt;  { flag1=MessageBox( info, "請(qǐng)確認(rèn)刪除的學(xué)生信息:",100 ); </p><p><b>  flag=0; </b></p><p><b>  t=0;}</b></p><p>  else {t=1;}</p><p>  m_pS

33、et->MoveNext( );</p><p>  if( m_pSet->IsEOF( ) ){flag=0;}</p><p><b>  }</b></p><p>  if(dlg.m_mima==1234){</p><p>  if(t==1){MessageBox("你輸入的學(xué)號(hào)

34、不存在","學(xué)生管理系統(tǒng)", 0 );}</p><p>  if(flag1==6){ flag2=MessageBox("確定刪除?","學(xué)生管理系統(tǒng)", 100 );}</p><p>  if(flag2==6){m_pSet->MovePrev( );</p><p>  m_

35、pSet->Delete( );</p><p>  m_pSet->Requery( );</p><p>  MessageBox("已刪除","學(xué)生管理系統(tǒng)", 0 ); }</p><p><b>  }</b></p><p>  else {Message

36、Box("密碼不正確","提示",0);}</p><p><b>  }</b></p><p><b>  }</b></p><p>  3.1.4 修改操作</p><p>  修改操作是在主頁(yè)面輸入要修改的學(xué)生信息的學(xué)號(hào)(在查詢條件處輸入),點(diǎn)擊修改

37、按鈕,跳出修改窗口,在窗口中會(huì)顯示該學(xué)生現(xiàn)有的信息,將其修改后點(diǎn)擊確定按鈕,同樣要輸入管理員密碼,否則提示密碼不正確。在修改后會(huì)提示以修改。如圖:</p><p><b>  圖16 修改操作</b></p><p><b>  程序如下:</b></p><p>  void CMyView::OnButton6() &

38、lt;/p><p><b>  {</b></p><p>  int flag=1,t=0,tag=0;</p><p>  m_pSet->MoveFirst( );</p><p>  UpdateData(TRUE); </p><p>  while(flag==1){</p&

39、gt;<p>  CString info="\0";</p><p>  info = "學(xué)號(hào):\t" + m_pSet->m_sno + "\n";</p><p>  info += "姓名:\t" + m_pSet->m_sn + "\n";<

40、/p><p>  info += "性別:\t" + m_pSet->m_sex + "\n";</p><p>  info += "年齡:\t" + m_pSet->m_age + "\n";</p><p>  info += "系別:\t" +

41、 m_pSet->m_dept + "\n";</p><p>  if(m_Sno==m_pSet->m_sno)</p><p>  { tag=MessageBox( info, "要修改如下記錄:",100 ); </p><p><b>  flag=0; </b></p&g

42、t;<p><b>  t=0;}</b></p><p>  else {t=1;}</p><p>  m_pSet->MoveNext( );</p><p>  if( m_pSet->IsEOF( ) ){flag=0;}</p><p><b>  };</b&g

43、t;</p><p>  if(t==1){MessageBox("你輸入的學(xué)號(hào)不存在","學(xué)生管理系統(tǒng)", 0 );}</p><p>  m_pSet->MovePrev( );</p><p>  Dlg6 dlg; // 工作對(duì)話框開(kāi)始的程序:</p><p>  if( tag=

44、=6 )</p><p>  { //(1)將當(dāng)前記錄的各字段值拷貝到對(duì)話框的對(duì)應(yīng)成員變量上:</p><p>  UpdateData(TRUE);//激活對(duì)話框控件</p><p>  dlg.m_CSno = m_pSet->m_sno;</p><p>  dlg.m_CSn = m_pSet->m_sn

45、;</p><p>  dlg.m_CSex = m_pSet->m_sex;</p><p>  dlg.m_CAge = m_pSet->m_age;</p><p>  dlg.m_CDept = m_pSet->m_dept;</p><p>  UpdateData(FALSE);//控件

46、上的改變顯示出來(lái)</p><p>  //(2)按對(duì)話框的"OK"按鈕時(shí)返回,返回之后重置數(shù)據(jù)庫(kù)該記錄的修改值:</p><p>  UpdateData(TRUE);</p><p>  dlg.DoModal( );</p><p>  if(dlg.m_mima==1234){</p><p>

47、;  m_pSet->Edit();</p><p>  m_pSet->m_sno = dlg.m_CSno ;</p><p>  m_pSet->m_sn = dlg.m_CSn ;</p><p>  m_pSet->m_sex = dlg.m_CSex ;</p><p>  m_pSet->

48、;m_age = dlg.m_CAge ;</p><p>  m_pSet->m_dept = dlg.m_CDept ;</p><p>  m_pSet->Update( ) ;</p><p>  m_pSet->Requery( ); </p><p>  MessageBox("修改成功",&

49、quot;學(xué)生管理系統(tǒng)",0);}</p><p>  else{MessageBox("密碼不正確","學(xué)生管理系統(tǒng)",0);}</p><p><b>  }</b></p><p>  // TODO: Add your control notification handler code

50、here</p><p><b>  }</b></p><p>  3.1.5 學(xué)生信息瀏覽</p><p>  在主頁(yè)面,我添加了一個(gè)學(xué)生信息瀏覽按鈕,點(diǎn)擊該按鈕會(huì)在跳出的窗口中顯示學(xué)生信息表,該表與數(shù)據(jù)庫(kù)中的學(xué)生信息表連接,這樣可以通過(guò)瀏覽該表來(lái)查看自己的刪除,修改和添加等操作是否完成,同時(shí)可以通過(guò)它查看自己不熟悉學(xué)號(hào)的學(xué)生信息。如圖:&

51、lt;/p><p><b>  圖17 學(xué)生信息表</b></p><p>  這個(gè)操作應(yīng)用了ADO Data控件和DataGrid控件,通過(guò)ADO Data控件連接數(shù)據(jù)表,DataGrid控件連接ADO Data控件后顯示數(shù)據(jù)表,通過(guò)這兩個(gè)控件可直接進(jìn)行數(shù)據(jù)的添加、刪除和修改。因這些功能已有,所以在本系統(tǒng)中未啟用這兩個(gè)控件的該功能。</p><p&g

52、t;  3.2 學(xué)生成績(jī)操作</p><p>  因在主頁(yè)面連接了學(xué)生信息表,所以在主頁(yè)面添加按鈕成績(jī)查詢來(lái)打開(kāi)新窗口,在新窗口中連接學(xué)生成績(jī)查詢這個(gè)表,并用ADO Data控件和DataGrid控件來(lái)顯示學(xué)生成績(jī)表。在學(xué)生成績(jī)管理窗口中學(xué)生成績(jī)查詢和成績(jī)的統(tǒng)計(jì)排序是主要操作。學(xué)生成績(jī)的添加、刪除和修改操作通過(guò)管理員登錄后才能操作。學(xué)生成績(jī)管理操作頁(yè)面如圖:</p><p>  圖18 學(xué)

53、生成績(jī)管理窗口</p><p>  3.2.1 查詢操作</p><p>  成績(jī)查詢操作是在學(xué)生成績(jī)管理窗口中的查詢條件中輸入學(xué)生的學(xué)號(hào),點(diǎn)擊查詢后在查詢結(jié)果中顯示出該學(xué)生的第一門(mén)成績(jī),點(diǎn)擊下一門(mén)會(huì)顯示第二門(mén)成績(jī),若已是最后一門(mén)則提示“這是最后一門(mén) ”。點(diǎn)擊首項(xiàng)會(huì)跳回該學(xué)生的第一門(mén)功課成績(jī)。操作如圖:</p><p><b>  程序如下:</b&

54、gt;</p><p>  void Dlg3Name::OnButton1() </p><p><b>  { </b></p><p>  Dlg3Dataset pset;</p><p>  int flag=1,t=0;</p><p>  pset.Open( );</p&g

55、t;<p>  pset.MoveFirst();</p><p>  UpdateData( TRUE );</p><p>  while(flag==1){</p><p>  if(pset.m_sno==m_QSno){</p><p>  m_QSn=pset.m_sn;</p><p>  

56、m_QCn=pset.m_cn;</p><p>  m_QScore=pset.m_score;</p><p><b>  flag=0;</b></p><p><b>  t=1;</b></p><p><b>  }</b></p><p>

57、  pset.MoveNext();</p><p>  if(pset.IsEOF()){flag=0;}</p><p><b>  }</b></p><p>  if(t==0){MessageBox("無(wú)此人成績(jī)信息","學(xué)生成績(jī)管理系統(tǒng)", 0 );</p><p>

58、  m_QSn=" ";</p><p>  m_QCn=" ";</p><p>  m_QScore=" "; }</p><p>  UpdateData( FALSE ); </p><p>  // TODO: Add your control notification

59、 handler code here</p><p><b>  }//查詢</b></p><p>  void Dlg3Name::OnButton2() </p><p><b>  { </b></p><p>  Dlg3Dataset pset;</p><p&g

60、t;  pset.Open( );</p><p>  int flag=1,flag1=1,t=0;</p><p>  UpdateData( TRUE );</p><p>  while(flag1==1){</p><p>  if(pset.m_sno==m_QSno && pset.m_cn==m_QCn){&l

61、t;/p><p><b>  flag1=0;</b></p><p><b>  }</b></p><p>  pset.MoveNext();</p><p>  if(pset.IsEOF()){flag=0;}</p><p><b>  }</b>

62、;</p><p>  while(flag==1){</p><p>  if(pset.m_sno==m_QSno && pset.m_cn!=m_QCn){</p><p>  m_QSn=pset.m_sn;</p><p>  m_QCn=pset.m_cn;</p><p>  m_QSco

63、re=pset.m_score;</p><p><b>  flag=0;</b></p><p><b>  t=1;</b></p><p><b>  }</b></p><p>  pset.MoveNext();</p><p>  if(p

64、set.IsEOF()){flag=0;}</p><p><b>  }</b></p><p>  if(t==0){MessageBox("以是最后一門(mén)","學(xué)生成績(jī)管理系統(tǒng)", 0 ); }</p><p>  UpdateData( FALSE );</p><p>

65、;  // TODO: Add your control notification handler code here</p><p><b>  }//下一科目</b></p><p>  3.2.2 統(tǒng)計(jì)平均和排序操作</p><p>  統(tǒng)計(jì)平均操作是在查詢條件中輸入要操作的學(xué)生的學(xué)號(hào),點(diǎn)擊統(tǒng)計(jì)平均按鈕后在統(tǒng)計(jì)排序中顯示出該學(xué)生的總分、平

66、均分和選課數(shù),未點(diǎn)擊時(shí)全顯示0。排序操作是在點(diǎn)擊查看排名按鈕后跳出新窗口,在新窗口中用ADO Data控件和DataGrid控件顯示平均分查詢這個(gè)表,同時(shí)新窗口連接這個(gè)查詢,以便操作。在排名窗口中,點(diǎn)擊查看就可以顯示該學(xué)生的平均分排名,也可直接在該窗口中更改學(xué)生學(xué)號(hào),查看其他學(xué)生的排名。如圖:</p><p>  圖20 統(tǒng)計(jì)平均操作</p><p>  圖21 查看排名操作</p&

67、gt;<p><b>  統(tǒng)計(jì)平均操作如下:</b></p><p>  void Dlg3Name::OnButton4() </p><p><b>  {</b></p><p>  Dlg3Dataset pset;</p><p>  pset.Open( );</p

68、><p>  pset.MoveFirst();</p><p>  UpdateData( TRUE );</p><p><b>  m_sum=0;</b></p><p>  m_total=0;</p><p>  while(!pset.IsEOF()){</p><p

69、>  if(pset.m_sno==m_QSno){</p><p>  m_sum+=atof(pset.m_score);</p><p>  m_total++;</p><p><b>  }</b></p><p>  pset.MoveNext();}</p><p>  if(

70、m_total==0){MessageBox("無(wú)該生成績(jī)信息","學(xué)生成績(jī)管理系統(tǒng)",0);</p><p><b>  m_sum=0;</b></p><p><b>  m_avg=0;</b></p><p>  m_total=0;</p><p>

71、;  UpdateData( FALSE );</p><p><b>  }</b></p><p>  else {m_avg=m_sum/m_total; </p><p>  UpdateData( FALSE );}</p><p>  // TODO: Add your control notificat

72、ion handler code here</p><p><b>  }//統(tǒng)計(jì)平均</b></p><p><b>  查看排名程序如下:</b></p><p>  void Dlg5::OnButton1() </p><p><b>  { </b></p&

73、gt;<p>  UpdateData( TRUE );</p><p>  Dlg5Dataset pset;</p><p>  pset.Open();</p><p>  pset.MoveFirst();</p><p>  int t=1,flag=0;</p><p>  while(!ps

74、et.IsEOF()){</p><p>  if(pset.m_sno==m_Sno){</p><p>  m_order=t;</p><p>  UpdateData( FALSE );</p><p><b>  flag=1;</b></p><p><b>  return

75、;}</b></p><p><b>  t++;</b></p><p>  pset.MoveNext();</p><p><b>  };</b></p><p>  if(flag==0){MessageBox("你的學(xué)號(hào)輸入錯(cuò)誤","提示&quo

76、t;,0);}</p><p>  // TODO: Add your control notification handler code here</p><p><b>  }//查看</b></p><p>  3.2.3 管理員登錄操作</p><p>  管理員登錄是進(jìn)行學(xué)生成績(jī)添加、刪除和修改等操作的前提。點(diǎn)

77、擊管理員登錄,跳出管理員登錄界面,輸入密碼后跳出管理界面。如圖:</p><p>  圖22 管理員登錄界面</p><p>  圖23 成績(jī)管理界面</p><p><b>  程序如下:</b></p><p>  void Dlg3Name::OnButton6() </p><p><

78、;b>  {</b></p><p><b>  Dlg8 dlg;</b></p><p>  if(dlg.DoModal()==IDOK){</p><p>  UpdateData( TRUE );</p><p>  if(dlg.m_mima==1234){</p><p

79、>  Dlg9 dlgg;</p><p>  dlgg.DoModal();}</p><p>  else{MessageBox("密碼不正確","提示",0);}</p><p><b>  }</b></p><p>  // TODO: Add your contr

80、ol notification handler code here</p><p><b>  }</b></p><p>  3.2.4 成績(jī)管理操作</p><p>  學(xué)生成績(jī)管理操作包括成績(jī)的添加、修改和刪除,點(diǎn)擊相應(yīng)按鈕會(huì)跳出相應(yīng)的界面供我們操作。</p><p><b>  添加成績(jī)?nèi)缦拢?lt;/

81、b></p><p><b>  圖24 成績(jī)添加</b></p><p><b>  程序如下:</b></p><p>  void Dlg9::OnButton1() </p><p><b>  {</b></p><p><b>

82、;  DlgA dlg;</b></p><p>  DlgADataset pset;</p><p>  pset.Open();</p><p>  if( dlg.DoModal()==IDOK )</p><p>  { //按IDD_DIALOG1 的"OK"按鈕返回之后:</p>&

83、lt;p>  int flag=0;</p><p>  pset.MoveFirst( );</p><p>  UpdateData(TRUE); </p><p>  while(!pset.IsEOF()){ </p><p>  if(dlg.m_AddSno==pset.m_sno&&dlg.m_AddCn

84、o==pset.m_cno){flag=1;</p><p>  MessageBox("該門(mén)成績(jī)已存在","管理系統(tǒng)", 0 );}</p><p>  pset.MoveNext( );}</p><p>  if(flag==0){</p><p>  pset.AddNew( ); //先執(zhí)

85、行追加新記錄的功能函數(shù)AddNew()</p><p>  pset.m_sno = dlg.m_AddSno;//給學(xué)號(hào)、姓名字段賦值:</p><p>  pset.m_cno = dlg.m_AddCno;</p><p>  pset.m_score=dlg.m_AddScore;</p><p>  pset.Update( ) ;

86、 //新記錄寫(xiě)入數(shù)據(jù)庫(kù)的數(shù)據(jù)表</p><p>  pset.Requery( ); //刷新記錄集。這將改動(dòng)"物理"數(shù)據(jù)庫(kù)。</p><p>  MessageBox("添加成功","學(xué)生管理系統(tǒng)",0);</p><p><b>  }</b></p><p&g

87、t;  // TODO: Add your control notification handler code here</p><p><b>  }</b></p><p><b>  }</b></p><p><b>  修改操作如下:</b></p><p><

88、b>  圖25 修改操作1</b></p><p><b>  圖26 修改操作2</b></p><p><b>  程序如下:</b></p><p>  void Dlg9::OnButton2() </p><p><b>  {</b></p&

89、gt;<p><b>  DlgB dlg;</b></p><p>  DlgB1Dataset pset;</p><p>  pset.Open();</p><p>  if(dlg.DoModal()==IDOK)</p><p>  {pset.MoveFirst();</p>&

90、lt;p>  UpdateData(TRUE);</p><p>  int tag=0,t=0;</p><p>  while(!pset.IsEOF())</p><p><b>  {</b></p><p>  if(dlg.m_MSno==pset.m_sno&&dlg.m_MCno==

91、pset.m_cno)</p><p><b>  {t=1;</b></p><p>  DlgB2 dlgg;</p><p>  UpdateData(TRUE);</p><p>  dlgg.m_MScore=pset.m_score;</p><p>  UpdateData(FALS

92、E);</p><p>  UpdateData(TRUE);</p><p>  dlgg.DoModal();</p><p>  tag=MessageBox("確定修改?","提示",100);</p><p>  if(tag==6)</p><p><b>

93、  {</b></p><p>  pset.Edit();</p><p>  pset.m_score=dlgg.m_MScore;</p><p>  pset.Update();</p><p>  pset.Requery();</p><p>  MessageBox("修改成功&qu

94、ot;,"提示",0);</p><p><b>  return;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  pset.MoveNext();</p><p><

95、;b>  }</b></p><p>  if(t==0) {MessageBox("該學(xué)生無(wú)此門(mén)課程信息","錯(cuò)誤",0);}</p><p><b>  }</b></p><p>  // TODO: Add your control notification handler co

96、de here</p><p><b>  }</b></p><p><b>  刪除操作如下:</b></p><p><b>  圖27 刪除修改</b></p><p><b>  程序如下:</b></p><p>  v

97、oid Dlg9::OnButton3() </p><p><b>  {</b></p><p><b>  DlgC dlg;</b></p><p>  DlgC1Dataset pset;</p><p>  pset.Open();</p><p>  if(dl

98、g.DoModal()==IDOK)</p><p>  {pset.MoveFirst();</p><p>  UpdateData(TRUE);</p><p>  int tag=0,t=0;</p><p>  while(!pset.IsEOF())</p><p><b>  {</b&g

99、t;</p><p>  if(dlg.m_QSno==pset.m_sno&&dlg.m_QCno==pset.m_cno)</p><p><b>  {t=1;</b></p><p>  CString info="\0";</p><p>  info = "學(xué)

100、號(hào):\t" + pset.m_sno + "\n";</p><p>  info += "課程號(hào):\t" +pset.m_cno + "\n";</p><p>  info += "成績(jī):\t" + pset.m_score + "\n";</p><

101、;p>  tag=MessageBox(info,"確定刪除該記錄?",100);</p><p>  if(tag==6)</p><p><b>  {</b></p><p>  pset.Delete();</p><p>  pset.Requery();</p><

102、;p>  MessageBox("已刪除","提示",0);</p><p><b>  return;</b></p><p><b>  }</b></p><p><b>  }</b></p><p>  pset.Move

103、Next();</p><p><b>  }</b></p><p>  if(t==0) {MessageBox("該學(xué)生無(wú)此門(mén)課程信息","錯(cuò)誤",0);}</p><p>  // TODO: Add your control notification handler code here</

104、p><p><b>  }}</b></p><p><b>  4 調(diào)試報(bào)告</b></p><p>  軟件編寫(xiě)完成后對(duì)其進(jìn)行調(diào)試,調(diào)試過(guò)程中發(fā)現(xiàn)自己的程序缺少一些人機(jī)交互,例如在刪除后應(yīng)該讓用戶知道自己的刪除操作是否完成,所以在刪除完成后應(yīng)用MessageBox來(lái)告知用戶刪除已完成。</p><p&g

105、t;  自己的程序在調(diào)試是經(jīng)常出現(xiàn)功能不能執(zhí)行或不管條件怎樣都會(huì)執(zhí)行的情況,檢查程序發(fā)現(xiàn),自己的If語(yǔ)句在編寫(xiě)時(shí)==寫(xiě)成=,導(dǎo)致程序出現(xiàn)錯(cuò)誤。</p><p><b>  5 心得體會(huì)</b></p><p><b>  6 參考文獻(xiàn)</b></p><p>  [1] Michael R.Groh等.ACCESS 200

溫馨提示

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