

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 本科畢業(yè)論文(設(shè)計(jì))</p><p> 題 目 學(xué)生成績管理系統(tǒng) </p><p> 計(jì)算機(jī) 系 計(jì)算機(jī)科學(xué)與技術(shù) 專業(yè)</p><p> 學(xué) 號 </p><p>
2、; 學(xué)生姓名 </p><p> 指導(dǎo)教師 </p><p> 起訖日期 2011.11-2012.4 </p><p> 工作地點(diǎn)
3、 </p><p><b> 目 錄</b></p><p><b> 緒論2</b></p><p><b> 課題總體介紹3</b></p><p> 1.1 課題介紹3</p><p> 1.2 課題目的及意
4、義3</p><p> 1.3 主要研究功能4</p><p> 第二章 關(guān)鍵技術(shù)介紹4</p><p> 2.1 VC++6.0和面向?qū)ο蠹夹g(shù)4</p><p> 2.2 Access 2003 和 ODBC數(shù)據(jù)庫技術(shù)4</p><p> 第三章 需求分析5</p><p&g
5、t; 3.1 系統(tǒng)需求分析5</p><p> 第四章 概要設(shè)計(jì)6</p><p> 4.1 系統(tǒng)功能結(jié)構(gòu)設(shè)計(jì)6</p><p> 4.2 系統(tǒng)流程圖設(shè)計(jì)7</p><p> 4.3 數(shù)據(jù)庫設(shè)計(jì)7</p><p><b> 詳細(xì)設(shè)計(jì)8</b></p><
6、p> 5.1 主界面設(shè)計(jì)8</p><p> 5.2 注冊數(shù)據(jù)源8</p><p> 5.3 系統(tǒng)管理子模塊設(shè)計(jì)9</p><p> 5.4 學(xué)生管理子模塊設(shè)計(jì)9</p><p> 5.5 班級管理子模塊設(shè)計(jì)10</p><p> 5.6 成績管理子模塊設(shè)計(jì)12</p>&l
7、t;p> 5.7 課程管理子模塊設(shè)計(jì)13</p><p><b> 結(jié)束語14</b></p><p><b> 參考文獻(xiàn)15</b></p><p><b> 致謝16</b></p><p> 基于VC++6.0的學(xué)生成績管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)<
8、/p><p><b> 摘 要 </b></p><p> 計(jì)算機(jī)技術(shù)的飛速發(fā)展,使各行各業(yè)在計(jì)算機(jī)技術(shù)應(yīng)用方面得到了廣泛的普及和使用,學(xué)校也不例外,近來由于學(xué)生數(shù)量的急劇增加,學(xué)生的各種信息業(yè)海量增長,導(dǎo)致學(xué)校學(xué)生成績管理的工作量空前增加,為了能快速、高效,準(zhǔn)確的解決這一問題,就必須借助信息管理系統(tǒng)(MIS)來實(shí)現(xiàn),從而達(dá)到科學(xué)統(tǒng)計(jì),規(guī)范管理,減少人工操作,提高工作
9、效益的目的。</p><p> 該系統(tǒng)是使用Visual C++6.0開發(fā)的面向?qū)ο蟮臄?shù)據(jù)庫管理系統(tǒng),采用Access2003作為數(shù)據(jù)庫開發(fā)工具,系統(tǒng)開發(fā)環(huán)境是Windows xp。該系統(tǒng)界面有好,操作簡單,易學(xué)易用。</p><p> 關(guān)鍵字:學(xué)生成績管理系統(tǒng)Visual C++6.0 Access2003</p><p> Student managem
10、ent system's design and realization based on the VC++6.0</p><p><b> Abstract</b></p><p> The computer technology's development, enabled the various trades and occupations t
11、o obtain the widespread popularization and the use in the computer technology application aspect.The school is not exceptional, with recently student quantity's increase rapidly, student's each kind of informatio
12、n content also magnanimously grows, causes the school student achievement management the work increase unprecedentedly. For can fast, highly effective, accurate solution this question, must draw support fr</p><
13、;p> The system is an object-oriented database information management system developed by Visual C++ 6.0 and Access 2003, the system development environment is Windows xp. This system contact surface is friendly, the
14、simplicity of operator, ease to study easily to use.</p><p> 【Key words】Student Management System Visual C++ 6.0 Access 2003</p><p><b> 緒論</b></p><p> 本畢業(yè)論文是以學(xué)校學(xué)生管理信
15、息系統(tǒng)建設(shè)中的成績管理系統(tǒng)的開發(fā)為背景,論述了管理信息系統(tǒng)的概念、結(jié)構(gòu)及系統(tǒng)開發(fā)的基本原理和方法,全文共分為緒論、系統(tǒng)分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、開發(fā)總結(jié)、致謝、參考文獻(xiàn)、附錄等。</p><p><b> 一 課題總體介紹</b></p><p><b> 1.1 課題介紹</b></p><p> 隨著計(jì)算機(jī)技術(shù)的
16、發(fā)展,特別是計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)與數(shù)據(jù)庫技術(shù)的發(fā)展,使用人們的生活與工作方式發(fā)生了很大的改觀。網(wǎng)絡(luò)技術(shù)的應(yīng)用使得計(jì)算機(jī)之間通信、信息共享成為可能,而數(shù)據(jù)庫技術(shù)的應(yīng)用則為人們提供了數(shù)據(jù)存儲、信息檢索、信息分析等功能,從而使得工作更高效地進(jìn)行。</p><p> 數(shù)據(jù)庫始于20世紀(jì)60年代,經(jīng)過40多年的發(fā)展,現(xiàn)在已經(jīng)形成了理論體系,成為計(jì)算機(jī)軟件的一個(gè)重要分支。數(shù)據(jù)庫技術(shù)體現(xiàn)了當(dāng)代先進(jìn)的數(shù)據(jù)管理方法,使計(jì)算機(jī)的應(yīng)用真正
17、滲透到國民經(jīng)濟(jì)各個(gè)部門,在數(shù)據(jù)處理領(lǐng)域發(fā)揮著越來越大的作用。</p><p> 而互聯(lián)網(wǎng)技術(shù)的出現(xiàn),更是進(jìn)一步豐富的人類生活,數(shù)字化生存已經(jīng)一步步走進(jìn)我們的生活與工作。互聯(lián)網(wǎng)技術(shù)與數(shù)據(jù)庫技術(shù)的結(jié)合為計(jì)算的在人類生活中的應(yīng)用帶來了巨大的影響。產(chǎn)業(yè)信息化,管理現(xiàn)代化,科學(xué)化已經(jīng)成為行業(yè)發(fā)展的重要課題,這不僅是企業(yè)提高自身競爭力,甚至是國家提高綜合國力,走向國民富強(qiáng)的重要手段。</p><p>
18、; 在我國,教育是一個(gè)影響著國富民強(qiáng)的重要行業(yè),隨著改革開放和市場經(jīng)濟(jì)的發(fā)展根據(jù)中國特有的國情發(fā)展,教育得到了國家的大力扶持與社會各界的高度重視,從而使教育業(yè)向規(guī)范性與現(xiàn)代化的方向高速發(fā)展,但是同發(fā)達(dá)國家相比,我國的教育行業(yè)的信息技術(shù)的應(yīng)用程度還很低,只有在大城市中發(fā)展較早、規(guī)模較大的院校中才使用計(jì)算機(jī)進(jìn)行大規(guī)模操作,從各方面提高工作效率,取得良好的社會和經(jīng)濟(jì)效益,而一些新興的、規(guī)模較小的教育機(jī)構(gòu)還沒有全部具備這種功能。因此可見,隨著
19、我國教育的迅速發(fā)展,信息技術(shù)在其上的應(yīng)用會更加地廣泛和深入。</p><p> 1.2 課題目的及意義</p><p><b> 系統(tǒng)開發(fā)目的:</b></p><p> 本系統(tǒng)是將現(xiàn)代化的計(jì)算機(jī)技術(shù)和傳統(tǒng)的教學(xué)、教務(wù)工作相結(jié)合,按照學(xué)院的工作流程設(shè)計(jì)完成的。為了使系統(tǒng)在學(xué)院的管理中發(fā)揮更大的作用,實(shí)現(xiàn)工作過程的計(jì)算機(jī)化,提高工作效率和工
20、作質(zhì)量,現(xiàn)提出如下的系統(tǒng)開發(fā)目標(biāo):</p><p> 1.系統(tǒng)應(yīng)具有實(shí)用性、可靠性和適用性,同時(shí)注意到先進(jìn)性。</p><p> 2.對各個(gè)數(shù)據(jù)庫進(jìn)行動態(tài)管理,防止混亂。</p><p> 3.能夠按照用戶選擇的不同的條件進(jìn)行簡單查詢和復(fù)合查詢。</p><p> 4.能夠?qū)Σ樵兘Y(jié)果進(jìn)行分類匯總,實(shí)現(xiàn)報(bào)表打印。</p>
21、<p> 5.注意數(shù)據(jù)的安全性,具有數(shù)據(jù)備份和恢復(fù)的功能。</p><p> 6.方便用戶的操作,盡量減少用戶的操作。</p><p><b> 系統(tǒng)開發(fā)意義:</b></p><p> 在各大中小學(xué)校,用計(jì)算機(jī)管理學(xué)校的信息已經(jīng)越來越普遍了。用計(jì)算機(jī)不但可以提高工作效率,而且還節(jié)省了許多人力物力,增強(qiáng)了學(xué)校資料的安全性。提高
22、了學(xué)校的管理能力,為此,用計(jì)算機(jī)來管理學(xué)校的信息,是非常必要的。</p><p> 1.3 主要研究功能</p><p> 權(quán)限功能:系統(tǒng)可分為普通用戶,管理員。普通用戶只是查詢不能修改,管理員用戶還能修改、刪除、添加所有信息。系統(tǒng)根據(jù)登錄用戶的權(quán)限進(jìn)行相應(yīng)的操作。</p><p> 錄入功能:為管理員用戶提供相應(yīng)的錄入功能。</p><p
23、> 查詢功能:為所有用戶提供查詢的功能,可查詢允許范圍內(nèi)的所有信息。</p><p> 維護(hù)功能:為管理員用戶提供查詢及相應(yīng)的修改,刪除、添加功能。</p><p> 退出功能:結(jié)束并關(guān)閉系統(tǒng)。</p><p> 二 訪問數(shù)據(jù)庫的方法</p><p> 2.1 VC++6.0和面向?qū)ο蠹夹g(shù)</p><p&g
24、t; Visual C++ 是功能最為強(qiáng)大的可視化開發(fā)工具,它不僅支持傳統(tǒng)的軟件開發(fā)的方法,更重要的是它能支持面向?qū)ο?、可視化的開發(fā)風(fēng)格。因此Visual C++ 又稱作是一個(gè)集成開發(fā)工具,它提供了軟件自動生成和可視化資源編輯功能。</p><p> Visual C++ 具有的優(yōu)點(diǎn):提供了面向?qū)ο蟮膽?yīng)用程序框架MFC,簡化了程序員的編程工作,提高了模塊的重要性;提高了基于CASE技術(shù)的可視化軟件的自動生成和
25、維護(hù)工具AppWizard、ClassWizard、Visual Studio、WizardBar 等,實(shí)現(xiàn)了直觀、可視的程序設(shè)計(jì)風(fēng)格,方便地編程和管理各種類,維護(hù)程序的源代碼封裝了Windows的API函數(shù)、USER、DERNEL、GDI函數(shù),簡化了編程創(chuàng)建、維護(hù)窗口的許多復(fù)雜的工作。</p><p> 面向?qū)ο蠹夹g(shù)(OOP)它強(qiáng)調(diào)直接以問題域(即現(xiàn)實(shí)世界)中的失誤為中心來考慮和認(rèn)識問題,并按照作為這些事物的
26、本質(zhì)特證把它們抽象為對象,作為軟件系統(tǒng)的基礎(chǔ)。在OOP方法中,將對象作為系統(tǒng)中最基本的運(yùn)行實(shí)體,對象中封裝了描述改對象的特殊屬性(數(shù)據(jù))和行為(方法)。整個(gè)抽象即由各種不同類型的對象組成,個(gè)對象既是一個(gè)單獨(dú)的實(shí)體,又可通過一定的方式相互作用。</p><p> 面向?qū)ο蠹夹g(shù)強(qiáng)調(diào)在軟件開發(fā)的過程中面向客觀的世界或問題域中的事物,采用人類在認(rèn)識客觀世界的過程中普遍運(yùn)用的思維方法,直觀、自然的描述客觀世界中的有關(guān)事物
27、。面向?qū)ο蠹夹g(shù)的基礎(chǔ)特征主要有抽象性、封裝性、繼承性和多態(tài)性。</p><p> 2.2 Access 2003 和ODBC數(shù)據(jù)庫技術(shù)</p><p> Access 2003 是微軟公司推出的基于 Windows 的桌面關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS),是 Office 系列應(yīng)用軟件之一。它不僅是具有界面友好、易操作的特性,同時(shí)它還能很好的支持ODBC技術(shù),實(shí)現(xiàn)與外界程序的數(shù)據(jù)交換。
28、Access 2003最主要的特點(diǎn)的是它的數(shù)據(jù)庫的文件(。mdb)能脫離ACCESS環(huán)境,在未安裝ACCESS機(jī)器上被其他的軟件調(diào)用于用戶的操作和管理,從而使的數(shù)據(jù)不用依賴數(shù)據(jù)庫軟件而可以單獨(dú)使用,這極大的增強(qiáng)了數(shù)據(jù)的可移植性。</p><p> ODBC(開放數(shù)據(jù)庫互連)是微軟公司開放服務(wù)結(jié)構(gòu)中有關(guān)數(shù)據(jù)庫的一個(gè)組成部分,它建立了一組規(guī)范,并提供聊一組對數(shù)據(jù)庫訪問的標(biāo)準(zhǔn)API(應(yīng)用程序編程接口)。這些API利用
29、SQL來完成其大部分的任務(wù)。ODBC本身也提供了對SQL語言的支持,用戶可以直接將SQL語句送給ODBC。</p><p> 一個(gè)基于ODBC的應(yīng)用程序?qū)?shù)據(jù)庫的操作部依賴任何DBMS,不直接與DBMS打交道,所有的數(shù)據(jù)庫操作由對應(yīng)的DBMS的ODBC驅(qū)動程序完成。也就是說,不論FoxPro、Access還是Oracle數(shù)據(jù)庫,均可用ODBC API進(jìn)行訪問。由此可見ODBC借款的最大的優(yōu)點(diǎn)是其互操作的能力,理
30、想情況下,每個(gè)驅(qū)動程序和數(shù)據(jù)源因支持完全相同的ODBC函數(shù)調(diào)用和SQL語句,使得ODBC應(yīng)用程序可以操作所以的數(shù)據(jù)庫系統(tǒng)。</p><p><b> 三 需求分析</b></p><p> 3.1 系統(tǒng)需求分析</p><p> 功能需求具體分析如下:</p><p><b> 系統(tǒng)登錄</b&g
31、t;</p><p> 用戶輸入用戶名和密碼,系統(tǒng)查詢數(shù)據(jù)庫中的信息對用戶名和密碼進(jìn)行驗(yàn)證。如果用戶名和密碼不正確將不能進(jìn)入系統(tǒng)。如果用戶名和密碼正確,系統(tǒng)會根據(jù)用戶所具有的權(quán)限進(jìn)行不同的操作</p><p><b> 系統(tǒng)管理</b></p><p> 修改密碼:對于任何用戶,包括普通用戶和管理員用戶都可以對自己的密碼進(jìn)行重新設(shè)置。&l
32、t;/p><p> 用戶管理:只針對系統(tǒng)管理員才能進(jìn)行的操作,管理員用戶可以查看用戶的信息,當(dāng)普通用戶忘記密碼時(shí)可以找回其密碼,并且能添加,刪除用戶。</p><p><b> 學(xué)生信息管理</b></p><p> 普通用戶可以對所有的學(xué)生的信息根據(jù)輸入的信息進(jìn)行查詢,系統(tǒng)管理員用戶還可以添加、修改、添加學(xué)生信息。學(xué)生的基本信息包括:學(xué)號、
33、姓名、性別、年級、班級、家庭住址以及備注。</p><p><b> 成績管理</b></p><p> 普通用戶可以對自己以及其他學(xué)生的成績進(jìn)行查詢,管理員用戶可以對所以的學(xué)生的成績信息進(jìn)行查詢、修改,還可以添加錄入成績。學(xué)生成績的基本信息包括:課程號、學(xué)號、分?jǐn)?shù)。</p><p><b> 班級管理</b><
34、;/p><p> 普通用戶可以查看學(xué)校的班級的信息,管理員用戶還可以進(jìn)行對已有班級信息的修改已經(jīng)添加新的班級。班級信息包括:所屬系別、所屬專業(yè)。</p><p><b> 課程管理</b></p><p> 普通用戶可以查看課程的信息,管理員用戶還可以修改已有課程的信息以及添加新的課程。課程信息包括:課程號、課程名稱、所屬專業(yè)、教學(xué)年級、教學(xué)
35、學(xué)期。</p><p><b> 幫助</b></p><p> 對本系統(tǒng)的作者情況的一些介紹和說明,方便客戶對該系統(tǒng)存在的問題提出意見和建議。</p><p><b> 四 概要設(shè)計(jì)</b></p><p> 4.1 系統(tǒng)功能結(jié)構(gòu)設(shè)計(jì)</p><p> 系統(tǒng)的模塊
36、將劃分為5個(gè)大的模塊,每個(gè)模塊負(fù)責(zé)的功能相對專一。其中,用戶身份驗(yàn)證模塊提供對用戶身份的驗(yàn)證,同時(shí)讀取用戶所具有的權(quán)限,只有具有管理員權(quán)限的用戶才可以使用系統(tǒng)的所有的功能。本系統(tǒng)采用MFC ODBC數(shù)據(jù)庫訪問技術(shù)實(shí)現(xiàn)對數(shù)據(jù)庫的訪問操作。系統(tǒng)的最底層是數(shù)據(jù)庫,本系統(tǒng)采用Microsoft Access 作為后臺數(shù)據(jù)庫。</p><p><b> '</b></p>&l
37、t;p> 圖4-1 學(xué)生成績管理系統(tǒng)功能結(jié)構(gòu)圖</p><p> 4.2 系統(tǒng)流程圖設(shè)計(jì)</p><p> 圖4-2 系統(tǒng)流程圖</p><p><b> 4.3 數(shù)據(jù)庫設(shè)計(jì)</b></p><p> 本系統(tǒng)的數(shù)據(jù)庫由用戶表、學(xué)生表、課程表、成績表、班級表組成。</p><p>
38、 表4-1 用戶表user_table</p><p> 表4-2 學(xué)生表student_table</p><p> 表4-3 課程表course_table</p><p> 表4-4 成績表score_table</p><p> 表4-5 班級表class_table</p><p><
39、b> 五 詳細(xì)設(shè)計(jì)</b></p><p><b> 5.1 主界面設(shè)計(jì)</b></p><p> 先建立一個(gè)對話框程序作為主界面,然后添加菜單資源即可。主界面如下圖所示:</p><p><b> 圖5-1 主界面</b></p><p><b> 5.2 注
40、冊數(shù)據(jù)源</b></p><p> 在程序的ScoreManageSysApp.c中包含頭文件odbcinst.h,并且在此文件中的InitInstance()函數(shù)開始添加以下代碼,完成數(shù)據(jù)源的注冊。 </p><p> CString sPath;</p><p> GetModuleFileName(NULL,sPath.GetBufferS
41、etLength(MAX_PATH+1),MAX_PATH);</p><p> sPath.ReleaseBuffer ();</p><p><b> int nPos;</b></p><p> nPos=sPath.ReverseFind ('\\');</p><p> sPath=sP
42、ath.Left (nPos);</p><p> nPos=sPath.ReverseFind('\\');</p><p> sPath=sPath.Left (nPos);</p><p> CString lpszFile = sPath + "\\ScoreManageSys.mdb";</p>&l
43、t;p> char* szDesc;</p><p><b> int mlen;</b></p><p> szDesc=new char[256];</p><p> sprintf(szDesc,"DSN=%s? DESCRIPTION=TOC support source? DBQ=%s? FIL=Microso
44、ftAccess? DEFAULTDIR=%s?? ","hl_ScoreManageSys",lpszFile,sPath);</p><p> mlen = strlen(szDesc);</p><p> for (int i=0; i<mlen; i++)</p><p><b> {</b>&
45、lt;/p><p> if (szDesc[i] == '?')</p><p> szDesc[i] = '\0';</p><p><b> }</b></p><p> if (FALSE == SQLConfigDataSource(NULL,ODBC_ADD_DSN,&quo
46、t;Microsoft Access Driver (*.mdb)\0",(LPCSTR)szDesc))</p><p> AfxMessageBox("SQLConfigDataSource Failed");</p><p><b> try</b></p><p><b> {</b&
47、gt;</p><p> CString strConnect;</p><p> strConnect.Format("DSN=hl_ScoreManageSys;");</p><p> if(!m_DB.OpenEx(strConnect,CDatabase::useCursorLib))</p><p>&l
48、t;b> {</b></p><p> AfxMessageBox("Unable to Connect to the Specified Data Source");</p><p> return FALSE ;</p><p><b> }</b></p><p>&l
49、t;b> }</b></p><p> catch(CDBException *pE)</p><p><b> {</b></p><p> pE->ReportError();</p><p> pE->Delete();</p><p> retur
50、n FALSE;</p><p><b> }</b></p><p> 5.3 系統(tǒng)管理子模塊設(shè)計(jì)</p><p> 新建一個(gè)用戶管理窗口并為之關(guān)聯(lián)一個(gè)CUserManage的類和一個(gè)從CRecordset繼承來的數(shù)據(jù)庫記錄集類CUserSet。選擇連接ODBC數(shù)據(jù)源user_table表,這樣就將其與表項(xiàng)相關(guān)聯(lián)。在UserManage
51、.h文件中包含UserSet.h文件</p><p> 該類包含主要函數(shù)有:</p><p> OnInitDialog();調(diào)用Show()函數(shù)完成初始化的工作。</p><p> OnDeleteUser();單擊"刪除"按鈕的消息響應(yīng)函數(shù)。</p><p> OnModifyPwd();單擊"修改&
52、quot;按鈕的消息響應(yīng)函數(shù),調(diào)用CModifyPwd類關(guān)聯(lián)的對話框完 成修改。</p><p> Show();在ListCtrl控件中顯示所有的用戶的用戶名和密碼。</p><p> OnAddUser();單擊"添加"按鈕的消息響應(yīng)函數(shù),調(diào)用CAddUser類關(guān)聯(lián)的對話框添加用戶。</p><p> 5.4 學(xué)生管理子模塊
53、設(shè)計(jì)</p><p> 圖5-3 新增用戶窗口</p><p> 圖4-2是學(xué)生成績管理系統(tǒng)新增用戶窗體,設(shè)計(jì)過程:新建一個(gè)學(xué)生信息管理對話框?yàn)樗P(guān)聯(lián)一個(gè)CStuManage的類和一個(gè)從CRecordset繼承來的數(shù)據(jù)庫記錄集類CStuInfoSet。選擇連接ODBC數(shù)據(jù)源student_table表。在對話框上面添加Tab Control控件。</p><p>
54、; 新建一個(gè)學(xué)生信息瀏覽對話框和學(xué)生信息添加對話框分別為這2個(gè)對話框關(guān)聯(lián)CAddStuInfo和CStuInfoBrowse類,將2個(gè)對話框的style設(shè)置成Child。將上述2個(gè)對話框關(guān)聯(lián)到CStuManage類的Tab Control控件上。</p><p> CStuManage類包含主要函數(shù)有:</p><p> OnInitDialog();初始化Tab Control控件
55、,根據(jù)登錄用戶的權(quán)限初始化相應(yīng)的按鈕控件。</p><p> OnSelchangeTab();響應(yīng)點(diǎn)擊Tab Control控件的消息。</p><p> CAddStuUser類包含主要函數(shù)有:</p><p> OnInitDialog();根據(jù)登錄用戶的權(quán)限初始化相應(yīng)的按鈕控件。</p><p> OnAdd();單擊&quo
56、t;添加"按鈕的消息響應(yīng)函數(shù)。</p><p> CStuInfoBrowse類包含主要函數(shù)有:</p><p> CreateSQL();根據(jù)用戶的輸入產(chǎn)生SQL語句。</p><p> InitList();根據(jù)用戶的要求將結(jié)果顯示在ListCtrl中。</p><p> OnDeleteStu();根據(jù)用戶的選擇刪除記
57、錄。</p><p> OnModifyStu();修改用戶選擇的學(xué)生的信息。</p><p> OnQueryStu();根據(jù)用戶輸入的條件查詢student_table表。</p><p> OnqueryAllStu();顯示所有的學(xué)生信息。</p><p> 5.5 班級管理子模塊設(shè)計(jì)</p><p>
58、 班級管理窗口用樹形控件來實(shí)現(xiàn),其關(guān)鍵技術(shù)就是讀出Class_table中的數(shù)據(jù)并將這些數(shù)據(jù)顯示在樹形控件上這里使用InitTree()函數(shù)解決,核心代碼如下:</p><p> m_tree.DeleteAllItems();</p><p> HTREEITEM root = m_tree.InsertItem("湖大知行");</p><
59、p> CClassSet classSet;</p><p> classSet.Open();</p><p><b> do</b></p><p><b> {</b></p><p> CString dep = classSet.m_department;</p>
60、;<p> CString pro = classSet.m_profession;</p><p> CString grade = classSet.m_grade;</p><p> CString classNum = classSet.m_classNum;</p><p> HTREEITEM hChild_dep = m_tree
61、.GetChildItem(root);</p><p> if (hChild_dep == NULL)</p><p><b> {</b></p><p> HTREEITEM child_dep = m_tree.InsertItem(dep,root);</p><p> HTREEITEM child
62、_pro = m_tree.InsertItem(pro,child_dep);</p><p> HTREEITEM child_grade = m_tree.InsertItem(grade,child_pro);</p><p> HTREEITEM child_classNum = m_tree.InsertItem(classNum,child_grade);</p&g
63、t;<p> classSet.MoveNext();</p><p><b> continue;</b></p><p><b> }</b></p><p> while(hChild_dep != NULL) </p><p><b> { &l
64、t;/b></p><p> CString strDep = m_tree.GetItemText(hChild_dep);</p><p> if (strDep == dep)</p><p><b> {</b></p><p> HTREEITEM hChild_pro = m_tree.GetC
65、hildItem(hChild_dep);</p><p> while(hChild_pro != NULL)</p><p><b> {</b></p><p> CString strPro = m_tree.GetItemText(hChild_pro);</p><p> if (strPro ==
66、 pro)</p><p><b> {</b></p><p> HTREEITEM hChild_grade = m_tree.GetChildItem(hChild_pro);</p><p> while(hChild_grade != NULL)</p><p><b> {</b>
67、;</p><p> CString strGrade = m_tree.GetItemText(hChild_grade);</p><p> if (strGrade == grade)</p><p><b> {</b></p><p> HTREEITEM hChild_class = m_tree.G
68、etChildItem(hChild_pro);</p><p> while(hChild_class != NULL)</p><p><b> {</b></p><p> CString strClass = m_tree.GetItemText(hChild_class);</p><p> if (s
69、trClass == classNum)</p><p><b> {</b></p><p><b> break;</b></p><p><b> }</b></p><p> hChild_class = m_tree.GetNextSiblingItem(hC
70、hild_class);</p><p><b> }</b></p><p> if (hChild_class == NULL)</p><p><b> {</b></p><p> HTREEITEM child_classNum = m_tree.InsertItem(classN
71、um,hChild_grade);</p><p><b> }</b></p><p><b> break;</b></p><p><b> }</b></p><p> hChild_grade = m_tree.GetNextSiblingItem(hChi
72、ld_grade);</p><p><b> }</b></p><p> if (hChild_grade == NULL)</p><p><b> {</b></p><p> HTREEITEM child_grade = m_tree.InsertItem(grade,hChil
73、d_pro);</p><p> HTREEITEM child_classNum = m_tree.InsertItem(classNum,child_grade);</p><p><b> }</b></p><p><b> break;</b></p><p><b&g
74、t; }</b></p><p> hChild_pro = m_tree.GetNextSiblingItem(hChild_pro);</p><p><b> }</b></p><p> if (hChild_pro == NULL)</p><p><b> {</b>
75、;</p><p> HTREEITEM child_pro = m_tree.InsertItem(pro,hChild_dep);</p><p> HTREEITEM child_grade = m_tree.InsertItem(grade,child_pro);</p><p> HTREEITEM child_classNum = m_tree.I
76、nsertItem(classNum,child_grade);}</p><p><b> break;</b></p><p><b> }</b></p><p> hChild_dep = m_tree.GetNextSiblingItem(hChild_dep); </p>&l
77、t;p><b> }</b></p><p> if (hChild_dep == NULL)</p><p><b> {</b></p><p> HTREEITEM child_dep = m_tree.InsertItem(dep,root);</p><p> HTREEI
78、TEM child_pro = m_tree.InsertItem(pro,child_dep);</p><p> HTREEITEM child_grade = m_tree.InsertItem(grade,child_pro);</p><p> HTREEITEM child_classNum = m_tree.InsertItem(classNum,child_grade)
79、;</p><p><b> }</b></p><p> classSet.MoveNext();</p><p> }while(!classSet.IsEOF());</p><p> classSet.Close();</p><p> m_tree.Expand(root
80、,TVE_EXPAND);</p><p> 5.6 成績管理子模塊設(shè)計(jì)</p><p><b> 個(gè)人成績管理:</b></p><p> 新建一個(gè)班級成績管理對話框,為之關(guān)聯(lián)一個(gè)CPersonalScore類。在對話框上創(chuàng)建 List 控件,用來顯示登錄的用戶的所有的成績信息。</p><p> CPerso
81、nalScore類包含主要的函數(shù)有:</p><p> OnAll();顯示所有的成績。</p><p> Show();初始化List控件。</p><p> OnConfirm();根據(jù)用戶的輸入查詢數(shù)據(jù)庫,并將查詢的結(jié)果顯示在List控件中。</p><p><b> 班級成績管理:</b></p&g
82、t;<p> 新建一個(gè)班級成績管理對話框,為之關(guān)聯(lián)一個(gè)CClassScore類。在對話框上創(chuàng)建分別一個(gè)Tree 和 List 控件,Tree用來顯示班級信息,List用來顯示用戶選擇的班級的所有的成績信息。</p><p> CClassScore類包含主要的函數(shù)有:</p><p> InitListCtrl();初始化List控件。</p><p
83、> InitTree();初始化Tree控件。</p><p> OnItemchangedList(...);List控件選項(xiàng)改變時(shí)的響應(yīng)函數(shù)。</p><p> OnSelchangedTree(...);Tree控件選項(xiàng)改變時(shí)的響應(yīng)函數(shù)。</p><p> 5.7 課程管理子模塊設(shè)計(jì)</p><p> 新建一個(gè)課程瀏覽對
84、話框和一個(gè)課程添加對話框,分別為2個(gè)對話框關(guān)聯(lián)CCourseBrowse和CAddCourse。</p><p> CCourseBrowse類包含的主要的函數(shù)有:</p><p> OnInitDialog();初始化對話框上面的控件。</p><p> OnModify();根據(jù)用戶的選擇修改課程的信息。</p><p> Sho
85、w();將數(shù)據(jù)庫中的內(nèi)容顯示在List控件中。</p><p> CAddCourse類包含的主要的函數(shù)有:</p><p> OnConfirm();將用戶的輸入添加到數(shù)據(jù)庫。結(jié)束語</p><p> 到此為止,畢業(yè)設(shè)計(jì)和論文也算基本完成了,前前后后大約花了2個(gè)星期的時(shí)間,這期間遇到無數(shù)的程序Bug和不少的技術(shù)難題,這讓我費(fèi)盡了心思,還好,運(yùn)氣
86、不錯(cuò),問題一一化解,最終作品差強(qiáng)人意的完成了。期間遇到的困難讓人苦不堪言,有時(shí)候會因?yàn)橐粋€(gè)頭文件沒加上,就出現(xiàn)滿屏的提示錯(cuò)誤,這讓你一眼看上去有點(diǎn)暈眩的感覺,你不得不靜下心來一個(gè)一個(gè)的調(diào)試;有時(shí)候因?yàn)橐粋€(gè)技術(shù)難題無法攻克,你必須放棄以前的努力,重新尋找新的方法。有時(shí)候出現(xiàn)的問題不管你怎么想也想不出錯(cuò)誤的原因,即使你查遍各類書籍、視頻,搜遍百度,Google,問遍各大論壇,你依然難以解決,直到你想放棄的時(shí)候,卻突然靈光一現(xiàn)想出新辦法的時(shí)候
87、,那種興奮、激動,無以言表。我想也正是這種完成解決問題的成就感一直激勵(lì)著自己勇往直前,永不放棄吧。</p><p> 設(shè)計(jì)論文雖然完成了,但中間依然存在很多問題,比如界面不夠美觀,系統(tǒng)功能不夠強(qiáng)大,程序設(shè)計(jì)的方法的流程不夠科學(xué)等問題,由于時(shí)間和能力的限制,這些問題不能很好地解決,但我相信只要堅(jiān)持不斷的學(xué)習(xí)和完善自我,相信這些問題都能在將來得到很好地解決。</p><p><b>
88、; 參考文獻(xiàn)</b></p><p> [1] 譚浩強(qiáng).C程序設(shè)計(jì)(第二版).北京:清華大學(xué)出版社,2000.2.</p><p> [2] 嚴(yán)蔚敏,數(shù)據(jù)結(jié)構(gòu)(C語言版).北京:清華大學(xué)出版社,2008.2.</p><p> [3] 龍懷冰.SQL Sever 2000實(shí)用開發(fā)教程[M].北京人民郵電出版,2004.</p>&l
89、t;p> [4] 鄭阿奇..SQL Server實(shí)用教程(第2版)[M].電子工業(yè)出版社.2006.</p><p> [5] Stanley B.Lippman 、Josee Lajoie、Barbara E.Moo 著 李師賢 蔣愛軍 梅驍勇 林瑛譯.C++Primer中文版.北京:人民郵電出版社.2006.3.</p><p> [6] 明日科技 劉鋭寧 梁水 宋坤 著
90、.Visual C++ 全能速查寶典.北京: 人民郵電出版社. 2009.11.</p><p> [7] 秦小波 著.設(shè)計(jì)模式之禪.機(jī)械工業(yè)出版社 2010.3.</p><p> [8] 侯俊杰 著.深入淺出MFC第2版.華中科技大學(xué)出版社.2000.</p><p> [9] 王珊等.?dāng)?shù)據(jù)庫技術(shù)與應(yīng)用[M].清華大學(xué)出版社,2005.</p>
91、<p><b> 致 謝</b></p><p> 本次的畢業(yè)設(shè)計(jì)是在老師的悉心的指導(dǎo)和幫助下完成的。在這近三個(gè)月的學(xué)習(xí)開發(fā)過程中,我們占去了老師的很多時(shí)間,給她添了很多麻煩。xx老師并沒有厭煩,每次都很耐心地給我們講解、糾錯(cuò)??梢哉f,老師在我們這次的畢業(yè)設(shè)計(jì)中花費(fèi)了很大的心血。在她的耐心指導(dǎo)下,我們系統(tǒng)地學(xué)習(xí)了軟件開發(fā)的過程,從需求分析、總體設(shè)計(jì)到詳細(xì)設(shè)計(jì),我們由一無所知
92、到比較熟練的掌握點(diǎn)點(diǎn)滴滴都離不開老師的指教!在此,我代表我們向老師表示衷心的感謝,謝謝他這兩個(gè)月的幫助與指導(dǎo)!</p><p> 四年時(shí)間很快過去了,我即將畢業(yè),心中有萬般的不舍。四年來,在班主任及系、院領(lǐng)導(dǎo)的關(guān)心幫助下,我不僅學(xué)到了很多專業(yè)知識,也學(xué)到了很多為人處世的道理。在此,我深深地感謝四年來幫助過、關(guān)心過我的所有老師!</p><p> 同時(shí),我的各個(gè)方面的進(jìn)步,也離不開全體同
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 學(xué)生成績管理系統(tǒng)畢業(yè)論文畢業(yè)論文
- 畢業(yè)論文——學(xué)生成績管理系統(tǒng)
- 學(xué)生成績管理系統(tǒng)畢業(yè)論文
- 畢業(yè)論文-學(xué)生成績管理系統(tǒng)
- 學(xué)生成績管理系統(tǒng)畢業(yè)論文
- 學(xué)生成績管理系統(tǒng)畢業(yè)論文
- 學(xué)生成績管理系統(tǒng)-畢業(yè)論文
- 學(xué)生成績管理系統(tǒng)——畢業(yè)論文
- 學(xué)生成績管理系統(tǒng)——畢業(yè)論文
- 學(xué)生成績管理系統(tǒng)畢業(yè)論文
- 學(xué)生成績管理系統(tǒng)畢業(yè)論文
- 畢業(yè)論文-學(xué)生成績管理系統(tǒng)
- 學(xué)生成績管理系統(tǒng) 畢業(yè)論文
- 學(xué)生成績管理系統(tǒng)畢業(yè)論文 (3)
- 畢業(yè)論文學(xué)生成績管理系統(tǒng)
- 學(xué)生成績管理系統(tǒng)畢業(yè)論文7
- 學(xué)生成績管理系統(tǒng)畢業(yè)論文 (2)
- 學(xué)生成績管理系統(tǒng)畢業(yè)論文 (2)
- 學(xué)生成績管理系統(tǒng)畢業(yè)論文9
- 中學(xué)學(xué)生成績管理系統(tǒng)畢業(yè)論文
評論
0/150
提交評論