第一篇:學(xué)生成績管理系統(tǒng)(論題報告)
專業(yè):
姓名:
電子郵箱:
聯(lián)系電話:
學(xué)生成績管理系統(tǒng)
(論題報告)
一、論題提出的背景和意義
在21世紀(jì)的科技時代,科學(xué)技術(shù)突飛猛進,計算機已經(jīng)不僅是在科技上應(yīng)用,而且在生活中也是同樣得到了廣泛應(yīng)用。在我國,教育是一個影響著國富民強的重要行業(yè),隨著改革開放和市場經(jīng)濟的發(fā)展,教育得到了國家的大力扶持與社會各界的高度重視,從而使教育業(yè)向規(guī)范性與現(xiàn)代化的方向高速發(fā)展。但是同發(fā)達國家相比,我國的教育行業(yè)的信息技術(shù)的應(yīng)用程度還很低,只有在大城市中發(fā)展較早、規(guī)模較大的院校中才使用計算機進行大規(guī)模操作,從各方面提高工作效率,取得良好的社會和經(jīng)濟效益。而一些新興的、規(guī)模較小的教育機構(gòu)還沒有全部具備這種功能。因此可見,隨著我國教育的迅速發(fā)展,信息技術(shù)在其上的應(yīng)用會更加地廣泛和深入。學(xué)生成績管理是學(xué)校管理中非常重要的一個環(huán)節(jié),是整個學(xué)校教務(wù)管理中的重要一部分,鑒于它的重要性,學(xué)生成績管理系統(tǒng)的開發(fā)與應(yīng)用就逐漸提入議程。運用學(xué)生成績管理系統(tǒng)可以減輕學(xué)院教學(xué)人員的工作量,加快查詢速度,加強管理。
運用學(xué)生成績管理系統(tǒng)可以縮小教學(xué)開支,提高工作效率與準(zhǔn)確率,學(xué)校能夠合理安排時間,學(xué)生能夠盡快的知道考試成績,以便投入新的課程的學(xué)習(xí)或復(fù)習(xí)這次沒有考過的課程。而學(xué)生成績管理系統(tǒng)的應(yīng)用也為今天的民辦教育在未來市場的競爭力有所提高。從大的方向說,就是為了加速我國四化建設(shè)的發(fā)展,實
現(xiàn)全部的自動化,使我國發(fā)展成為通訊網(wǎng)絡(luò)化,決策科學(xué)化,辦公自動化的國家。
二、目前學(xué)生成績管理存在的現(xiàn)狀
在我國,各大中小學(xué)校的各類信息管理系統(tǒng)并非一個新的課題,但也有的學(xué)校根本就沒有任何信息管理系統(tǒng),所有的工作幾乎還是手工操作來完成。計算機技術(shù)在日新月異的發(fā)展,但是有的很多學(xué)校,特別是在西部貧困地區(qū),學(xué)校的信息管理都依然由手工操作來完成,這十分落后,效率極低,成本很大,而且極異出錯。隨著社會的發(fā)展,信息化是社會進程的必然趨勢,學(xué)校管理只有快,準(zhǔn),精才能發(fā)揮其價值。所以機器代替人力是必然的歷史發(fā)展趨勢,只有領(lǐng)導(dǎo)的重視和支持才能從人工操作改為計算機的自動化系統(tǒng)。人工操作必將被計算機代替。
縱觀目前國內(nèi)研究現(xiàn)狀,在安全性和信息更新化方面存在有一定的不足,各現(xiàn)有系統(tǒng)資料單獨建立,共享性差;在以管理者為主體的方式中,信息取舍依賴管理者對于信息的認(rèn)知與喜好,較不容易掌握用戶真正的需求,也因此無法完全滿足用戶的需求。
三、開發(fā)學(xué)生成績管理系統(tǒng)的必要性和可行性
學(xué)生成績管理是各大學(xué)的主要日常管理工作之一,涉及到校、系、師、生的諸多方面,隨著教學(xué)體制的不斷改革,尤其是學(xué)分制、選課制的展開和深入,學(xué)生成績?nèi)粘9芾砉ぷ骷氨4婀芾砣遮叿敝亍?fù)雜。迫切需要研制開發(fā)一款功能強大,操作簡單,具有人性化的學(xué)生成績管理系統(tǒng)。作為學(xué)校,學(xué)生成績管理的計算機化是整個學(xué)校管理中的重要一部分,能否實現(xiàn)這一步關(guān)系到學(xué)校辦學(xué)整體效率的高低,介與它的重要性,學(xué)生成績管理系統(tǒng)的開發(fā)與應(yīng)用就逐漸提入議程,并占著越來越重要的份量。
技術(shù)可行性-----本系統(tǒng)將采用ASP.Net4.0+SQL Server 2008進行開發(fā),供管理人員在本地機上完成對數(shù)據(jù)庫的各種修改工作.并且采用了數(shù)據(jù)訪問技術(shù)ADO.Net使之能更好地訪問本地和遠程的數(shù)據(jù)庫;在數(shù)據(jù)環(huán)境方面,允許程序員可視化地創(chuàng)建和操作ADO.Net連接命令等優(yōu)點,SQL Server 2008是一款非常成熟的數(shù)據(jù)庫管理軟件,提供了強大的數(shù)據(jù)庫訪問功能,為數(shù)據(jù)庫管理與分析帶來靈活性,因此, 對于軟件技術(shù)要求,C#語言已非常成熟。
經(jīng)濟可行性-----系統(tǒng)管理的對象單一,都是在校學(xué)生,且每個數(shù)據(jù)內(nèi)容具有較強的關(guān)聯(lián)性,涉及的計算過程不是很復(fù)雜。對機器本身沒有太高的要求,學(xué)校用于學(xué)生管理的微機在存儲量、速度方面都能滿足數(shù)據(jù)庫運行的要求。計算機裝上該應(yīng)用軟件,即可使用系統(tǒng),當(dāng)系統(tǒng)投入運行后可以為學(xué)校節(jié)約大量的人力,物力,在經(jīng)濟上完全可行。
操作可行性-----數(shù)據(jù)錄入迅速、規(guī)范、可靠;統(tǒng)計準(zhǔn)確;制表靈活;適應(yīng)力強;容易擴充。
四、開發(fā)學(xué)生成績管理系統(tǒng)的構(gòu)想
(一)、系統(tǒng)分析
成績管理系統(tǒng)的業(yè)務(wù)總體目標(biāo)是建立一個先進、高效、安全、可靠的能被有效和應(yīng)用于學(xué)生成績管理的信息化數(shù)據(jù)庫管理系統(tǒng)。
由于本系統(tǒng)管理的對象單一,都是在校學(xué)生,且每個數(shù)據(jù)內(nèi)容具有較強的關(guān)聯(lián)性,涉及的計算過程不是很復(fù)雜。因此,比較適合于采用數(shù)據(jù)庫管理。并且學(xué)校用于學(xué)生成績管理的微機在存儲量、速度方面都能滿足數(shù)據(jù)庫運行的要求。在技術(shù)難度方面,由于有指導(dǎo)老師的指導(dǎo)和相關(guān)參考文獻,借助于網(wǎng)上資料,因此完全可以實現(xiàn)。
本系統(tǒng)用戶角色主要有兩類:系統(tǒng)管理員與普通用戶。其中系統(tǒng)管理員可進行用戶管理。普通用戶可分為學(xué)生、老師等用戶。
系統(tǒng)管理員:可進行用戶管理,權(quán)限分配,信息查詢等工作。
教師:可進行學(xué)生信息管理,課程信息管理,成績管理,授課信息管理,信息查詢,成績統(tǒng)計等工作。
學(xué)生:可進行成績查詢等操作。
(二)、系統(tǒng)設(shè)計
1.開發(fā)語言:C#
該系統(tǒng)基于B/S結(jié)構(gòu),即采用瀏覽器/服務(wù)器模式,服務(wù)器端由運行ASP.Net的Web應(yīng)用程序及運行Microsoft SQL Server2008的數(shù)據(jù)庫服務(wù)器組成,Web服務(wù)器使用IIS6.0,運行環(huán)境為windows平臺,可以使用瀏覽器訪問本系統(tǒng)。本信息系統(tǒng)體現(xiàn)了學(xué)生成績管理的業(yè)務(wù)邏輯行為、大大簡化了相關(guān)工作的煩瑣流
程,同時為管理層提供有力的決策支持。
2.開發(fā)工具的選擇:
針對目前世界上流行的大量軟件和開發(fā)工具,經(jīng)過認(rèn)真分析其優(yōu)缺點,結(jié)合本系統(tǒng)特點,我們選用Microsoft Visual Studio作為軟件開發(fā)工具。Visual Studio是一種可視化的、面向?qū)ο蠛驼{(diào)用事件驅(qū)動方式的結(jié)構(gòu)化高級程序設(shè)計,可用于開發(fā)windows環(huán)境下的種類應(yīng)用程序。它簡單易學(xué)、效率高,而且功能強大??梢愿咝?、快速地開發(fā)出windows環(huán)境下功能強大、圖形界面豐富的應(yīng)用軟件系統(tǒng)。
3.數(shù)據(jù)庫系統(tǒng)的選擇:
Microsoft SQL Server 是一個具備完全Web支持的數(shù)據(jù)庫產(chǎn)品,提供了可擴展標(biāo)記語言核心支持以及Internet上和防火墻外進行查詢的能力,具有可伸縮性、靈活性、擴充性好,而且價格便宜的特點。本系統(tǒng)選用Microsoft SQL Server2008作為數(shù)據(jù)庫系統(tǒng)。
五、進度安排
2月15日-20日 系統(tǒng)調(diào)查分析、設(shè)計
2月21日-29日 系統(tǒng)實施、運行與維護
3月1日 提交論文
3月2日-15日根據(jù)指導(dǎo)老師的意見對系統(tǒng)進行調(diào)整、修改論文
3月16日以后準(zhǔn)備答辯
六、系統(tǒng)預(yù)計成果
本系統(tǒng)從功能上劃分可分為功能模塊管理,組權(quán)限管理,學(xué)生信息管理,課程信息管理,學(xué)生成績管理,授課信息管理等幾大模塊。以下將對各子模塊進行說明。
1.功能模塊管理:
將系統(tǒng)功能模塊保存到數(shù)據(jù)庫中以便于動態(tài)地進行不同用戶組權(quán)限的分配等操作。本模塊包括功能模塊的添加,刪除,修改等。
2.組權(quán)限管理:
對用戶進行分組,并將權(quán)限設(shè)置到不同的用戶組,添加、修改、刪除用戶信息。
3.學(xué)生信息管理:
輸入學(xué)生基本信息,并可以對學(xué)生信息進行添加、查詢、修改、刪除。還可查詢并輸出學(xué)生基本信息。
4.課程信息管理:
設(shè)置課程號,課程名等課程信息。
5.成績信息管理:
輸入成績信息,并可以對成績信息進行添加、查詢、修改、刪除。還可以用關(guān)鍵字查詢,并對學(xué)生基本成績信息修改、刪除等。輸出查詢的學(xué)生成績信息,可以打印成績單。
6.授課信息管理:
對教師授課信息的調(diào)度,安排等信息的管理。
主要參考資料:
C#與.NET 4高級程序設(shè)計Andrew Troelsen著,朱曄譯人民郵電出版社 ADO.NET數(shù)據(jù)庫應(yīng)用開發(fā)張俊崔海波著機械工業(yè)出版社 C#開發(fā)技術(shù)大全明日科技 著人民郵電出版社 ASP.NETWeb程序設(shè)計蔣培,王笑敏 著清華大學(xué)出版社 SQL學(xué)習(xí)指南比利 著,張偉超 林青松 譯人民郵電出版社 數(shù)據(jù)庫系統(tǒng)原理丁寶康著經(jīng)濟科學(xué)出版社
HTML/CSS/JavaScript標(biāo)準(zhǔn)教程:實例版(第3版)電子工業(yè)出版社
第二篇:學(xué)生成績管理系統(tǒng)開題報告
學(xué)生成績管理系統(tǒng)開題報告
一. 研究背景、目的、意義
背景:隨著經(jīng)濟的快速發(fā)展,科技的日益普及。目前我國的信息數(shù)字化工作也進入一個全新發(fā)展時期,特別是高校的信息化建設(shè)已進入了全面的發(fā)展階段,諸多高校充分地認(rèn)識到,信息化建設(shè)己經(jīng)成為了高校提高自身管理水平、提升綜合競爭實力的重要手段。在高校,各種信息管理系統(tǒng)層出不窮。通過本系統(tǒng),能夠?qū)崿F(xiàn)對學(xué)生成績的有效管理,減少教務(wù)人員、教師的工作量,該系統(tǒng)能夠很好的滿足學(xué)校教學(xué)、管理方面的要求。
目的:為教務(wù)人員、教師提供學(xué)生成績管理系統(tǒng),以輕松實現(xiàn)學(xué)生成績管理。意義:系統(tǒng)化的成績管理可以減少教務(wù)人員及教師因為工作量大而出現(xiàn)錯誤,為學(xué)校減少不必要的人力、物力、財力,便于學(xué)生成績的增加、刪除、修改、查詢。
二.研究的主要內(nèi)容
ASP.NET方向:本系統(tǒng)的開發(fā)主要涉及到 Visual Basic編程語言和 Access的運用。對于Visual Basic編程語言我們主要研究圖形用戶界面(Graphic User Interface,簡稱GUI)的方法,它與其他編程軟件不同的是不需要編寫大量代碼去描述界面元素的外觀和位置,只要把預(yù)先建立好的對象拖放到屏幕上相應(yīng)的位置即可。
數(shù)據(jù)庫方向:數(shù)據(jù)控件的使用主要需要和Access相連接使用,二者的結(jié)合使用可以很簡單的把數(shù)據(jù)庫的數(shù)據(jù)呈現(xiàn)給系統(tǒng)用戶。對數(shù)據(jù)庫的操作有備份、恢復(fù)等,這一類操作就要求對數(shù)據(jù)庫的存儲過程進行研究。
三.論文提綱
第一章:緒論(引言)
闡述本論文的書寫背景和系統(tǒng)開發(fā)的背景。
第二章:系統(tǒng)需求分析
第一節(jié):數(shù)據(jù)分析,分析系統(tǒng)開發(fā)所需數(shù)據(jù)類型、格式等,并有數(shù)據(jù)的實現(xiàn)性能。
第二節(jié):功能分析,分析用戶需求的功能和在技術(shù)可行的情況下能做出的功能。
第三節(jié):性能分析,設(shè)計系統(tǒng)運行的期望值,分析出系統(tǒng)實現(xiàn)時的性能需求,給出優(yōu)質(zhì)產(chǎn)品。
第三章:系統(tǒng)設(shè)計
第一節(jié):功能設(shè)計,設(shè)計系統(tǒng)所需功能如:
第二節(jié):數(shù)據(jù)庫設(shè)計,設(shè)計系統(tǒng)運行時所需要的數(shù)據(jù)庫。
第三節(jié):運行平臺,說明系統(tǒng)運行所需的軟硬件需求。
第四章:系統(tǒng)實施
第一節(jié):編碼 闡述各主要模塊的編碼設(shè)計
第二節(jié):程序測試 闡述在程序正確性驗證過程中所用到的測試用例第五章:總結(jié)
闡述自己在開發(fā)系統(tǒng)中所遇到的困難和解決方法,并得出所學(xué)的經(jīng)驗。第六章:致謝
致謝自己在開發(fā)過程中所得到的幫助即幫助自己的老師和同學(xué)
四.參考文獻
[1].C#入門經(jīng)典(第三版)/(美)(Watson,K.),(Nagel,C.)等編著
(至少六篇)
五.進度計劃
從10月15到12月13 截止,自己劃分自己論文的進程。如:
學(xué)生成績系統(tǒng)開發(fā)的進度安排:
1、10-15至10-25 收集,整理與分析資料2、10-26至11-10 系統(tǒng)設(shè)計3、11-11至11-30 系統(tǒng)實施4、12-1至12-5 論文初稿5、12-6至12-10 論文第二稿6、12-11至12-13 論文定稿
齊立波 翻譯 清華
第三篇:學(xué)生成績管理系統(tǒng)
//*學(xué)生成績管理系統(tǒng)*//
#include
#define N 3
struct student
{
int no;
char name[20];
float english;
float computer;
float math;
float average;
};
void getclass(struct student *class_gishui)
{
int i;
printf(“請輸入%d個學(xué)生的學(xué)號 姓名 英語 計算機 數(shù)學(xué)n”,N);
for(i=0;i { printf(“第%d個學(xué)生”,i+1); scanf(“%d%s%f%f%f”,&class_gishui[i].no,&class_gishui[i].name,&class_gishui[i].english,&class_gishui[i].computer,&class_gishui[i].math); } } void print_class(struct student *class_gishui) { int i; for(i=0;i { class_gishui[i].average=(class_gishui[i].english+class_gishui[i].computer+class_gishui[i].math)/3; } printf(“學(xué)生信息表如下:n”); printf(“學(xué)號tt姓名tt英語tt計算機tt數(shù)學(xué)tt平均成績n”); for(i=0;i printf(“%dtt%stt%ft%ft%ft%fn”,class_gishui[i].no,class_gishui[i].name,class_gishui[i].english,class_gishui[i].computer,class_gishui[i].math,class_gishui[i].average); } void paixu(struct student *class_gishui) { int i,j,flag; struct student t[1]; for(i=0;(i { flag=0; for(j=0;j if(class_gishui[j].average>class_gishui[j+1].average) { t[0]=class_gishui[j]; class_gishui[j]=class_gishui[j+1]; class_gishui[j+1]=t[0]; flag=1; } if(flag==0) break; } printf(“排序后學(xué)生成績?yōu)椋簄”); printf(“學(xué)號t姓名t英語tt計算機tt數(shù)學(xué)tt平均成績n”); for(i=0;i printf(“%dt%st%ft%ft%ft%fn”,class_gishui[i].no,class_gishui[i].name,class_gishui[i].english,class_gishui[i].computer,class_gishui[i].math,class_gishui[i].average); } void main() { struct student class_gishui[N]; getclass(class_gishui); print_class(class_gishui); paixu(class_gishui); } 鄭州輕工業(yè)學(xué)院 實 訓(xùn) 報 告 實訓(xùn)名稱:學(xué)生成績管理系統(tǒng) 姓名: 任彬彬 院(系): 軟件學(xué)院 專業(yè)班級: 網(wǎng)路管理12-0 1學(xué)號: 621213550131 指導(dǎo)教師:馬軍霞、范乃梅、徐潔、方娜、李輝、馮柳、甘琤 成績: 時間:2013 年01 月 07 日至 2013 年 01 月11 日 目錄 實訓(xùn)任務(wù)書…………………………………………………2 實訓(xùn)進度日歷……………………………………………… 3實訓(xùn)報告…………………………………………………… 41.軟件需求分析… 2.系統(tǒng)詳細設(shè)計及實現(xiàn) 實訓(xùn)感想……………………………………………………… 5鄭州輕工業(yè)學(xué)院軟件學(xué)院 學(xué)生實訓(xùn)任務(wù)書 一、題目 “學(xué)生成績管理系統(tǒng)”設(shè)計 二、學(xué)生信息 專業(yè) 網(wǎng)絡(luò)管理12-01學(xué)號 621213550131 姓名 任彬彬 三、用戶需求及約束條件 1、用C語言實現(xiàn)基于Dos操作系統(tǒng)的“學(xué)生成績管理系統(tǒng)”。 2、設(shè)計“學(xué)生成績管理系統(tǒng)”的用戶界面,系統(tǒng)啟動進入后,只能通過界面菜單指令才能退出。 3、“學(xué)生成績管理系統(tǒng)”具有以下功能: 1)系統(tǒng)啟動后,彈出一個用戶界面,能實現(xiàn)人機交互的功能。而且只能通過界面菜單命令實現(xiàn)各種功能(包括系統(tǒng)退出功能)。 2)管理班級信息(顯示、增加、刪除、修改)3)管理課程信息(顯示、增加、刪除、修改) 4)管理班級與課程之間的授課關(guān)系(顯示、增加、刪除、修改)5)管理班級中學(xué)生信息(顯示、增加、刪除、修改)6)管理班級學(xué)生成績(顯示、增加、刪除、修改)7)顯示一個學(xué)生的所有成績 8)所有的數(shù)據(jù)以文本方式存儲在文件中 4、已經(jīng)提供已編譯的樣例程序以及數(shù)據(jù)讀寫、軟件界面有關(guān)的源代碼,需在已提供資源的基礎(chǔ)上完成實訓(xùn)。 四、設(shè)計要求、技術(shù)參數(shù)及設(shè)計規(guī)格 1、原始成績由老師統(tǒng)一給出,在 Excel表中; 2、設(shè)計的系統(tǒng)能夠運行,提交源程序、目標(biāo)文件和可執(zhí)行文件; 3、提交實訓(xùn)報告,實訓(xùn)報告中列寫:1)軟件需求分析或軟件說明;3)對數(shù)據(jù)的管理方案;4)“學(xué)生成績管理系統(tǒng)”設(shè)計的思路和整體框架;5)各功能或者模塊實現(xiàn)的思路(用文字和流程圖予以說明),并交待模塊之間的接口關(guān)系;6)“學(xué)生成績管理系統(tǒng)”設(shè)計的結(jié)果。 實訓(xùn)進度日歷 實訓(xùn)報告 軟件需求分析:管理頁面,如圖1所示 增加課程信息,然后確認(rèn)后顯示所增加的課程信息 圖 1實訓(xùn)感想 在這個星期里,我們專業(yè)的學(xué)生在專業(yè)老師的帶領(lǐng)下進行了C語言程序?qū)嵱?xùn)的學(xué)習(xí)。在這之前我們已經(jīng)學(xué)習(xí)了一個學(xué)期,對其有一定的了解,但是也僅僅是停留在了解的范圍,對里面的好多東西感覺還是很陌生,更多的在運用起來的時候還是感到很棘手,畢竟,萬事開頭難嘛。 由于時間的關(guān)系,我們這次實訓(xùn)課程老師給我們簡單的介紹了幾個比較重要的實際操作。上機時間是學(xué)習(xí)程序設(shè)計語言必不可少的實習(xí)環(huán)節(jié),特別是C語言靈活簡介,更需要通過編程的實習(xí)來真正掌握它。對于程序語言的學(xué)習(xí)目的,可以概括為學(xué)習(xí)語法規(guī)定、掌握程序設(shè)計方法、提高程序開發(fā)能力,這些都必須通過充分的實際上機操作才能完成。 學(xué)習(xí)C語言程序設(shè)計除了課堂講授以外,必須保證有不少于課堂講授學(xué)時的上機時間。因為我們可以 有效的利用上機實驗,更快的掌握C語言開發(fā)程序的能力,為今后的繼續(xù)學(xué)習(xí)打下一個良好的基礎(chǔ)。課程上機實驗的目的,不僅僅是驗證教材和講課的內(nèi)容、檢查自己縮編程序是否正確,熟悉程序開發(fā)環(huán)境、學(xué)習(xí)計算機系統(tǒng)的操作方法。一個C語言程序從編輯、編譯、連接到運行。通過上機實驗,熟練的掌握C語言的開發(fā)環(huán)境,為以后真正編寫計算機程序打下基礎(chǔ)。 VB程序設(shè)計 課程設(shè)計報告 班 級:***** 姓 名:***** 序 號:***** 指導(dǎo)老師:***** 目錄 1、課設(shè)的目的..............................................................................................................................2 2、界面設(shè)計和功能設(shè)計............................................................................................................2 3、系統(tǒng)功能實施...................................................................................................................11 4、總結(jié)........................................................................................................................................30 一、課設(shè)的目的 1.本次課程設(shè)計提高了我們的實踐動手能力 5.通過本次課程設(shè)計,熟悉用戶界面的設(shè)計 2.通過本次課程設(shè)計,進一步理解計算機程序設(shè)計的思路與方法 3.本次課程設(shè)計之后,達到能熟練使用各種常見的VB控件,理解面向?qū)ο蟮乃枷?4.經(jīng)過本次課程設(shè)計,我們進一步熟練運用VB的語言元素和流程控制語句 6.經(jīng)過本次課程設(shè)計,熟悉數(shù)據(jù)訪問控件ADO及相關(guān)對象的使用,能基于ADO控件實現(xiàn)Access的數(shù)據(jù)訪問與操縱 二、界面設(shè)計和功能設(shè)計 1、下面的界面為用戶登陸界面: 用戶名和密碼均已設(shè)定,用戶名為zgzy,密碼為11201,只有輸入正確,然后點擊“登陸“按鈕才能進入主界面。如果用戶名或密碼三次輸入錯誤,則系統(tǒng)自動退出。當(dāng)你點擊“退出“按鈕時,彈出一個對話窗,界面如下: 在對話框上點擊“是”按鈕,則退出系統(tǒng),如果點擊“否”,則該界面不變。 2、當(dāng)用戶名和密碼均輸入正確,點擊“登陸”按鈕,進入主界面——“學(xué)生成績管理系統(tǒng)”界面,該界面是其他子界面的入口,界面如下: 3、進入主界面后,點擊“學(xué)生管理(刪除添加)”,進入學(xué)生管理界面,界面如下 該界面上有一個ADO控件,用于連接數(shù)據(jù)庫,當(dāng)用戶在六個文本框中輸入數(shù)據(jù)時,點擊“添加“按鈕,可以將數(shù)據(jù)錄入到數(shù)據(jù)庫中,如果此時點擊”刪除“按鈕,則剛才輸入的數(shù)據(jù)就會被刪除,點擊”保存“按鈕時,輸入的數(shù)據(jù)就會自動保存在數(shù)據(jù)庫里,點擊”返回主窗體“按鈕,該窗體消失,主窗體出現(xiàn)。 4、在主界面點擊“各科成績查詢“按鈕,出現(xiàn)如下界面: 該界面有一個ADO控件,用來連接數(shù)據(jù)庫,還有一個DataGrid控件,用來顯示學(xué)生成績的查詢結(jié)果,當(dāng)用戶選擇了要查詢的科目和條件后,點擊“查詢“按鈕,在DataGrid控件上就會顯示出所查詢的結(jié)果。下面為輸入條件后查詢的結(jié)果—— 5、在主界面點擊“姓名查詢“按鈕后,會出現(xiàn)如下界面: 該界面與上一界面相似,在文本框輸入要查詢的姓名后,點擊“查詢“按鈕,就會在DataGrid控件上顯示所要查詢的結(jié)果。下面為輸入條件后查詢的結(jié)果—— 5、在主界面點擊“班級查詢“按鈕后,會出現(xiàn)如下界面: 在文版框中輸入所要查詢的班級,DataGrid控件上就會顯示所要查詢的結(jié)果。下面為輸入條件后查詢的結(jié)果—— 6、在主界面上點擊“各科成績段查詢“按鈕后,會出現(xiàn)如下界面: 點擊“計算分?jǐn)?shù)段統(tǒng)計“按鈕后,就會出現(xiàn)所要查詢的結(jié)果。下面為查詢的結(jié)果—— 7、在主界面點擊“計算總分“按鈕后,出現(xiàn)如下界面: 點擊“清除總分”按鈕后,出現(xiàn)如下界面 8、在主界面點擊“排名“按鈕后,出現(xiàn)如下界面: 在該界面上點擊“排名“按鈕后,在DataGrid控件上會顯示出按成績高低排名的結(jié)果,點擊”清除排名“按鈕后,剛才結(jié)果消失,顯示原來結(jié)果。下面為所現(xiàn)實的結(jié)果—— 9、在主界面點擊“統(tǒng)計直方圖“按鈕后,出現(xiàn)如下界面: 在該界面點擊各個按鈕后,就會出現(xiàn)與之相關(guān)科目的成績統(tǒng)計直方圖,下面為查詢的結(jié)果—— 10、在主界面點擊“優(yōu)等生“按鈕后,出現(xiàn)如下界面: 點擊按鈕查詢后,結(jié)果就會在界面上顯示出來。下面為所查詢的結(jié)果—— 三、系統(tǒng)功能實施 以上展示的是系統(tǒng)的所有界面,怎樣才能讓這所有的功能實現(xiàn)呢?數(shù)據(jù)庫和ADO控件的使用便是其中的關(guān)鍵。 1、建立如下數(shù)據(jù)庫 (學(xué)號、姓名、班級、英語、數(shù)學(xué)、VB、總分、排名) 2、建立如下圖的所有界面: 3、ADO控件和DataGrid控件以及數(shù)據(jù)庫的連接步驟:(這一步在設(shè)計界面的同時完成) (1)、如何加載ADO控件: 步驟1: 步驟2: 步驟3: 各個界面的ADO控件如何連接數(shù)據(jù)庫(分兩步): 步驟1: 如下面界面中的5個步驟 步驟2: 選中ADO控件Adodc1,點擊鼠標(biāo)右鍵選擇屬性,然后界面設(shè)置如下: 控件綁定數(shù)據(jù)庫的字段操作說明: 屬性設(shè)置說明:下面以學(xué)號為例,姓名、班級等都可參考此。將學(xué)號對應(yīng)的文本框Text1連接Adodc1顯示數(shù)據(jù)庫中的學(xué)號,需要設(shè)置DataSource和DataField兩個屬性,首先選中Text1文本框,并進行下面的兩步操作,即可綁定數(shù)據(jù)庫的學(xué)號字段。 設(shè)置DataSource: 設(shè)置DataField: (2)、如何加載DataGrid控件 控件DataGrid,可以實現(xiàn)數(shù)據(jù)的批量處理,該控件在控件庫Microsoft DataGrid Control 6.0中。 說明:DataGrid控件屬性設(shè)置 以下為各個界面所對應(yīng)的代碼—— 該界面代碼如下: Private Sub Command1_Click()If Text1.Text = “zgzy” And Text2.Text = “11201” Then Form1.Show Unload me Else MsgBox “用戶名或密碼錯誤,請重新輸入”, vbMsgBoxSetForeground, “系統(tǒng)提示!” End If Static t As Integer t = t + 1 If t >= 3 Then End End Sub Private Sub Command2_Click()a = MsgBox(“確定要退出本系統(tǒng)嗎?”, 3 + 32 + 256, “系統(tǒng)提示!”) If a = 6 Then Unload Me End If End Sub 該界面代碼如下: Private Sub Command1_Click()xsglfrm.Show End Sub Private Sub Command10_Click()ydsfrm.Show End Sub Private Sub Command3_Click()jszffrm.Show End Sub Private Sub Command4_Click() pmfrm.Show End Sub Private Sub Command5_Click() zftjtfrm.Show End Sub Private Sub Command6_Click() cjcxfrm.Show End Sub Private Sub Command7_Click() xmcxfrm.Show End Sub Private Sub Command8_Click() bjcxfrm.Show End Sub Private Sub Command9_Click() gkcjfrm.Show End Sub 該界面代碼如下: Private Sub Command1_Click()Me.Adodc1.Recordset.AddNew End Sub Private Sub Command2_Click()If Me.Adodc1.Recordset.RecordCount = 0 Or Me.Adodc1.Recordset.EOF Then Exit Sub End If Me.Adodc1.Recordset.Delete Me.Adodc1.Recordset.MoveNext If Me.Adodc1.Recordset.RecordCount = 0 Then Exit Sub End If If Me.Adodc1.Recordset.EOF Then Me.Adodc1.Recordset.MoveLast End Sub Private Sub Command4_Click()Me.Adodc1.Recordset.Save End Sub Private Sub Command5_Click() Unload Me mainfrm.Show End Sub 該界面代碼如下: Dim kc_條件 As String Dim kc As String Private Sub Command1_Click()kc_條件 = Me.Text1 Me.Adodc1.RecordSource = “select * from stu where ” + kc + “ ” + kc_條件 Me.Adodc1.Refresh End Sub Private Sub Form_Load()kc_條件 = “>=92” kc = “vb” End Sub Private Sub Option1_Click() kc = “VB” End Sub Private Sub Option2_Click()kc = “math” End Sub Private Sub Option3_Click()kc = “English” End Sub 該界面代碼如下: Dim kc_條件 As String Dim kc As String Private Sub Command1_Click()kc_條件 = Me.Text1 Me.Adodc1.RecordSource = “select * from stu where ” + kc + “='” + kc_條件 + “'” Me.Adodc1.Refresh End Sub Private Sub Form_Load()kc = “name” End Sub 該界面代碼如下: Dim kc_條件 As String Dim kc As String Private Sub Command1_Click()kc_條件 = Me.Text1 Me.Adodc1.RecordSource = “select * from stu where ” + kc + “='” + kc_條件 + “'” Me.Adodc1.Refresh End Sub Private Sub Form_Load()kc = “class” End Sub 該界面代碼如下: Private Sub Command1_Click() Dim vb_A As Integer Dim vb_B As Integer Dim vb_C As Integer Dim vb_D As Integer Dim vb_E As Integer Dim Math_A As Integer Dim Math_B As Integer Dim Math_C As Integer Dim Math_D As Integer Dim Math_E As Integer Dim English_A As Integer Dim English_B As Integer Dim English_C As Integer Dim English_D As Integer Dim English_E As Integer Me.Adodc1.RecordSource = “select * from stu where vb>=90” Me.Adodc1.Refresh vb_A = Me.Adodc1.Recordset.RecordCount Me.Text1 = vb_A Me.Adodc1.RecordSource = “select * from stu where vb>=80 and vb<90” Me.Adodc1.Refresh vb_B = Me.Adodc1.Recordset.RecordCount Me.Text2 = vb_B Me.Adodc1.RecordSource = “select * from stu where vb>=70 and vb<80” Me.Adodc1.Refresh vb_C = Me.Adodc1.Recordset.RecordCount Me.Text3 = vb_C Me.Adodc1.RecordSource = “select * from stu where vb>=60” Me.Adodc1.Refresh vb_D = Me.Adodc1.Recordset.RecordCount Me.Text4 = vb_D Me.Adodc1.RecordSource = “select * from stu where vb<60” Me.Adodc1.Refresh vb_B = Me.Adodc1.Recordset.RecordCount Me.Text5 = vb_E Me.Adodc1.RecordSource = “select * from stu where math>=90” Me.Adodc1.Refresh Math_A = Me.Adodc1.Recordset.RecordCount Me.Text6 = Math_A Me.Adodc1.RecordSource = “select * from stu where math>=80 and math<90” Me.Adodc1.Refresh Math_B = Me.Adodc1.Recordset.RecordCount Me.Text7 = Math_B Me.Adodc1.RecordSource = “select * from stu where math>=70 and math<80” Me.Adodc1.Refresh Math_C = Me.Adodc1.Recordset.RecordCount Me.Text8 = Math_C Me.Adodc1.RecordSource = “select * from stu where math>=60 ” Me.Adodc1.Refresh Math_D = Me.Adodc1.Recordset.RecordCount Me.Text9 = Math_D Me.Adodc1.RecordSource = “select * from stu where math<60” Me.Adodc1.Refresh Math_E = Me.Adodc1.Recordset.RecordCount Me.Text10 = Math_E Me.Adodc1.RecordSource = “select * from stu where english>=90” Me.Adodc1.Refresh English_A = Me.Adodc1.Recordset.RecordCount Me.Text11 = English_A Me.Adodc1.RecordSource = “select * from stu where english>=80 and english<90” Me.Adodc1.Refresh English_B = Me.Adodc1.Recordset.RecordCount Me.Text12 = English_B Me.Adodc1.RecordSource = “select * from stu where english>=70 and english<80” Me.Adodc1.Refresh English_C = Me.Adodc1.Recordset.RecordCount Me.Text13 = English_C Me.Adodc1.RecordSource = “select * from stu where english>=60” Me.Adodc1.Refresh English_D = Me.Adodc1.Recordset.RecordCount Me.Text14 = English_D Me.Adodc1.RecordSource = “select * from stu where english<60” Me.Adodc1.Refresh English_E = Me.Adodc1.Recordset.RecordCount Me.Text15 = English_E End Sub Private Sub Form_Load() Text1.Text = “" Text2.Text = ”“ Text3.Text = ”“ Text4.Text = ”“ Text5.Text = ”“ Text6.Text = ”“ Text7.Text = ”“ Text8.Text = ”“ Text10.Text = ”“ Text11.Text = ”“ Text12.Text = ”“ Text13.Text = ”“ Text14.Text = ”“ Text15.Text = ”“ End Sub 代碼如下 Private Sub Command1_Click()'計算總分 Dim vb As Integer Dim math As Integer Dim english As Integer Me.Adodc1.Recordset.MoveFirst For i = 1 To Me.Adodc1.Recordset.RecordCount vb = Me.Adodc1.Recordset.Fields(”vb“).Value math = Me.Adodc1.Recordset.Fields(”math“).Value english = Me.Adodc1.Recordset.Fields(”english“).Value Me.Adodc1.Recordset.Fields(”total“).Value = vb + math + english Me.Adodc1.Recordset.Update Me.Adodc1.Recordset.MoveNext Next i End Sub Private Sub Command2_Click()'清除總分 Me.Adodc1.Recordset.MoveFirst For i = 1 To Me.Adodc1.Recordset.RecordCount Me.Adodc1.Recordset.Fields(”total“).Value = Null Me.Adodc1.Recordset.Update Me.Adodc1.Recordset.MoveNext Next i End Sub 該界面代碼如下: Private Sub Command1_Click()Me.Adodc1.RecordSource = ”select * from stu order by total desc“ Me.Adodc1.Refresh Me.Adodc1.Recordset.MoveFirst For i = 1 To Me.Adodc1.Recordset.RecordCount Me.Adodc1.Recordset.Fields(”mc“).Value = i Me.Adodc1.Recordset.Update Me.Adodc1.Recordset.MoveNext Next i End Sub Private Sub Command2_Click()Me.Adodc1.Recordset.MoveFirst For i = 1 To Me.Adodc1.Recordset.RecordCount Me.Adodc1.Recordset.Fields(”mc“).Value = Null Me.Adodc1.Recordset.Update Me.Adodc1.Recordset.MoveNext Next i End Sub 該界面代碼如下: Private Sub Command1_Click() Me.Adodc1.Refresh '填充表格數(shù)據(jù) MSChart1.RowCount = 1 MSChart1.ColumnCount = Me.Adodc1.Recordset.RecordCount Me.Adodc1.Recordset.MoveFirst For lngI = 1 To Me.Adodc1.Recordset.RecordCount MSChart1.Column = lngI '用Data屬性向MSChart數(shù)據(jù)網(wǎng)格填充數(shù)據(jù) MSChart1.Data = Val(Adodc1.Recordset.Fields(”vb“).Value) MSChart1.ColumnLabel = Adodc1.Recordset.Fields(”name“).Value Adodc1.Recordset.MoveNext Next lngI MSChart1.RowLabel = ”VB成績直方圖“ End Sub Private Sub Command2_Click()Me.Adodc1.Refresh '填充表格數(shù)據(jù) MSChart1.RowCount = 1 MSChart1.ColumnCount = Me.Adodc1.Recordset.RecordCount Me.Adodc1.Recordset.MoveFirst For lngI = 1 To Me.Adodc1.Recordset.RecordCount MSChart1.Column = lngI '用Data屬性向MSChart數(shù)據(jù)網(wǎng)格填充數(shù)據(jù) MSChart1.Data = Val(Adodc1.Recordset.Fields(”math“).Value) MSChart1.ColumnLabel = Adodc1.Recordset.Fields(”name“).Value Adodc1.Recordset.MoveNext Next lngI MSChart1.RowLabel = ”Math成績直方圖“ End Sub 該界面代碼如下 Private Sub Command1_Click()Dim vb As Integer Dim math As Integer Dim english As Integer Me.Adodc1.RecordSource = ”select * from stu where((math+english+vb)/3>=90)or((math+english+vb)/3>=85 and(math=100 or english=100 or vb=100))or((vb+english+math)/3>=85 and((vb>=95 and english >=95)or(english>=95 and math>=95)or(math>=95 and vb>=95)))and(mc<=3)and(vb>=60 and english>=60 and math>=60)" Me.Adodc1.Refresh End Sub 四、總結(jié)和體會 經(jīng)過好幾天的努力我的課程設(shè)計終于完成了。在沒有做課程設(shè)計以前覺得課程設(shè)計好難,我可能做不了,但是通過這次做課程設(shè)計發(fā)現(xiàn)自己錯了。課程設(shè)計不僅是對前面所學(xué)知識的一種檢驗,而且也是對自己能力的一種提高,它并不可怕。通過這次課程設(shè)計使我明白了自己原來知識還比較欠缺,自己要學(xué)習(xí)的東西還太多,以前上課沒怎么認(rèn)真聽,現(xiàn)在知道它重要了,幸好為時不晚,我以后要更加的努力學(xué)好vb。在這次課程設(shè)計中也使我們的同學(xué)關(guān)系更進一步了,同學(xué)之間互相幫助,有什么不懂的大家在一起商量,聽聽不同的看法對我們更好的理解知識,所以在這里非常感謝幫助我的同學(xué)。此外,還得出一個結(jié)論:世上無難事,只怕有心人。 在設(shè)計過程中,我通過查閱有關(guān)資料,與同學(xué)交流經(jīng)驗和自學(xué)等方式,使自己學(xué)到了不少知識,也經(jīng)歷了不少艱辛,但收獲同樣巨大。在整個設(shè)計中我懂得了許多東西,也培養(yǎng)了我獨立工作的能力,樹立了對自己工作能力的信心,相信會對今后的學(xué)習(xí)工作生活有非常重要的影響。而且大大提高了動手的能力,使我充分體會到了在創(chuàng)造過程中探索的艱難和成功時的喜悅。雖然這個設(shè)計做的也不太好,但是在設(shè)計過程中所學(xué)到的東西是這次課程設(shè)計的最大收獲和財富,使我終身受益。第四篇:學(xué)生成績管理系統(tǒng)實訓(xùn)報告
第五篇:VB學(xué)生成績管理系統(tǒng)課程設(shè)計報告