




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、計算機(jī)程序設(shè)計綜合實驗報告研究生管理系統(tǒng)設(shè)計 院 系: 電控學(xué)院自動化系 班 級: 自動化4班 姓 名: 趙國寶 指導(dǎo)教師: 靳引利 2015年 07月 0 日1 / 80摘要 通過這次計算機(jī)綜合實驗,要求學(xué)生掌握程序設(shè)計的思路,深入理解面向?qū)ο蟮乃枷敕椒ǎ炀氄莆諗?shù)據(jù)結(jié)構(gòu)的基本內(nèi)容,使用數(shù)據(jù)結(jié)構(gòu)的算法解決應(yīng)用問題,建立功能體系完善的視窗程序,掌握視窗程序的設(shè)計、編寫、調(diào)試方法,使用文檔/視窗,對話框,組件工具解決實際問題,通過視窗、文件的訪問,記錄過程數(shù)據(jù),并對已經(jīng)記錄的數(shù)據(jù)進(jìn)行再現(xiàn)和訪問。通過綜合性的軟件設(shè)計,經(jīng)歷需求分析、功能設(shè)計、算法設(shè)計、代碼編寫和調(diào)試、系統(tǒng)測試、軟件安裝運行、文檔編
2、寫的全過程,建立軟件工程的系統(tǒng)性概念,通過該實驗,使學(xué)生掌握windows程序設(shè)計的基本方法。掌握學(xué)籍管理的基本內(nèi)容,熟練應(yīng)用數(shù)據(jù)庫技術(shù)和通用組件,實現(xiàn)研究生信息的增、刪、改、查功能。通過處理過程對計算機(jī)軟件系統(tǒng)工作原理的進(jìn)一步理解,促進(jìn)對面向?qū)ο蟾拍畹南到y(tǒng)理解以及面向?qū)ο蠓椒ǖ膽?yīng)用,為后續(xù)課程的學(xué)習(xí)和應(yīng)用計算機(jī)技術(shù)解決專業(yè)學(xué)習(xí)中的程序設(shè)計問題奠定堅實的基礎(chǔ)。一、系統(tǒng)名稱:研究生管理系統(tǒng)設(shè)計二、系統(tǒng)功能說明1、研究生基本信息管理,可根據(jù)用戶級別的不同設(shè)置登錄賬號和密碼。主要有研究生、導(dǎo)師、管理員、學(xué)校領(lǐng)導(dǎo)的登錄。2、 一級菜單中包含教師管理、導(dǎo)師管理、課程管理、學(xué)籍管理等一級菜單。 當(dāng)管理員登
3、錄進(jìn)去時有教師管理、導(dǎo)師管理、課程管理、學(xué)籍管理等子菜單。 當(dāng)學(xué)生進(jìn)去時有查詢個人、查詢成績、查詢課表及修改密碼。 當(dāng)導(dǎo)師登錄進(jìn)去時有個人是信息查詢、學(xué)生成績查詢、課表查詢及密碼修改。 當(dāng)領(lǐng)導(dǎo)登錄進(jìn)去時主要是對學(xué)生成績的相關(guān)操作。3、導(dǎo)師管理二級菜單包括:導(dǎo)師信息查詢、增加、刪除和導(dǎo)出導(dǎo)師信息庫等功能。導(dǎo)師信息包括姓名、性別、畢業(yè)院校、研究方向等相關(guān)信息。導(dǎo)出信息的格式為excel文件。4、學(xué)籍管理最少包括:學(xué)生信息維護(hù)、學(xué)生信息 查詢、學(xué)生信息導(dǎo)出,導(dǎo)出文件格式同上。5、成績管理模塊包括:成績維護(hù)、成績查詢、成績導(dǎo)出,導(dǎo)出文件格式同上。6、查詢時支持多條件組合查詢。如查詢導(dǎo)師的時候可以同時查
4、詢學(xué)院和職稱。 7、以研究生主管領(lǐng)導(dǎo)身份登錄,對成績的分布情況進(jìn)行分析。 比如查詢某班級某科目的通過率及平均分。8、以曲線圖、餅圖等方式展示查詢結(jié)果。三、系統(tǒng)設(shè)計1、界面設(shè)計2、 數(shù)據(jù)庫設(shè)計 數(shù)據(jù)庫實現(xiàn)與應(yīng)用程序?qū)崿F(xiàn)是分離的,數(shù)據(jù)庫的實現(xiàn)非常重要。在研究生管理信息系統(tǒng)中,首先要創(chuàng)建學(xué)生管理信息系統(tǒng)數(shù)據(jù)庫,然后在數(shù)據(jù)庫中創(chuàng)建需要的表和字段。下面分別講述本系統(tǒng)中數(shù)據(jù)庫的設(shè)計。本例采用Access 數(shù)據(jù)庫系統(tǒng)來進(jìn)行數(shù)據(jù)庫的實現(xiàn)。(1)創(chuàng)建數(shù)據(jù)庫下面給出在Access 中創(chuàng)建數(shù)據(jù)庫的過程。運行Access 應(yīng)用程序,在“新建數(shù)據(jù)庫”選項組中選取“空Access 數(shù)據(jù)庫”單選,按鈕,然后單擊“確定”按鈕
5、。在“文件新建數(shù)據(jù)庫”窗口指定數(shù)據(jù)庫的存放位置與數(shù)據(jù)庫文件名稱,本例為研究生信息管理系統(tǒng).mdb,然后單擊“創(chuàng)建”按鈕。注:數(shù)據(jù)庫的名字不能是system.mdb,否則會出錯。(2)創(chuàng)建表下面給出在Access 中創(chuàng)建表的過程。在創(chuàng)建數(shù)據(jù)庫后進(jìn)入主界面,單擊“sys:數(shù)據(jù)庫”子窗口中的“設(shè)計”按鈕。此時將會出出“表1:表”窗口。在表的設(shè)計窗口“表1:表”中按照下面屬性圖確定的數(shù)據(jù)庫模型建立數(shù)據(jù)字段,并指定字段的數(shù)據(jù)類型與相關(guān)屬性。表中相關(guān)字段添加完后,我們還需要根據(jù)需要和邏輯分析為數(shù)據(jù)庫添加相應(yīng)的約束:如指定表的主鍵,外鍵約束,設(shè)定數(shù)據(jù)范圍以及指定初始,默認(rèn)值等等,以確保數(shù)
6、據(jù)操作的完整性與一致性。3、 算法設(shè)計可以把整個系統(tǒng)劃分為以下三個基本的功能模塊:登錄模塊算法如下void CGraduateManagementDlg:OnEnter() UpdateData(true);administrator.Open();Teacher.Open();Student.Open();Leader.Open();switch(i) case 0:Teacher.MoveFirst();while(!Teacher.IsEOF() if(m_Password=Teacher.m_Password && m_UserID=Teacher.m_Name)l=T
7、eacher.m_Name;h=Teacher.m_Major;AfxMessageBox("登錄成功");Techer Dlg2;Dlg2.DoModal();break; else Teacher.MoveNext(); if(Teacher.IsEOF() AfxMessageBox("帳號或密碼錯誤,請重新輸入"); case 1: if(m_Password=administrator.m_Password && m_UserID=administrator.m_UserName) AfxMessageBox("登錄成
8、功");Cnba1 dlg;dlg.DoModal();/else AfxMessageBox("密碼錯誤");break;case 2: if(m_Password=Leader.m_Password && m_UserID=Leader.m_Name) AfxMessageBox("登錄成功"); LeaderGrade dlg; dlg.DoModal(); break; case 3:Student.MoveFirst();while(!Student.IsEOF() if(m_UserID=Student.m_Name
9、 && m_Password=Student.m_Password)j=Student.m_Number;f=Student.m_Major;AfxMessageBox("登錄成功");StuMessage Dlg2;Dlg2.DoModal();break; elseStudent.MoveNext(); if(Student.IsEOF() AfxMessageBox("帳號或密碼錯誤,請重新輸入");administrator.Close();Teacher.Close();Student.Close();Leader.Close(
10、);/UpdateData(false);學(xué)生信息管理模塊:學(xué)生可以進(jìn)行的相關(guān)的操作,主要有:登入系統(tǒng):輸入姓名和密碼,并選擇用戶為學(xué)生,點擊登錄,經(jīng)系統(tǒng)驗證為合法用戶后可進(jìn)入系統(tǒng)查詢并修改相關(guān)信息。進(jìn)入學(xué)生操作界面后,顯示學(xué)生基本信息。學(xué)生可以進(jìn)行以下操作:查看成績:顯示學(xué)生成績信息。查看課表:顯示學(xué)生當(dāng)前課表。修改密碼:為了防止密碼輸入錯誤,在輸入新密碼時需要輸入兩次。導(dǎo)師信息管理模塊:教師可以進(jìn)行的相關(guān)操作,主要有:登入系統(tǒng),輸入教師姓名和密碼,并選擇用戶為導(dǎo)師,點擊登錄,經(jīng)系統(tǒng)驗證為合法用戶后可進(jìn)入系統(tǒng)查詢并修改相關(guān)信息。進(jìn)入教師操作界面后,顯示教師基本信息。教師可以進(jìn)行以下操作:查看
11、所教課程信息:教師可以查詢所自己所教課程的上課時間,上課地點等,以利于提前備課,并方便安排行程。錄入成績:點擊錄入成績可以為學(xué)生錄入成績。修改密碼:為了防止密碼輸入錯誤,在輸入新密碼時需要輸入兩次。管理員模塊:系統(tǒng)管理員可以進(jìn)行的相關(guān)操作,主要有:登入系統(tǒng),輸入管理員姓名和密碼,并選擇用戶為管理員,點擊登錄,經(jīng)系統(tǒng)驗證為合法用戶后可進(jìn)入系統(tǒng)查詢并修改相關(guān)信息。查詢學(xué)籍信息:管理員有權(quán)查詢及導(dǎo)出學(xué)籍信息。查詢導(dǎo)師信息:管理員有權(quán)查詢及導(dǎo)出導(dǎo)師信息。查詢成績信息:管理員有權(quán)查詢及導(dǎo)出成績信息。查詢課程信息:管理員有權(quán)查詢及導(dǎo)出課程信息。管理學(xué)籍信息:管理員有權(quán)添加、修改以及刪除一條學(xué)籍信息。管理導(dǎo)
12、師信息:管理員有權(quán)添加、修改以及刪除一條導(dǎo)師信息。管理成績信息:管理員有權(quán)添加、修改以及刪除一條成績信息。管理課程信息:管理員有權(quán)添加、修改以及刪除一條課程信息。修改密碼:為了防止密碼輸入錯誤,在輸入新密碼時需要輸入兩次。四、系統(tǒng)的流程圖(不少于3幅圖)1、系統(tǒng)流程圖研究生信息管理系統(tǒng)導(dǎo)師管理學(xué)生管理管理員管理成績錄入成績查詢修改密碼成績查詢課程查詢修改密碼信息查詢信息維護(hù)數(shù)據(jù)導(dǎo)出學(xué)籍信息課程信息導(dǎo)師信息成績信息2、 數(shù)據(jù)流程圖學(xué)籍信息課程信息成績信息導(dǎo)師信息管理員信息5、 重點算法說明void CGraduateManagementDlg:OnEnter() 通過switch語句進(jìn)行登錄者的
13、選擇UpdateData(true);administrator.Open();Teacher.Open();Student.Open();Leader.Open();switch(i) case 0:Teacher.MoveFirst();while(!Teacher.IsEOF() if(m_Password=Teacher.m_Password && m_UserID=Teacher.m_Name)l=Teacher.m_Name;h=Teacher.m_Major;AfxMessageBox("登錄成功");Techer Dlg2;Dlg2.DoMo
14、dal();break; else Teacher.MoveNext(); if(Teacher.IsEOF() AfxMessageBox("帳號或密碼錯誤,請重新輸入"); case 1: if(m_Password=administrator.m_Password && m_UserID=administrator.m_UserName) AfxMessageBox("登錄成功");Cnba1 dlg;dlg.DoModal();/else AfxMessageBox("密碼錯誤");break;case 2:
15、if(m_Password=Leader.m_Password && m_UserID=Leader.m_Name) AfxMessageBox("登錄成功"); LeaderGrade dlg; dlg.DoModal(); break; case 3:Student.MoveFirst();while(!Student.IsEOF() if(m_UserID=Student.m_Name && m_Password=Student.m_Password)j=Student.m_Number;f=Student.m_Major;AfxMes
16、sageBox("登錄成功");StuMessage Dlg2;Dlg2.DoModal();break; elseStudent.MoveNext(); if(Student.IsEOF() AfxMessageBox("帳號或密碼錯誤,請重新輸入");administrator.Close();Teacher.Close();Student.Close();Leader.Close();/UpdateData(false);void OutGradea:OnBUTTONFind() 在查找成績時通過while循環(huán)對數(shù)據(jù)庫進(jìn)行遍歷查找信息。/ TODO
17、: Add your control notification handler code hereUpdateData(true);int k=0;m_nLIST.DeleteAllItems();switch(m)/ TODO: Add your control notification handler code herecase 1:Grade.Open();Grade.MoveFirst(); while(!Grade.IsEOF() if(m_Message=Grade.m_Class) m_nLIST.InsertItem(k,Grade.m_StuNumber); m_nLIST.
18、SetItemText(k,1,Grade.m_Name); m_nLIST.SetItemText(k,2,Grade.m_c_); m_nLIST.SetItemText(k,3,Grade.m_chinese); m_nLIST.SetItemText(k,4,Grade.m_english); m_nLIST.SetItemText(k,5,Grade.m_math); m_nLIST.SetItemText(k,6,Grade.m_music);m_nLIST.SetItemText(k,7,Grade.m_pe);m_nLIST.SetItemText(k,8,Grade.m_Cl
19、ass); k+; UpdateData(false); Grade.MoveNext(); Grade.Close();break;case 3:Grade.Open();Grade.MoveFirst(); while(!Grade.IsEOF() if(m_Message=Grade.m_StuNumber) m_nLIST.InsertItem(k,Grade.m_StuNumber); m_nLIST.SetItemText(k,1,Grade.m_Name); m_nLIST.SetItemText(k,2,Grade.m_c_); m_nLIST.SetItemText(k,3,
20、Grade.m_chinese); m_nLIST.SetItemText(k,4,Grade.m_english); m_nLIST.SetItemText(k,5,Grade.m_math); m_nLIST.SetItemText(k,6,Grade.m_music);m_nLIST.SetItemText(k,7,Grade.m_pe);m_nLIST.SetItemText(k,8,Grade.m_Class); k+; UpdateData(false); Grade.MoveNext(); Grade.Close();break;case 2:Grade.Open();Grade
21、.MoveFirst(); while(!Grade.IsEOF()if(m_Message=Grade.m_Name) m_nLIST.InsertItem(k,Grade.m_StuNumber); m_nLIST.SetItemText(k,1,Grade.m_Name); m_nLIST.SetItemText(k,2,Grade.m_c_); m_nLIST.SetItemText(k,3,Grade.m_chinese); m_nLIST.SetItemText(k,4,Grade.m_english); m_nLIST.SetItemText(k,5,Grade.m_math);
22、 m_nLIST.SetItemText(k,6,Grade.m_music);m_nLIST.SetItemText(k,7,Grade.m_pe);m_nLIST.SetItemText(k,8,Grade.m_Class); k+; UpdateData(false); Grade.MoveNext(); Grade.Close();break;case 4: Grade.Open(); Grade.MoveFirst(); while(!Grade.IsEOF() m_nLIST.InsertItem(k,Grade.m_StuNumber); m_nLIST.SetItemText(
23、k,1,Grade.m_Name); m_nLIST.SetItemText(k,2,Grade.m_c_); m_nLIST.SetItemText(k,3,Grade.m_chinese); m_nLIST.SetItemText(k,4,Grade.m_english); m_nLIST.SetItemText(k,5,Grade.m_math); m_nLIST.SetItemText(k,6,Grade.m_music);m_nLIST.SetItemText(k,7,Grade.m_pe);m_nLIST.SetItemText(k,8,Grade.m_Class); k+; Up
24、dateData(false); /Teacher.MoveNext(); Grade.MoveNext(); Grade.Close();break;6、 設(shè)計過程遇到的問題及解決辦法、解決效果 在編程過程中曾遇到過很多次這樣的問題,最后發(fā)現(xiàn)是由于數(shù)據(jù)庫沒有打開或是數(shù)據(jù)庫打開沒有關(guān)閉而導(dǎo)致的錯誤,最后在仔細(xì)檢查代碼加以更改后這個問題得以解決。 在編程過程中經(jīng)常出現(xiàn)期望為一的錯誤,strSQL1.Format("select * from 成績 where Name ='%s'",k);最后發(fā)現(xiàn)是where后面變量名稱錯誤的問題導(dǎo)致。 采用ODBC方式連接數(shù)
25、據(jù)庫并不是很方便,在更改數(shù)據(jù)庫文件存放位置后必須手動更改添加數(shù)據(jù)源,這對程序調(diào)試與封裝產(chǎn)生了很大影響。最后通過對網(wǎng)上例程的分析,我找到了它們對這種問題的相同解決方法,在入口函數(shù)的.CPP文件中添加響應(yīng)的自動搜索數(shù)據(jù)庫文件路徑的代碼即可解決這個問題,如今本程序的數(shù)據(jù)庫文件位置不在影響程序的正常運行。由于題目要求將數(shù)據(jù)庫文件導(dǎo)出成EXECLE文件,而且這也符合程序的實際需求,所以必須想辦法將其與MFC程序連接,以往都是將數(shù)據(jù)保存為文本文檔,所以并不清楚怎樣用MFC程序調(diào)用應(yīng)用程序?qū)崿F(xiàn)目的。通過查閱相關(guān)MFC及數(shù)據(jù)庫工具書,找到了一種調(diào)用EXECLE.EXE應(yīng)用導(dǎo)出文件的方法,通過在MFC中添加對應(yīng)
26、的類文件,用代碼操作就可以實現(xiàn)此項功能。 當(dāng)你把某一個類想重新添加的時候可以把他的。Cpp和。H文件刪除,然后按下Ctrl+w把原來的類進(jìn)行remove之后就可以重新定義類了 在我把數(shù)據(jù)庫里面的值調(diào)用出來求平均值的時間一直不成功,最后發(fā)現(xiàn)是由于數(shù)據(jù)庫里定義的變量都是文本型的,不能進(jìn)行計算,最后在網(wǎng)上查到CStringstr("1234");int i= _ttoi(str);如這樣的方法把文本型改為int型得以解決 在剛開始進(jìn)行數(shù)據(jù)查找時我用的是while進(jìn)行查找,最后發(fā)現(xiàn)這樣弊端很大,不僅不夠方便,有時候容易死循環(huán)。最后我在網(wǎng)上查到了sql語句,如用S
27、QL語句 SELECT * FROM stuscore WHERE 學(xué)號='111111'這樣查找就極為方便。七、對程序設(shè)計的認(rèn)識 在大一C語言、計算機(jī)基礎(chǔ),大二c+、數(shù)據(jù)結(jié)構(gòu)的基礎(chǔ)上,我序設(shè)計也有了新的認(rèn)識,下面是我在這次實訓(xùn)中收獲的知識。 一、明確編程目的。做程序只有一個大體的方向,有許多細(xì)節(jié)是不能明確的,比如想要做一個播放器,它該不該支持LRC歌詞呢、該不該支持無損格式呢、又該不該創(chuàng)建一個平臺支持用戶上傳原創(chuàng)歌曲這些不一定在一開始就能想到,也許有的人在做這個程序的時候會一直糾結(jié)于此,最后弄
28、得代碼混亂,甚至不得不重新開始。我覺得我們在做一個程序時,不該只有大的方向,在設(shè)想時就應(yīng)該把方方面面的細(xì)節(jié)也加入考慮范疇,哪怕最后因為想法又變需要對程序進(jìn)行改動,但這個時候我們的代碼因為目標(biāo)明確所以肯定是工整嚴(yán)謹(jǐn)?shù)模跃退阋尤牖騽h改內(nèi)容也不致讓我們的代碼亂成一鍋粥。二、構(gòu)建邏輯模型。明確了自己想要什么樣的程序,許多人也許就開始直接開始敲代碼了,我覺得這種行為是不可取的。常言道:“磨刀不誤砍柴工”,直接開始敲代碼無異于鈍刀砍柴,效果可想而知。無論用漢語還是用數(shù)學(xué)式,當(dāng)我們把想要的程序用嚴(yán)謹(jǐn)?shù)倪壿嬀幙椘饋恚偃タ巢瘢仓皇前褲h字和數(shù)學(xué)式翻譯成計算機(jī)語言那么簡單了。三、邏輯模型語言化。就是剛剛提
29、到的“簡單”的“砍柴”,說簡單,是因為確確實實是只需要把自己的邏輯模型用語言表達(dá)出來;“簡單”加引號,又是因為它確實不簡單我們需要熟悉許許多多控件的屬性、事件、方法,需要了解許多常用不常用函數(shù),最困難的是我們得把許許多多的代碼依照我們的設(shè)想,比如順序、選擇、循環(huán)三大控制結(jié)構(gòu)準(zhǔn)確有效地組合起來:這不止是一個知識積累的過程,在學(xué)習(xí)那些概念與用法的同時我們還要不斷地進(jìn)行編程練習(xí)、嘗試各種代碼的組合,這是要經(jīng)過長期練習(xí)才能掌握的。四、調(diào)試改錯。在編程的過程中難免遇到錯誤,按照我過去的習(xí)慣就是不能正常運行就直接關(guān)掉.很不可取,請勿效仿。如果我們的設(shè)想合理邏輯嚴(yán)謹(jǐn),是很難在編寫代碼時出現(xiàn)大錯誤的,不能正常
30、運行通常都是因為諸如“下標(biāo)越界”“溢出”之類的小錯誤造成的,這個時候其實只要耐心調(diào)試,跟著代碼過程一步一步檢查,總會查到錯誤并及時改正的。五、代碼精簡。編程是一個處理信息量很大的過程,尤其是在編譯一些大型程序時,肯定會有許多代碼冗余。無用的繁雜代碼只會加深以后維護(hù)程序的難度,所以我們應(yīng)該及時清理它。并且對一些使計算過程繁瑣的代碼,我們也應(yīng)該及時進(jìn)行更正。8、 自己編寫的程序代碼void CGraduateManagementDlg:OnEnter() 登錄界面選擇主函數(shù)UpdateData(true);administrator.Open();Teacher.Open();Student.Op
31、en();Leader.Open();switch(i) case 0:Teacher.MoveFirst();while(!Teacher.IsEOF() if(m_Password=Teacher.m_Password && m_UserID=Teacher.m_Name)l=Teacher.m_Name;h=Teacher.m_Major;AfxMessageBox("登錄成功");Techer Dlg2;Dlg2.DoModal();break; else Teacher.MoveNext(); if(Teacher.IsEOF() AfxMessa
32、geBox("帳號或密碼錯誤,請重新輸入"); case 1: if(m_Password=administrator.m_Password && m_UserID=administrator.m_UserName) AfxMessageBox("登錄成功");Cnba1 dlg;dlg.DoModal();/else AfxMessageBox("密碼錯誤");break;case 2: if(m_Password=Leader.m_Password && m_UserID=Leader.m_Name
33、) AfxMessageBox("登錄成功"); LeaderGrade dlg; dlg.DoModal(); break; case 3:Student.MoveFirst();while(!Student.IsEOF() if(m_UserID=Student.m_Name && m_Password=Student.m_Password)j=Student.m_Number;f=Student.m_Major;AfxMessageBox("登錄成功");StuMessage Dlg2;Dlg2.DoModal();break; e
34、lseStudent.MoveNext(); if(Student.IsEOF() AfxMessageBox("帳號或密碼錯誤,請重新輸入");administrator.Close();Teacher.Close();Student.Close();Leader.Close();/UpdateData(false); void CGraduateManagementDlg:OnMENUStuMessage() / TODO: Add your command handler code hereCnba2 dlg;dlg.DoModal();學(xué)生信息管理對話框void C
35、GraduateManagementDlg:OnMENUITEMGrae() / TODO: Add your command handler code hereStuGrade dlg;dlg.DoModal();學(xué)生成績管理對話框void CGraduateManagementDlg:OnMENUTeacher() / TODO: Add your command handler code hereTeacherMessage dlg;dlg.DoModal();教授信息對話框void CGraduateManagementDlg:OnMENUStuGrade() / TODO: Add
36、your command handler code hereTGrade dlg;dlg.DoModal();學(xué)生成績對話框void CGraduateManagementDlg:OnMENUITAstuMessage() / TODO: Add your command handler code hereAStuMessage dlg;dlg.DoModal();管理員管理學(xué)生信息void CGraduateManagementDlg:OnMENUITEAStuGrade() / TODO: Add your command handler code hereAStuGrade dlg;dl
37、g.DoModal();管理員管理學(xué)生成績void CGraduateManagementDlg:OnMENUITEMTFGrade() / TODO: Add your command handler code hereTFGrade dlg;dlg.DoModal();教授管理學(xué)生成績void CGraduateManagementDlg:OnMENUITEMATeacher() / TODO: Add your command handler code hereATeacher dlg;dlg.DoModal();管理員管理教師對話框void CGraduateManagementDlg
38、:OnMENUITEMMessageOutTeacher() / TODO: Add your command handler code hereOutMessage dlg;dlg.DoModal();導(dǎo)出教授信息void CGraduateManagementDlg:OnMENUITEOutStudent() / TODO: Add your command handler code hereOutStudent dlg;dlg.DoModal();到處學(xué)生信息void CGraduateManagementDlg:OnMENUITEMOutGrade() 導(dǎo)出學(xué)生成績/ TODO: Ad
39、d your command handler code hereOutGradea dlg;dlg.DoModal();void CGraduateManagementDlg:OnMENUITEMAClass() 管理員管理課表/ TODO: Add your command handler code hereAClass dlg;dlg.DoModal();void CGraduateManagementDlg:OnMENUTClass() 教師查詢課表/ TODO: Add your command handler code hereTClass dlg;dlg.DoModal();voi
40、d CGraduateManagementDlg:OnMENUClass() 學(xué)生查詢課表/ TODO: Add your command handler code hereSClass dlg;dlg.DoModal();void CGraduateManagementDlg:OnMENUITEMChangEStu() 修改學(xué)生登錄密碼/ TODO: Add your command handler code hereChangeStu dlg;dlg.DoModal();void CGraduateManagementDlg:OnMENUITEMChangeTea() 修改老師登錄密碼/
41、TODO: Add your command handler code hereChangeTea dlg;dlg.DoModal();void CGraduateManagementDlg:OnMENUITEMChangeA() 修改管理員登錄密碼/ TODO: Add your command handler code hereChangeAdm dlg;dlg.DoModal();void AClass:OnBUTTONFind() 管理員查詢?nèi)空n表int k=0;/ TODO: Add your control notification handler code hereClass.
42、Open();Class.MoveFirst(); while(!Class.IsEOF() m_nLIST.InsertItem(k,Class.m_column1); m_nLIST.SetItemText(k,1,Class.m_column2); m_nLIST.SetItemText(k,2,Class.m_column3); m_nLIST.SetItemText(k,3,Class.m_column4); m_nLIST.SetItemText(k,4,Class.m_column5); m_nLIST.SetItemText(k,5,Class.m_column6); m_nL
43、IST.SetItemText(k,6,Class.m_column7); k+; UpdateData(false); Class.MoveNext(); Class.Close();void AStuGrade:OnBUTTONGrade() 管理員查詢學(xué)生成績/ TODO: Add your control notification handler code hereb=m_Find;/ TODO: Add your control notification handler code hereUpdateData(true);CString strSQL4;strSQL4.Format(
44、"select * from 成績 where StuNumber ='%s'",b);if(!Grade.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL4)MessageBox("打開數(shù)據(jù)庫失敗!","數(shù)據(jù)庫錯誤",MB_OK);return ;m_c=Grade.m_c_;m_chinese=Grade.m_chinese;m_english=Grade.m_english;m_math=Grade.m_math;m_name=Grade.m_Name;m_music=Grade.m_mus
45、ic;m_pe=Grade.m_pe;m_StNumber=Grade.m_StuNumber;UpdateData(false);Grade.Close();void AStuMessage:OnBUTTONStudentMessage() 管理員查詢學(xué)生信息a=m_Find;/ TODO: Add your control notification handler code hereUpdateData(true);CString strSQL3;strSQL3.Format("select * from 學(xué)生 where Number ='%s'",a
46、);if(!Student.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL3)MessageBox("打開數(shù)據(jù)庫失敗!","數(shù)據(jù)庫錯誤",MB_OK);return ;m_Major=Student.m_Major;m_StudentAge=Student.m_Age;m_StudentName=Student.m_Name;m_StudentNumber=Student.m_Number;m_StudentSex=Student.m_Sex;m_Password=Student.m_Password;UpdateData(fal
47、se);Student.Close();void AStuMessage:OnBUTTONSave() / TODO: Add your control notification handler code hereswitch(q)case 1:管理員修改學(xué)生信息a=m_Find;/ TODO: Add your control notification handler code hereUpdateData(true);/CString strSQL4;strSQL4.Format("select * from 學(xué)生 where Number ='%s'"
48、,a);if(!Student.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL4)MessageBox("打開數(shù)據(jù)庫失敗!","數(shù)據(jù)庫錯誤",MB_OK);return ;/Student.Open();Student.Edit();/ TODO: Add your control notification handler code hereUpdateData(true);Student.m_Age=m_StudentAge;Student.m_Major=m_Major;Student.m_Name=m_StudentName
49、;Student.m_Number=m_StudentNumber;Student.m_Sex=m_StudentSex;Student.m_Password=m_Password;/Student.m_ID=m_StudentNumber;Student.Update();Student.Requery(); Student.Close();MessageBox("修改成功!");break;case 2:管理員添加學(xué)生信息Student.Open();Student.AddNew();UpdateData(true);Student.m_Age=m_StudentAge
50、;Student.m_Major=m_Major;Student.m_Name=m_StudentName;Student.m_Number=m_StudentNumber;Student.m_Sex=m_StudentSex;Student.m_ID=m_StudentNumber;Student.m_Password=m_Password;/Student.AddNew();/ TODO: Add your control notification handler code hereStudent.Update();Student.Requery(); Student.Close();Me
51、ssageBox("添加成功!");Grade.Open();Grade.AddNew();Grade.m_Name=m_StudentName;Grade.m_StuNumber=m_StudentNumber;Grade.Update();Grade.Requery();Grade.Close();void AStuMessage:OnBUTTONDelete() 管理員刪除學(xué)生信息/ TODO: Add your control notification handler code herea=m_Find;/ TODO: Add your control notification handler code hereUpdateData(true);/CString strSQL4;strSQL4.Format("select * from
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年主題公園沉浸式體驗設(shè)計創(chuàng)新與項目運營管理研究報告
- 2025年工程經(jīng)濟(jì)知識點覆蓋試題及答案
- 經(jīng)濟(jì)法概論的系統(tǒng)性試題及答案
- 2025年公共關(guān)系學(xué)課程重點試題及答案
- 行政管理心理學(xué)考試中例題詳解試題及答案
- 行政管理經(jīng)濟(jì)法課本概述試題及答案
- 2025年工程經(jīng)濟(jì)財務(wù)杠桿效應(yīng)試題及答案
- 行政管理經(jīng)濟(jì)法前沿問題試題及答案
- 林草局森林火災(zāi)應(yīng)急預(yù)案(3篇)
- 工程經(jīng)濟(jì)新興市場分析試題及答案
- 奶茶分析報告
- 行政能力測試常識題庫及答案
- 小學(xué)生反詐知識宣傳課件
- 高血壓腦出血專家共識
- NB-T 47013.1-2015 承壓設(shè)備無損檢測 第1部分-通用要求
- 西格列汀二甲雙胍緩釋片-藥品解讀
- 多因素身份認(rèn)證
- 鐵路基本建設(shè)工程設(shè)計概(預(yù))算編制辦法-國鐵科法(2017)30號
- 汽車修理廠臺賬表格范本
- 顏真卿《勸學(xué)》ppt課件1
- 400字作文稿紙20x20格A4標(biāo)準(zhǔn)稿紙
評論
0/150
提交評論