版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- vc可視化課程設(shè)計mfc貪吃蛇
- 可視化編程課程設(shè)計
- [vc++畢設(shè)]vc++可視化圖像處理系統(tǒng)+論文
- [vc畢設(shè)]可視化圖像處理系統(tǒng)+論文
- vc++課程設(shè)計報告
- vc--課程設(shè)計報告
- 可視化編程技術(shù)課程設(shè)計(論文)-學(xué)生學(xué)籍管理系統(tǒng)
- 可視化課程設(shè)計報告
- 【課程設(shè)計】可視化管理
- vc++軟件課程設(shè)計報告
- 貪吃蛇vc課程設(shè)計
- vc++庫函數(shù)課程設(shè)計
- 網(wǎng)絡(luò)課程設(shè)計---使用vc++編程實現(xiàn)網(wǎng)絡(luò)嗅探器
- vc++課程設(shè)計報告----對抗游戲
- vc++課程設(shè)計-- 餐飲管理系統(tǒng)
- vc++課程設(shè)計--工資管理
- vc++課程設(shè)計--工資管理
- vc++課程設(shè)計報告--對抗游戲
- vc++網(wǎng)絡(luò)聊天軟件課程設(shè)計
- vc++課設(shè)課程設(shè)計報告
評論
0/150
提交評論