欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      課程設(shè)計(jì)--成績管理系統(tǒng)

      時間:2019-05-12 22:27:23下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《課程設(shè)計(jì)--成績管理系統(tǒng)》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《課程設(shè)計(jì)--成績管理系統(tǒng)》。

      第一篇:課程設(shè)計(jì)--成績管理系統(tǒng)

      “成績管理系統(tǒng)”課程設(shè)計(jì)指導(dǎo)書

      課題名稱:學(xué)生成績管理系統(tǒng)

      設(shè)計(jì)目標(biāo):按照軟件工程的規(guī)范,以SQL Server或Oracle為后臺數(shù)據(jù)庫,以Visual C++、Delphi等為前端開發(fā)工具,設(shè)計(jì)并實(shí)現(xiàn)一個能模擬高等學(xué)校學(xué)生成績管理的系統(tǒng)。

      需求描述:

      學(xué)生成績管理系統(tǒng)中:

      1.系統(tǒng)用戶

      系統(tǒng)的用戶是學(xué)校的學(xué)生、教師和管理員。學(xué)生使用本系統(tǒng)查詢自己的成績。教師使用本系統(tǒng)錄入和查詢自己所授課程的考試成績。教學(xué)管理員可以查詢所有課程成績,并使用本系統(tǒng)進(jìn)行成績的統(tǒng)計(jì)和生成報表。

      2.系統(tǒng)功能

      (1)成績錄入:

      教師可以查詢自己本學(xué)期所授課程,并錄入學(xué)生的考試成績。錄入過

      程中,可以暫存已錄入的成績,當(dāng)錄入完成后提交。

      (2)成績維護(hù):

      教師在提交前,可以修改已錄入或暫存的學(xué)生成績;但提交后,則只

      能查詢不能再進(jìn)行任何修改。

      教學(xué)管理員可以清除教師已提交的成績。

      (3)成績查詢:

      教師、教學(xué)管理員可以查詢學(xué)生考試成績。學(xué)生只允許查詢自己的考

      試成績,教師只允許查詢自己所授課程的成績。

      (4)成績統(tǒng)計(jì):

      教學(xué)管理員可以按課程、按學(xué)生、按班級等進(jìn)行成績統(tǒng)計(jì)。

      教學(xué)管理員根據(jù)核算出的總評成績統(tǒng)計(jì)處于優(yōu)、良、中、及格、不及

      格的學(xué)生人數(shù)以及占總?cè)藬?shù)的百分比。其中100-90為優(yōu),89-80為良,79-70為中,69-60為及格,60分以下為不及格。

      按要求輸出成績在優(yōu)、良、中、及格、不及格各區(qū)間的學(xué)生學(xué)號。

      結(jié)果形式:

      提交課程設(shè)計(jì)報告、源程序和可演示的軟件

      課程設(shè)計(jì)報告要求:詳見課程設(shè)計(jì)模板

      課程設(shè)計(jì)參考思路:

      (1)熟悉數(shù)據(jù)庫和開發(fā)工具,掌握開發(fā)工具與本地?cái)?shù)據(jù)庫的連接方法。

      (2)理解系統(tǒng)的信息需求,進(jìn)行合理的數(shù)據(jù)庫設(shè)計(jì),建立各數(shù)據(jù)庫表。

      (3)理解系統(tǒng)的功能需求,設(shè)計(jì)應(yīng)用軟件。結(jié)合Delphi 或VC++進(jìn)行系統(tǒng)界面

      (窗體、菜單以及相應(yīng)控制按鈕)的設(shè)計(jì)、連接與操縱數(shù)據(jù)庫方案的設(shè)計(jì),編寫程序。

      (4)系統(tǒng)運(yùn)行、調(diào)試并完善。

      (5)撰寫設(shè)計(jì)報告。

      第二篇:語言課程設(shè)計(jì)-學(xué)生成績管理系統(tǒng)

      1、課程設(shè)計(jì)的目的、任務(wù)

      《匯編語言》課程設(shè)計(jì)對于鞏固匯編語言理論知識,加強(qiáng)學(xué)生的實(shí)際動手能力和提高學(xué)生綜合素質(zhì)十分必要。課程設(shè)計(jì)的目的主要是通過程序設(shè)計(jì)方法和技能的基本訓(xùn)練,鞏固在課堂上學(xué)到的有關(guān)程序設(shè)計(jì)的基本知識和基本方法,通過實(shí)際動手能力的培養(yǎng),進(jìn)一步熟悉匯編語言的結(jié)構(gòu)和使用方法,達(dá)到能獨(dú)立閱讀、編制和調(diào)試一定規(guī)模的匯編語言程序的水平。

      2、軟件需求分析和設(shè)計(jì)

      2.1學(xué)生成績管理系統(tǒng)是對學(xué)生成績的管理,其中包括以下幾個模塊:(1).插入一個數(shù)據(jù)(插入學(xué)生學(xué)號以及語數(shù)外三個成績)。(2)修改一個數(shù)據(jù)。(3)刪除學(xué)生成績數(shù)據(jù)。(4)查找學(xué)生成績。(5)查看學(xué)生成績的排名(6)查看學(xué)生成績分布(7)按esc鍵退出系統(tǒng)

      2.2學(xué)生成績管理系統(tǒng)應(yīng)該包含以下信息:學(xué)號,語文成績,英語成績,數(shù)學(xué)成績。因此,系統(tǒng)應(yīng)該提供以下功能:(1)輸出顯示菜單。(2)輸入學(xué)生的成績(3)修改學(xué)生成績(4)刪除學(xué)生成績(5)查詢學(xué)生成績(6)顯示學(xué)生成績排名(7)顯示成績分布統(tǒng)計(jì)(8)按esc鍵退出系統(tǒng)

      2.3依據(jù)程序的功能需求,該系統(tǒng)的功能結(jié)構(gòu)圖如下

      系統(tǒng)功能結(jié)構(gòu)圖

      2.4 程序流程圖:

      主程序流程圖

      查找學(xué)生成績

      插入學(xué)生學(xué)號及成績

      修改學(xué)生的成績

      顯示各個學(xué)科各分?jǐn)?shù)段的人數(shù)

      3、程序?qū)崿F(xiàn)說明

      3.1學(xué)生管理系統(tǒng)中各子程序如下:

      (1).輸入全部學(xué)生學(xué)號以及語文,英語,數(shù)學(xué)三科的成績。子程序名:insert 子程序描述:該子程序?yàn)檩斎胱殖绦?。系統(tǒng)在開始的時候是沒有數(shù)據(jù)的,通過該子程序可以初始化系統(tǒng),將學(xué)生的學(xué)號及成績輸入系統(tǒng)。

      代碼:

      insert proc near;定義進(jìn)程子程序:插入學(xué)生,學(xué)號及 成績 call input;調(diào)用input add n,1 ret insert endp

      (2).修改輸入的成績。子程序名:modify 子程序描述:通過子程序修改學(xué)生的成績 代碼:

      modify proc near;定義進(jìn)程子程序:修改學(xué)生學(xué)號,成績 md1:output mess1;輸出mess1 shuru;調(diào)用宏shuru:二位數(shù)據(jù)輸入 mov bl,n mov bh,0 mov al,dl mov si,0 md: cmp al,xh[si];先查找輸入的學(xué)生是否存在

      je qq1_1;查到的話,就跳轉(zhuǎn)到qq1_1輸入修改的值,也就是重新輸入。;結(jié)果相等則跳轉(zhuǎn)到qq1_1 add si,1

      cmp si,bx jbe md;小于等于則跳轉(zhuǎn)到md output mess;輸出mess jmp md1;不相等繼續(xù)輸入學(xué)號

      qq1_1:;轉(zhuǎn)入修改的值重新輸入。mov di,si output mess2 output mess4 mov si,0 mov cx,3

      qq3_1:shuruu;cmp dx,78h;

      jbe qq2_1;output ts3;jmp qq1_1;qq2_1:mov buf[si],dl output bg;add si,1 loop qq3_1 mov al,buf[0];mov chi[di],al mov al,buf[1]

      分別輸入語文,英語,數(shù)學(xué)成績,并將其放 在緩沖區(qū)buf中 比較輸入的成績是否大于120,如果大于120的 話,那么重 新輸入成績 小于等于則轉(zhuǎn)移到qq2_1 輸出ts3 跳轉(zhuǎn)到qq1_1 輸出空格 將存入buf中的成績,分別賦值給存放對應(yīng)科 目的成績的數(shù)組

      mov eng[di],al mov al,buf[2] mov mat[di],al ret modify endp

      (3).刪除學(xué)生的成績。子程序名:delete 子程序描述:通過子程序刪除學(xué)生的成績 代碼:

      de proc near;刪除某個學(xué)生的記錄 sc1:output mess1 shuru;調(diào)用宏shuru,接受輸入的學(xué)號 mov bl,n mov bh,0 mov al,dl mov si,0 sc: cmp al,xh[si];查詢輸入學(xué)號的學(xué)生信息是否存在,不存在的話,重新輸入學(xué)號 je sc2;相等則轉(zhuǎn)移到sc2 add si,1 cmp si,bx jbe sc;小于等于則轉(zhuǎn)移到sc output mess;輸出mess jmp sc1 sc2: sub bx,si cmp bx,0 je sc3;相等則轉(zhuǎn)移到sc3 mov cx,bx

      sc4:mov dl,chi[si+1] mov chi[si],dl mov dl,eng[si+1] mov eng[si],dl mov dl,mat[si+1] mov mat[si],dl mov dl,xh[si+1] mov xh[si],dl add si,1 loop sc4;loop循環(huán)指令,執(zhí)行操作(cx)<--(cx)-1.若 cx!=0,跳轉(zhuǎn)到標(biāo)號sc處循環(huán)執(zhí)行;cx=0,則推出

      循環(huán),執(zhí)行l(wèi)oop的下一條指令 sub n,1 sc3: ret de endp

      (3).查詢學(xué)生的成績。子程序名:find 子程序描述:通過子程序查詢學(xué)生的成績 代碼:

      find proc near;定義進(jìn)程子程序:查找學(xué)生成績 call sum;求學(xué)生的總成績 call ping;求學(xué)生的平均成績

      bj1:output mess1;輸出mess1 shuru;二位數(shù)數(shù)據(jù)輸入 mov bl,n mov bh,0 mov al,dl

      mov si,0

      bj: cmp al,xh[si];將輸入的學(xué)號與輸入的學(xué)號相比,je i;存在的話,將此學(xué)生的成績輸出。je表示結(jié)果相

      等則轉(zhuǎn)移。add si,1 cmp si,bx jbe bj;output mess jmp bj1 i: output strr2 shuzi xh[si];shuzi output bg;mov al,chi[si] cbw;shuzii ax;shuzii output bg;mov al,eng[si] cbw;shuzii ax;shuzii output bg

      mov al,mat[si] cbw shuzii ax output bg;

      mov al,pj[si] cbw

      小于等于則轉(zhuǎn)移到bj 為二位數(shù)據(jù)輸出 輸出空格 將字節(jié)變?yōu)樽?/p>

      為三位數(shù)據(jù)輸出。輸出空格 將字節(jié)變?yōu)樽?/p>

      為三位數(shù)據(jù)輸出 輸出空格的字符串,用于與標(biāo)題欄對齊

      shuzii ax output bg

      mov ax,si mov bl,2 mul bl mov bx,ax shuzii zc[bx];shuzii為三位數(shù)據(jù)輸出

      output bg;輸出空格的字符串,用于與標(biāo)題欄對齊 shuzi mc[si];shuzi為二位數(shù)據(jù)輸出 ret find endp

      (4).顯示學(xué)生的成績排名。子程序名:show 子程序描述:通過子程序顯示學(xué)生的成績排名 代碼:

      show proc near;定義進(jìn)程子程序:顯示結(jié)果排名 call sum;調(diào)用宏sum call ping;調(diào)用宏ping call rank;調(diào)用宏rank call shuchu;調(diào)用宏shuchu ret show endp

      3.2程序運(yùn)行抓圖:

      主菜單

      修改學(xué)生成績

      刪除學(xué)生成績

      顯示各個學(xué)科各分?jǐn)?shù)段的人數(shù)

      4、程序總結(jié)

      通過兩個星期的學(xué)習(xí),努力,終于完成了報告。系統(tǒng)可以很好的運(yùn)行。這兩個多星期的時間,幾乎每天不是在敲代碼,就是在看代碼,查書,上網(wǎng)。系統(tǒng)中用到了很多最近才學(xué)習(xí)的知識,比如宏,子程序。這些都使得代碼的運(yùn)行效率提高了,代碼行數(shù)減少了。系統(tǒng)還用到了bios的清屏功能。這些功能如果不是做課程設(shè)計(jì),我想我很難會接觸到這些知識。

      由于自己對知識掌握的不是很牢固,其中也會碰到一些困難。每當(dāng)遇到問題的時候,我會先上網(wǎng)去查找,看看有沒有人提過這方面的問題?;ヂ?lián)網(wǎng)是強(qiáng)大的,大部分的問題通過網(wǎng)絡(luò)都可以解決。部分找不到的問題,我就去請教班里學(xué)得好的同學(xué)。他們對知識的掌握遠(yuǎn)超過我。這樣下來,很多問題都迎刃而解了。

      課程設(shè)計(jì)是一個很好的掌握書本上知識的過程。平時上課之后,自己都不會想著去敲一些代碼聯(lián)系聯(lián)系。通過做課程設(shè)計(jì),將理論與實(shí)踐結(jié)合了起來,對知識的理解更加深入了。

      第三篇:軟件工程課程設(shè)計(jì)之——學(xué)生成績管理系統(tǒng)

      1.設(shè)計(jì)背景

      隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)技術(shù)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識,它已進(jìn)入人類社會的各個領(lǐng)域并發(fā)揮著越來越重要的作用。現(xiàn)在我國的教育機(jī)構(gòu)對學(xué)生成績管理還普遍停留在紙介質(zhì)的基礎(chǔ)上,這樣的機(jī)制已經(jīng)不能適應(yīng)時代的發(fā)展,因?yàn)樗速M(fèi)了許多人力和物力,在信息時代,這種傳統(tǒng)的管理方法必然被計(jì)算機(jī)為基礎(chǔ)的信息管理所取代。

      通過調(diào)查,要求系統(tǒng)具有權(quán)限設(shè)置功能的登錄模塊,學(xué)生可以實(shí)現(xiàn)成績信息查詢功能。教務(wù)管理人員能夠?qū)崿F(xiàn)注冊新用戶,學(xué)生成績信息的查詢、錄入、刪除、修改、瀏覽、統(tǒng)計(jì)等。同時學(xué)院在教學(xué)這一部分主要是由教務(wù)處對課程、對學(xué)生、對學(xué)生成績進(jìn)行合理地安排以及統(tǒng)籌計(jì)劃,以及讓教務(wù)處在最短的時間段把學(xué)生的成績核算出來,提高教務(wù)處的辦事效率。同時,能夠隨時對學(xué)生、學(xué)生成績進(jìn)行各種查詢和統(tǒng)計(jì),以及很好地對系統(tǒng)進(jìn)行維護(hù)。此種學(xué)生成績管理系統(tǒng)提供了強(qiáng)大的學(xué)生成績管理管理功能,方便了系統(tǒng)管理員對學(xué)生成績等信息的添加、修改,打印等操作,同時一樣方面的學(xué)生可以對自己各科成績查詢,學(xué)習(xí)的交流,滿足了時代的需要。

      2.設(shè)計(jì)方案

      2.1總體設(shè)計(jì)

      本系統(tǒng)是將現(xiàn)代化的計(jì)算機(jī)技術(shù)和傳統(tǒng)的教學(xué)、教務(wù)工作相結(jié)合,按照學(xué)院的工作流程設(shè)計(jì)完成的。為了使系統(tǒng)在學(xué)院的管理中發(fā)揮更大的作用,實(shí)現(xiàn)工作過程的計(jì)算機(jī)化,提高工作效率和工作質(zhì)量,現(xiàn)提出如下的系統(tǒng)開發(fā)目標(biāo): 1.系統(tǒng)應(yīng)具有實(shí)用性、可靠性和適用性,同時注意到先進(jìn)性。2.對各個數(shù)據(jù)庫進(jìn)行動態(tài)管理,防止混亂。

      3.能夠按照用戶選擇的不同的條件進(jìn)行簡單查詢和復(fù)合查詢。4.能夠?qū)Σ樵兘Y(jié)果進(jìn)行分類匯總,實(shí)現(xiàn)報表打印。5.注意數(shù)據(jù)的安全性,具有數(shù)據(jù)備份和恢復(fù)的功能。6.方便用戶的操作,盡量減少用戶的操作。

      2.2模塊設(shè)計(jì)

      本系統(tǒng)主要實(shí)現(xiàn)以下功能:①添加學(xué)生成績; ②刪除學(xué)生成績; ③查詢學(xué)生成績;④班級創(chuàng)建或刪除; ⑤科目調(diào)整和刪除 具體要求為:

      a.添加學(xué)生成績:輸入要添加的學(xué)生的學(xué)號、姓名、課程成績等信息,且學(xué)號字段不能為空,確定則錄入取消則放棄該操作。

      b .刪除功能:輸入要刪除的學(xué)生的學(xué)號,且必須輸入密碼驗(yàn)證,確定則執(zhí)行該操作修改該學(xué)生信息,取消則放棄該操作。

      c.查詢功能: 查詢功能是本系統(tǒng)的一個重要功能,按照科目成績的相關(guān)信息可進(jìn)行查找,應(yīng)盡量使操作簡化,節(jié)省使用者的時間。

      d.班級創(chuàng)建:選擇要創(chuàng)建的班級名稱,或要刪除班級的名稱,單擊確定創(chuàng)建成功,選擇刪除將刪除該班級信息。

      e.科目調(diào)整:選擇要調(diào)整的科目名稱、班級名稱,或要刪除科目和班級的名稱,單擊增加調(diào)整成功,選擇刪除將刪除該班級的該項(xiàng)科目信息。

      3.方案實(shí)施

      3.1成績管理各模塊功能介紹

      添加學(xué)生成績,輸入要添加的學(xué)生的學(xué)號、姓名、課程成績等信息,且學(xué)號字段不能為空,確定則錄入取消則放棄該操作。刪除學(xué)生成績,輸入要刪除的學(xué)生的學(xué)號,且必須輸入密碼驗(yàn)證,確定則執(zhí)行該操作修改該學(xué)生信息,取消則放棄該操作。查詢學(xué)生成績,查詢功能是本系統(tǒng)的一個重要功能,按照科目成績的相關(guān)信息可進(jìn)行查找,應(yīng)盡量使操作簡化,節(jié)省使用者的時間。班級創(chuàng)建或刪除,選擇要創(chuàng)建的班級名稱,或要刪除班級的名稱,單擊確定創(chuàng)建成功,選擇刪除將刪除該班級信息??颇空{(diào)整和刪除,選擇要調(diào)整的科目名稱、班級名稱,或要刪除科目和班級的名稱,單擊增加調(diào)整成功,選擇刪除將刪除該班級的該項(xiàng)科目信息。

      3.2成績管理模塊功能具體實(shí)現(xiàn)

      具體實(shí)現(xiàn)功能如下:添加學(xué)生成績、刪除學(xué)生成績、查詢學(xué)生成績、班級創(chuàng)建或刪除、科目調(diào)整和刪除等??颇抗芾碇锌颇刻砑雍涂颇縿h除的部分代碼如下:

      科目管理

      科目添加

      ReturnBook()import java.awt.event.*;import javax.swing.*;import java.awt.*;import java.awt.Container;import java.util.*;import java.sql.*;import javax.swing.text.JTextComponent;

      //extends JFrame class ReturnBook

      implements ActionListener {

      JFrame f3;Container cp;JPanel jp1,jp2,jp3,jp4,jp,jpanelWest;JButton jbt1,jbt2;//按鈕:確定、取消、JLabel label;

      //標(biāo)簽

      JTextField tf1,tf2;

      //定義文本框

      JLabel label1,label2,label3,label4;String stuName;

      ReturnBook()

      {

      f3=new JFrame();cp=f3.getContentPane();// 初始化面板、按鈕、標(biāo)簽、文本框

      jp1=new JPanel();

      jp2=new JPanel();jp3=new JPanel();jp4=new JPanel();jpanelWest=new JPanel();jp=new JPanel();//-----------------jbt1=new JButton(“確定”);

      jbt2=new JButton(“取消”);

      //-----------------label=new JLabel(“

      size='4'>”,SwingConstants.CENTER);label.setForeground(Color.blue);

      學(xué)生科目添加

      //-----------------tf1=new JTextField(20);tf2=new JTextField(20);

      // tf6=new JTextField(20);//-----------------//布局,添加控件

      jp1.add(jbt1);jp1.add(jbt2);

      stuName=tf2.getText();

      jp1.add(new JLabel(“您好”+stuName+“歡迎登陸學(xué)生信息系統(tǒng)”));

      JPanel jpanel=new JPanel();jpanel.add(label);

      JPanel pp4=new JPanel();

      JPanel jpane4=new JPanel();

      cp.add(pp4,“West”);cp.add(pp2,“Center”);

      cp.add(pp3,“South”);

      cp.add(jpanel,“North”);JPanel pp2=new JPanel(new GridLayout(5,1));JPanel pp3=new JPanel();pp4.setLayout(new GridLayout(5,1));pp4.add(new JLabel(“學(xué)號”,SwingConstants.CENTER));pp2.add(tf1);pp4.add(new JLabel(“科目”,SwingConstants.CENTER));pp2.add(tf2);

      pp3.add(jbt1);pp3.add(jbt2);cp.add(jpane4,“East”);

      //-----------------

      Toolkit kit=Toolkit.getDefaultToolkit();

      Dimension screen=kit.getScreenSize();int x=screen.width;

      /*取得顯示器窗口的寬度*/ int y=screen.height;f3.setSize(350,330);int xcenter=(x-350)/2;int ycenter=(y-330)/2;f3.setLocation(xcenter,ycenter);/*顯示在窗口中央*/

      /*取得顯示器窗口的高度*/

      f3.setVisible(true);

      //------------------

      jbt1.addActionListener(this);//注冊監(jiān)聽器

      jbt2.addActionListener(this);

      /*f3.addWindowListener(new WindowAdapter(){

      public void windowClosing(WindowEvent e){

      } System.exit(0);} });*/ //-----------------

      public void insertRecord(){

      if(tf1.getText().equals(“")||tf2.getText().equals(”“))

      { JOptionPane.showMessageDialog(f3,”請?zhí)顚憣W(xué)生信息“);return;}

      try{

      Class.forName(”sun.jdbc.odbc.JdbcOdbcDriver“);

      }catch(ClassNotFoundException e){System.out.println(”加載驅(qū)動程序失敗!“);}

      try{ String url = ”jdbc:odbc:driver={Microsoft Access Driver(*.mdb)};DBQ=Book.mdb“;//直接

      Connection con=DriverManager.getConnection(url);Statement sql;

      String s=”insert into course values('“+tf1.getText()+”','“+tf2.getText()+”');“;

      //查詢輸入的學(xué)號是否在數(shù)據(jù)庫中存在 使用當(dāng)前類目錄下的數(shù)據(jù)庫文件

      String query=”select * from course where 學(xué)號='“+tf1.getText()+”'“;

      sql=con.createStatement();

      ResultSet rs=sql.executeQuery(query);//返回查詢結(jié)果集 boolean moreRecords=rs.next();//判斷結(jié)果集是否有數(shù)據(jù)

      if(moreRecords)

      {

      JOptionPane.showMessageDialog(f3,”學(xué)號已經(jīng)被使用,請重新輸入“);

      con.close();tf1.setText(”“);return;

      }

      int insert=sql.executeUpdate(s);if(insert==1)

      { JOptionPane.showMessageDialog(null,”學(xué)生信息錄入成功!“);

      tf1.setText(”“);tf2.setText(”“);

      }

      }catch(SQLException g)

      {

      System.out.println(”E Code“+g.getErrorCode());System.out.println(”E M“+g.getMessage());

      }

      }

      public void actionPerformed(ActionEvent e){

      String cmd=e.getActionCommand();

      if(cmd.equals(”確定“))

      {

      insertRecord();

      }

      else if(cmd.equals(”取消“))

      }

      f3.hide();

      public static void main(String []arg){

      }

      } 科目刪除

      BorrowBook()

      import java.awt.event.*;import javax.swing.*;import java.awt.*;import java.awt.Container;import java.util.*;import java.sql.*;

      class BorrowBook implements ActionListener {

      JFrame f;

      Container cp;JPanel jpS,jpanelWest;JButton jbt1,jbt2,jbt3,jbt4;//按鈕,查詢、取消、修改 JLabel label,L;

      //標(biāo)簽:請輸入姓名學(xué)號 JTextField tf;

      //定義文人框

      StudentIn a=new StudentIn();JTable table;//用來接收數(shù)據(jù)庫中返回的信息

      Object columnName[]={”學(xué)號“,”科目“};

      Object ar[][] =new Object[80][6];String sno;String count=”0“;

      BorrowBook()

      {

      f=new JFrame();cp=f.getContentPane();// 初始化面板、按鈕、標(biāo)簽、文人框 jpS=new JPanel();

      jpanelWest=new JPanel();

      //-----------------jbt1=new JButton(”查詢“);

      jbt2=new JButton(”刪除“);

      jbt3=new JButton(”錄入“);

      jbt4=new JButton(”關(guān)閉“);

      //-----------------label=new JLabel(”

      size='4'>

      “,SwingConstants.CENTER);label.setForeground(Color.blue);L=new JLabel(”該學(xué)生共有“+count+”人“);//-----------------

      table=new JTable(ar,columnName);//ar存放表中的數(shù)據(jù),columnname表示列名

      JScrollPane scrollpane = new JScrollPane(table);

      //-----------------tf=new JTextField(18);

      //-----------------

      //

      //-----------------//布局,添加控件

      jpS.add(jbt1);jpS.add(jbt2);jpS.add(jbt3);jpS.add(jbt4);

      JPanel jpanel=new JPanel();jpanel.add(label);jpanel.add(tf);

      JPanel pp4=new JPanel();

      JPanel jpE=new JPanel();

      cp.add(jpanel,”North“);JPanel jp=new JPanel();//jp.add(scrollpane);JPanel p=new JPanel();//用來放兩個表 p.setLayout(new BorderLayout());

      p.add(L,”North“);p.add(scrollpane);

      cp.add(pp4,”West“);cp.add(p,”Center“);

      cp.add(jpS,”South“);

      cp.add(jpE,”East“);

      //-----------------Dimension screen=kit.getScreenSize();int x=screen.width;

      /*取得顯示器窗口的寬度*/ int y=screen.height;f.setSize(400,330);

      /*取得顯示器窗口的高度*/

      Toolkit kit=Toolkit.getDefaultToolkit();int xcenter=(x-350)/2;int ycenter=(y-330)/2;f.setLocation(xcenter,ycenter);/*顯示在窗口中央*/

      f.setVisible(true);

      //------------------

      jbt1.addActionListener(this);//注冊監(jiān)聽器

      jbt2.addActionListener(this);

      jbt3.addActionListener(this);

      jbt4.addActionListener(this);

      /*f.addWindowListener(new WindowAdapter(){

      });*/ public void windowClosing(WindowEvent e){ System.exit(0);} } //-----------------int i=0;

      public void showRecord(String ql){

      while(i>=0)

      {

      ar[i][0]=”“;ar[i][1]=”“;

      i--;} i=0;

      try{

      Class.forName(”sun.jdbc.odbc.JdbcOdbcDriver“);

      }catch(ClassNotFoundException e){System.out.println(”加載驅(qū)動程序失敗!“);}

      try{

      String url = ”jdbc:odbc:driver={Microsoft Access Driver(*.mdb)};DBQ=Book.mdb“;//直

      Connection con=DriverManager.getConnection(url);Statement sql;

      String s=”select * from course where 科目 ='“+ql +”'“;

      ResultSet rs=sql.executeQuery(s);

      接使用當(dāng)前類目錄下的數(shù)據(jù)庫文件

      sql=con.createStatement();

      while(rs.next())

      {

      String bname=rs.getString(1);

      String bno=rs.getString(2);

      ar[i][0]=bname;ar[i][1]=bno;i++;

      }

      count=”“+i+”“;

      L.setText(”“+count+”人“);

      f.repaint();

      con.close();System.out.println(ar[0][1]);

      }catch(SQLException g)

      { System.out.println(”E Code“+g.getErrorCode());

      System.out.println(”E M“+g.getMessage());

      } }

      public void deleteRecord(int index)

      {

      try{

      Class.forName(”sun.jdbc.odbc.JdbcOdbcDriver“);

      }catch(ClassNotFoundException e){System.out.println(”加載驅(qū)動程序失敗!“);}

      try{

      String url = ”jdbc:odbc:driver={Microsoft Access Driver(*.mdb)};DBQ=Book.mdb“;//直接使用當(dāng)前類目錄下的數(shù)據(jù)庫文件

      Connection con=DriverManager.getConnection(url);Statement sql;

      String ql=(String)(ar[index][0]);

      String s=”delete * from grade where 學(xué)號 ='“+ql +”'“;

      sql=con.createStatement();

      int del=sql.executeUpdate(s);

      if(del==0)

      {JOptionPane.showMessageDialog(null,”刪除成功!“,”信息“, JOptionPane.YES_NO_OPTION);}

      con.close();

      f.repaint();

      }catch(SQLException g)

      {

      System.out.println(”E Code“+g.getErrorCode());System.out.println(”E M“+g.getMessage());

      }

      }

      public void actionPerformed(ActionEvent e)

      {

      String remember=”“;String ql=”“;

      String cmd=e.getActionCommand();

      if(cmd.equals(”查詢“))

      {

      ql=tf.getText().trim();remember=ql;

      showRecord(ql);

      }

      // if(cmd.equals(”刪除“))

      // {

      // new BorrowIn();

      //}

      //**************

      if(cmd.equals(”刪除“))

      {

      int index=table.getSelectedRow();

      if(index==-1)

      JOptionPane.showMessageDialog(null,”請選定要刪除的姓名“,”輸入錯誤“, JOptionPane.YES_NO_OPTION);

      else{

      BorrowIn k=new BorrowIn();

      k.setData(ar[index][0].toString(),ar[index][1].toString());

      }

      }

      //**************

      //if(cmd.equals(”還書“))

      //new ReturnBook();

      if(cmd.equals(”關(guān)閉"))

      //

      f.setVisible(false);

      f.dispose();

      } public static void main(String []arg){

      }

      }

      BorrowBook a=new BorrowBook();

      4.結(jié)果與結(jié)論

      結(jié)果:本設(shè)計(jì)完成了一個具有添加學(xué)生成績、刪除學(xué)生成績、查詢學(xué)生成績、班級創(chuàng)建或刪除、科目調(diào)整和刪除等功能的學(xué)生成績管理系統(tǒng)。

      結(jié)論:本系統(tǒng)為學(xué)生成績管理系統(tǒng),主要提供方便高效的管理功能以及網(wǎng)上的信息查閱平臺,學(xué)生可以查閱相關(guān)的成績和基本信息,管理員可以管理所有信息。包括瀏覽所有用戶信息以及相關(guān)的成績信息,實(shí)現(xiàn)添加,查詢,或刪除學(xué)生成績和信息,并且能夠?qū)崿F(xiàn)班級創(chuàng)建或刪除和科目調(diào)整和刪除等功能。

      論文首先介紹了本系統(tǒng)開發(fā)的背景研究意義和開發(fā)環(huán)境,在進(jìn)行了可行性需求分析后對本系統(tǒng)進(jìn)行了概要設(shè)計(jì),最后利用JAVA開發(fā)環(huán)境實(shí)現(xiàn)了系統(tǒng)設(shè)計(jì)時所確定的幾種功能,并進(jìn)行了調(diào)試和運(yùn)行,基本符合了學(xué)生成績管理系統(tǒng)的要求。

      但是,由于一些技術(shù)和設(shè)備所限,本系統(tǒng)存在一些不足之處,有待進(jìn)一步改進(jìn)和完善,在開發(fā)過程中遇到了以下問題:

      (1)對后臺數(shù)據(jù)庫中數(shù)據(jù)的日常維護(hù),包括自動清理過時數(shù)據(jù);

      (2)程序中錯誤處理和輸入控制不夠全面,可能導(dǎo)致輸入無效引發(fā)錯誤;

      (3)對補(bǔ)考學(xué)生的處理。

      總之此次設(shè)計(jì)使我受益匪淺,雖然過程中有許多不盡人意的地方,但通過大家的努力最終還是把問題給攻克了。在此次設(shè)計(jì)中學(xué)到的知識對我終生受用。

      5.收獲與致謝

      軟件工程設(shè)計(jì)是軟件工程實(shí)踐教學(xué)的重要組成部分,合理的組織,精心的準(zhǔn)備,加上有序的實(shí)施,使我們的實(shí)踐能力得到很大的提高,同時培養(yǎng)了我們的團(tuán)隊(duì)合作精神,增強(qiáng)了我們學(xué)習(xí)的自信心,并為我們畢業(yè)后從事相關(guān)工作打下良好基礎(chǔ)。

      在此次的設(shè)計(jì)中我不僅利用了自己的所學(xué),而且還學(xué)到了許多新的知識,不知不覺中我們的設(shè)計(jì)已經(jīng)接近了尾聲,在這里非常感謝我們的指導(dǎo)老師王瑞平老師,感謝她給我們的設(shè)計(jì)所提出的很多很多好的建議和意見,讓我從中獲益匪淺,同時也幫助我們圓滿的完成了課程設(shè)計(jì)。

      最后我要感謝我們組的全體人員,沒有大家的幫助和鼓勵,我也不可能完成這么多的設(shè)計(jì),也不可能學(xué)到這麼多有用的知識。

      謝謝同學(xué)們對我的幫助,同時也謝謝老師對我們的輔導(dǎo)。沒有大家的共同努力就沒有我們今天課程設(shè)計(jì)的圓滿完成。向我摯愛的王瑞平老師以及可愛的同學(xué)們送上我最崇高的敬意!謝謝你們!

      6.參考文獻(xiàn)

      [1]王 晟.《Visual Basic.NET 數(shù)據(jù)庫開發(fā)經(jīng)典案例解析》.清華大學(xué)出版社.2005 [2]馬朝暉等.Java教程.(第4版)[M].北京:人民郵電出版社.2006 [3] 張白一,崔尚森.面向?qū)ο蟪绦蛟O(shè)計(jì)——Java[M].西安:電子科技大學(xué)出版社.2004 [4] 袁世鷹.微機(jī)教務(wù)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[P].北京:開明出版社.2001

      第四篇:VB學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)報告

      VB程序設(shè)計(jì) 課程設(shè)計(jì)報告

      班 級:***** 姓 名:***** 序 號:***** 指導(dǎo)老師:*****

      目錄

      1、課設(shè)的目的..............................................................................................................................2

      2、界面設(shè)計(jì)和功能設(shè)計(jì)............................................................................................................2

      3、系統(tǒng)功能實(shí)施...................................................................................................................11

      4、總結(jié)........................................................................................................................................30

      一、課設(shè)的目的

      1.本次課程設(shè)計(jì)提高了我們的實(shí)踐動手能力

      5.通過本次課程設(shè)計(jì),熟悉用戶界面的設(shè)計(jì)

      2.通過本次課程設(shè)計(jì),進(jìn)一步理解計(jì)算機(jī)程序設(shè)計(jì)的思路與方法

      3.本次課程設(shè)計(jì)之后,達(dá)到能熟練使用各種常見的VB控件,理解面向?qū)ο蟮乃枷?4.經(jīng)過本次課程設(shè)計(jì),我們進(jìn)一步熟練運(yùn)用VB的語言元素和流程控制語句

      6.經(jīng)過本次課程設(shè)計(jì),熟悉數(shù)據(jù)訪問控件ADO及相關(guān)對象的使用,能基于ADO控件實(shí)現(xiàn)Access的數(shù)據(jù)訪問與操縱

      二、界面設(shè)計(jì)和功能設(shè)計(jì)

      1、下面的界面為用戶登陸界面:

      用戶名和密碼均已設(shè)定,用戶名為zgzy,密碼為11201,只有輸入正確,然后點(diǎn)擊“登陸“按鈕才能進(jìn)入主界面。如果用戶名或密碼三次輸入錯誤,則系統(tǒng)自動退出。當(dāng)你點(diǎn)擊“退出“按鈕時,彈出一個對話窗,界面如下:

      在對話框上點(diǎn)擊“是”按鈕,則退出系統(tǒng),如果點(diǎn)擊“否”,則該界面不變。

      2、當(dāng)用戶名和密碼均輸入正確,點(diǎn)擊“登陸”按鈕,進(jìn)入主界面——“學(xué)生成績管理系統(tǒng)”界面,該界面是其他子界面的入口,界面如下:

      3、進(jìn)入主界面后,點(diǎn)擊“學(xué)生管理(刪除添加)”,進(jìn)入學(xué)生管理界面,界面如下

      該界面上有一個ADO控件,用于連接數(shù)據(jù)庫,當(dāng)用戶在六個文本框中輸入數(shù)據(jù)時,點(diǎn)擊“添加“按鈕,可以將數(shù)據(jù)錄入到數(shù)據(jù)庫中,如果此時點(diǎn)擊”刪除“按鈕,則剛才輸入的數(shù)據(jù)就會被刪除,點(diǎn)擊”保存“按鈕時,輸入的數(shù)據(jù)就會自動保存在數(shù)據(jù)庫里,點(diǎn)擊”返回主窗體“按鈕,該窗體消失,主窗體出現(xiàn)。

      4、在主界面點(diǎn)擊“各科成績查詢“按鈕,出現(xiàn)如下界面:

      該界面有一個ADO控件,用來連接數(shù)據(jù)庫,還有一個DataGrid控件,用來顯示學(xué)生成績的查詢結(jié)果,當(dāng)用戶選擇了要查詢的科目和條件后,點(diǎn)擊“查詢“按鈕,在DataGrid控件上就會顯示出所查詢的結(jié)果。下面為輸入條件后查詢的結(jié)果——

      5、在主界面點(diǎn)擊“姓名查詢“按鈕后,會出現(xiàn)如下界面:

      該界面與上一界面相似,在文本框輸入要查詢的姓名后,點(diǎn)擊“查詢“按鈕,就會在DataGrid控件上顯示所要查詢的結(jié)果。下面為輸入條件后查詢的結(jié)果——

      5、在主界面點(diǎn)擊“班級查詢“按鈕后,會出現(xiàn)如下界面:

      在文版框中輸入所要查詢的班級,DataGrid控件上就會顯示所要查詢的結(jié)果。下面為輸入條件后查詢的結(jié)果——

      6、在主界面上點(diǎn)擊“各科成績段查詢“按鈕后,會出現(xiàn)如下界面:

      點(diǎn)擊“計(jì)算分?jǐn)?shù)段統(tǒng)計(jì)“按鈕后,就會出現(xiàn)所要查詢的結(jié)果。下面為查詢的結(jié)果——

      7、在主界面點(diǎn)擊“計(jì)算總分“按鈕后,出現(xiàn)如下界面:

      點(diǎn)擊“清除總分”按鈕后,出現(xiàn)如下界面

      8、在主界面點(diǎn)擊“排名“按鈕后,出現(xiàn)如下界面:

      在該界面上點(diǎn)擊“排名“按鈕后,在DataGrid控件上會顯示出按成績高低排名的結(jié)果,點(diǎn)擊”清除排名“按鈕后,剛才結(jié)果消失,顯示原來結(jié)果。下面為所現(xiàn)實(shí)的結(jié)果——

      9、在主界面點(diǎn)擊“統(tǒng)計(jì)直方圖“按鈕后,出現(xiàn)如下界面:

      在該界面點(diǎn)擊各個按鈕后,就會出現(xiàn)與之相關(guān)科目的成績統(tǒng)計(jì)直方圖,下面為查詢的結(jié)果——

      10、在主界面點(diǎn)擊“優(yōu)等生“按鈕后,出現(xiàn)如下界面:

      點(diǎn)擊按鈕查詢后,結(jié)果就會在界面上顯示出來。下面為所查詢的結(jié)果——

      三、系統(tǒng)功能實(shí)施

      以上展示的是系統(tǒng)的所有界面,怎樣才能讓這所有的功能實(shí)現(xiàn)呢?數(shù)據(jù)庫和ADO控件的使用便是其中的關(guān)鍵。

      1、建立如下數(shù)據(jù)庫

      (學(xué)號、姓名、班級、英語、數(shù)學(xué)、VB、總分、排名)

      2、建立如下圖的所有界面:

      3、ADO控件和DataGrid控件以及數(shù)據(jù)庫的連接步驟:(這一步在設(shè)計(jì)界面的同時完成)

      (1)、如何加載ADO控件: 步驟1:

      步驟2:

      步驟3:

      各個界面的ADO控件如何連接數(shù)據(jù)庫(分兩步):

      步驟1:

      如下面界面中的5個步驟

      步驟2:

      選中ADO控件Adodc1,點(diǎn)擊鼠標(biāo)右鍵選擇屬性,然后界面設(shè)置如下:

      控件綁定數(shù)據(jù)庫的字段操作說明:

      屬性設(shè)置說明:下面以學(xué)號為例,姓名、班級等都可參考此。將學(xué)號對應(yīng)的文本框Text1連接Adodc1顯示數(shù)據(jù)庫中的學(xué)號,需要設(shè)置DataSource和DataField兩個屬性,首先選中Text1文本框,并進(jìn)行下面的兩步操作,即可綁定數(shù)據(jù)庫的學(xué)號字段。

      設(shè)置DataSource:

      設(shè)置DataField:

      (2)、如何加載DataGrid控件 控件DataGrid,可以實(shí)現(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()'計(jì)算總分 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è)計(jì)終于完成了。在沒有做課程設(shè)計(jì)以前覺得課程設(shè)計(jì)好難,我可能做不了,但是通過這次做課程設(shè)計(jì)發(fā)現(xiàn)自己錯了。課程設(shè)計(jì)不僅是對前面所學(xué)知識的一種檢驗(yàn),而且也是對自己能力的一種提高,它并不可怕。通過這次課程設(shè)計(jì)使我明白了自己原來知識還比較欠缺,自己要學(xué)習(xí)的東西還太多,以前上課沒怎么認(rèn)真聽,現(xiàn)在知道它重要了,幸好為時不晚,我以后要更加的努力學(xué)好vb。在這次課程設(shè)計(jì)中也使我們的同學(xué)關(guān)系更進(jìn)一步了,同學(xué)之間互相幫助,有什么不懂的大家在一起商量,聽聽不同的看法對我們更好的理解知識,所以在這里非常感謝幫助我的同學(xué)。此外,還得出一個結(jié)論:世上無難事,只怕有心人。

      在設(shè)計(jì)過程中,我通過查閱有關(guān)資料,與同學(xué)交流經(jīng)驗(yàn)和自學(xué)等方式,使自己學(xué)到了不少知識,也經(jīng)歷了不少艱辛,但收獲同樣巨大。在整個設(shè)計(jì)中我懂得了許多東西,也培養(yǎng)了我獨(dú)立工作的能力,樹立了對自己工作能力的信心,相信會對今后的學(xué)習(xí)工作生活有非常重要的影響。而且大大提高了動手的能力,使我充分體會到了在創(chuàng)造過程中探索的艱難和成功時的喜悅。雖然這個設(shè)計(jì)做的也不太好,但是在設(shè)計(jì)過程中所學(xué)到的東西是這次課程設(shè)計(jì)的最大收獲和財(cái)富,使我終身受益。

      第五篇:C#學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)剖析

      目錄

      一、設(shè)計(jì)目的.............................................1

      二、需求分析.............................................2 2.1系統(tǒng)需求簡介.......................................2 2.1.1系統(tǒng)目標(biāo)......................................2 2.1.2功能需求分析..................................2 2.1.3性能需求分析..................................2 2.2系統(tǒng)業(yè)務(wù)功能分析...................................2 2.2.1具體分析有兩個角色:老師和學(xué)生................3 2.2.2流程圖.......................................3

      三、模塊分析及設(shè)計(jì).......................................3

      四、數(shù)據(jù)庫設(shè)計(jì)...........................................4 4.1數(shù)據(jù)字典..........................................4 4.1.1數(shù)據(jù)流.......................................4 4.1.2 數(shù)據(jù)存儲.....................................4 4.2 E-R圖...........................................5 4.3系統(tǒng)數(shù)據(jù)庫的設(shè)計(jì)...................................6

      五、設(shè)計(jì)過程及要點(diǎn).......................................9 5.1數(shù)據(jù)庫及窗體設(shè)計(jì)...................................9 5.2 主要代碼........................................11

      六、設(shè)計(jì)總結(jié)............................................12

      七、參考資料............................................12

      一、設(shè)計(jì)目的

      為了提高高校學(xué)生成績信息的管理效率,方便學(xué)生和教師對學(xué)生成績信息進(jìn)行查詢、方便學(xué)校里面管理員去管理和查詢學(xué)生信息,建立一個學(xué)生成績管理系統(tǒng),使學(xué)生信息管理工作規(guī)范化,系統(tǒng)化,程序化,避免學(xué)生成績管理的隨意性,提高信息處理的速度和準(zhǔn)確性,能夠及時、準(zhǔn)確、有效的查詢和修改學(xué)生信息是必須而且十分迫切的工作。本次課程設(shè)計(jì)題目為《學(xué)生成績管理系統(tǒng)》,涉及成績管理系統(tǒng)的登錄界面、老師對學(xué)生成績的查詢、學(xué)生對學(xué)生成績的查詢、以及老師對學(xué)生成績的增刪改查分析統(tǒng)計(jì)等內(nèi)容。本功能實(shí)現(xiàn)對學(xué)生信息、教師信息情況信息的管理和統(tǒng)計(jì)、課程信息和成績信息查看及維護(hù)。

      本課程設(shè)計(jì)的目的是使學(xué)生能熟練掌握簡單的簡單Windows窗體應(yīng)用程序的設(shè)計(jì)和數(shù)據(jù)庫的應(yīng)用,希望通過本次課程設(shè)計(jì)鍛煉學(xué)生使用C#語言解決實(shí)際問題的能力。本系統(tǒng)后臺數(shù)據(jù)庫采用Microsoft SQL Server 數(shù)據(jù)庫,該數(shù)據(jù)庫系統(tǒng)在安全性、準(zhǔn)確性和運(yùn)行速度方面有絕對的優(yōu)勢,并且處理數(shù)據(jù)量大,效率高;前臺采用Microsoft 公司的Visual Studio 2008作為主要開發(fā)工具,可與SQL Server 2005數(shù)據(jù)庫無縫鏈接。本報告詳細(xì)的介紹了學(xué)生信息管理系統(tǒng)的開發(fā)過程,主要涉及到的工作如下:設(shè)計(jì)目的、需求分析、模塊分析及設(shè)計(jì)、數(shù)據(jù)庫設(shè)計(jì)、制作過程及要點(diǎn)、設(shè)計(jì)總結(jié)。

      二、需求分析

      2.1系統(tǒng)需求簡介

      2.1.1系統(tǒng)目標(biāo)

      根據(jù)查詢條件實(shí)現(xiàn)學(xué)生信息的查詢 學(xué)生選課信息查詢、成績信息的查詢

      (3)學(xué)生信息、課程信息、成績信息的增加、刪除、修改(4)對基本信息完成增加、刪除、修改時,需注意表與表之間的關(guān)聯(lián)

      2.1.2功能需求分析

      本系統(tǒng)的功能需求分析如下:

      學(xué)生信息查詢:學(xué)生可以根據(jù)學(xué)號、姓名、專業(yè)進(jìn)行查詢.學(xué)生信息管理:主要是用于學(xué)生信息更新、插入、刪除; 學(xué)生成績錄入:用于學(xué)生成績管理,錄入學(xué)生成績,也可以更新。

      2.1.3性能需求分析

      (1)登錄、用戶界面需求:簡潔、易懂、易用、友好的用戶界面。(2)安全保密性需求:只有憑借用戶名和密碼登陸系統(tǒng),才能進(jìn)行信息的管 理等。

      2.2系統(tǒng)業(yè)務(wù)功能分析

      2.2.1具體分析有兩個角色:老師和學(xué)生

      學(xué)生只能有查詢的權(quán)利,其中包括按學(xué)號查詢,按姓名查詢和按課程號查詢;

      而老師則有查詢以及對學(xué)生成績增刪改查分析統(tǒng)計(jì)功能,而分析主要是分析每一課程的及格人數(shù),不及格人數(shù)和及格率等,統(tǒng)計(jì)則是統(tǒng)計(jì)各個班級和課程成績的升序排序等。

      2.2.2流程圖

      圖一 總流程圖

      三、模塊分析及設(shè)計(jì)

      《學(xué)生成績管理系統(tǒng)》包括 5個模塊:登錄及主界面,成績添加,成績查詢,成績增刪改,成績分析與統(tǒng)計(jì)。登陸及主界面:用戶人員在登錄界面中輸入用戶名與密碼。通過用戶名與數(shù)據(jù)庫里的用戶表相比配,將學(xué)生與教師區(qū)分開,二者各自進(jìn)入自己的頁面。二者擁有各自權(quán)限,分別擁有不同的功能。

      成績添加:主要實(shí)現(xiàn)學(xué)生成績的添加功能,將學(xué)生的各種信息添加到數(shù)據(jù)庫中。

      成績查詢:主要三種方式,按學(xué)號,按姓名,按課程號查詢學(xué)生的成績。

      成績增刪改:主要是老師對學(xué)生的各項(xiàng)信息或成績的修改,刪除,添加等,以實(shí)現(xiàn)學(xué)生成績管理系統(tǒng)的及時更新。

      成績分析統(tǒng)計(jì):對學(xué)生成績的分析統(tǒng)計(jì)包括各個學(xué)生或課程的及格人數(shù),不及格人數(shù),及格率,學(xué)生成績的排序等等。

      四、數(shù)據(jù)庫設(shè)計(jì)

      4.1數(shù)據(jù)字典

      4.1.1數(shù)據(jù)流

      課程信息:課程號,課程名稱,學(xué)期,課程時間,學(xué)分等信息 學(xué)生信息:學(xué)號,姓名,專業(yè),性別,生日,年齡,現(xiàn)狀等信息 教師信息:教師編號,姓名等信息 4.1.2 數(shù)據(jù)存儲

      成績表:包括學(xué)生姓名,學(xué)號,課程號,成績等信息 登錄信息表:包括學(xué)生學(xué)號,密碼及教師編號,密碼等信息 4.2 E-R圖

      圖二 學(xué)生信息E-R圖

      圖三 課程信息E-R圖

      圖四 教師信息E-R圖

      圖五 總E-R圖

      4.3系統(tǒng)數(shù)據(jù)庫的設(shè)計(jì)

      綜合以上分析,要實(shí)現(xiàn)系統(tǒng)功能,應(yīng)該建立如下表:

      表一 課程表

      表二 學(xué)生表

      表三 成績表

      表四 教師表

      表五 用戶表

      五、設(shè)計(jì)過程及要點(diǎn)

      這次課程設(shè)計(jì)我主要做數(shù)據(jù)庫和登陸界面的設(shè)計(jì)并實(shí)現(xiàn)該系統(tǒng)的登錄功能。

      5.1數(shù)據(jù)庫及窗體設(shè)計(jì)

      其中數(shù)據(jù)庫我一共設(shè)計(jì)了五個表,分別是學(xué)生表,課程表,成績表,教師表和用戶表,這些表的詳細(xì)信息已經(jīng)在上面有了介紹。

      然后就是登錄功能的實(shí)現(xiàn)。

      圖六 登錄窗體

      登錄窗體主要用了3個label控件,2個textbox控件,2個radioButton控件,2個button控件,實(shí)現(xiàn)了教師跟學(xué)生的登錄,用戶名跟密碼輸入正確后,選擇老師或者學(xué)生后分別進(jìn)入各自的主界面,在主界面中可以對學(xué)生的成績進(jìn)行查詢,刪除等等操作。老師和學(xué)生的主界面分別如下圖:

      圖七 學(xué)生主界面

      圖八 教師主界面

      5.2 主要代碼

      namespace WindowsFormsApplication1 { public partial class 登錄 : Form { public 登錄(){

      InitializeComponent();sqlhelper = new Sqlhelper(“server=.;database=xscj;integrated security=true”);} Sqlhelper sqlhelper private void button1_Click(object sender, EventArgs e){ string sn;string str = “server=.;database=xscj;integrated security=true”;SqlConnection conn = new SqlConnection(str);conn.Open();

      if(radioButton1.Checked){ textBox1.Text.Trim()+ “'and password='” +textBox2.Text.Trim()+ “'”;SqlCommand comm = new SqlCommand(cstr, conn);SqlDataReader dr = comm.ExecuteReader();if(dr.Read()){ sn = textBox1.Text.Trim();教師界面 f1 = new 教師界面();f1.Show();this.Visible = false;} else { MessageBox.Show(“輸入有誤,請重新輸入!”);textBox1.Text = “";textBox2.Text = ”“;} } if(radioButton2.Checked){ string cstr = ”select * from [user] where type='教師'and uid='“ + 11

      string cstr = ”select * from [user] where type='學(xué)生'and uid='“ +textBox1.Text.Trim()+ ”'and password='“ + textBox2.Text.Trim()+ ”'“;SqlCommand comm = new SqlCommand(cstr, conn);SqlDataReader dr = comm.ExecuteReader();if(dr.Read()){ sn = textBox1.Text.Trim();學(xué)生界面 f2 = new 學(xué)生界面();f2.Show();this.Visible = false;} else { MessageBox.Show(”輸入有誤,請重新輸入!“);textBox1.Text = ”“;textBox2.Text = ”";} } conn.Close();conn.Dispose();} } }

      六、設(shè)計(jì)總結(jié)

      為期一周的課程設(shè)計(jì)結(jié)束了,在老師和同學(xué)的幫助下,我基本完成系統(tǒng)的設(shè)計(jì)。我們小組按照系統(tǒng)工程軟件設(shè)計(jì)的要求,從設(shè)計(jì)目的、需求分析、模塊分析及設(shè)計(jì)、數(shù)據(jù)庫設(shè)計(jì)等各個步驟,分步完成系統(tǒng)的各項(xiàng)任務(wù),實(shí)現(xiàn)了系統(tǒng)中的學(xué)生信息查詢,學(xué)生信息增刪改,學(xué)生信息添加等模塊的功能。

      在這短短的五天里收獲如下: 鞏固和加深了對C#的理解,提高綜合運(yùn)用本課程所學(xué)知識的能力。

      2、培養(yǎng)了我選用參考書,查閱手冊及文獻(xiàn)資料的能力。培養(yǎng)獨(dú)立思考,深入研究,分析問題、解決問題的能力。

      3、通過實(shí)際編譯系統(tǒng)的分析設(shè)計(jì)、編程調(diào)試,掌握應(yīng)用軟件的分析方法和工程設(shè)計(jì)方法。

      4、更加深刻的了解了小組團(tuán)隊(duì)協(xié)作的重要性,只有整個小組的人通力合作才可能會完成一個項(xiàng)目并且進(jìn)步。

      根據(jù)我在課程設(shè)計(jì)中遇到的問題,我將在以后的學(xué)習(xí)當(dāng)中注意以下幾點(diǎn):

      認(rèn)真上好專業(yè)實(shí)驗(yàn)課,多在實(shí)踐中鍛煉自己。

      2、寫程序的過程中要考慮周到,嚴(yán)密。

      3、在做設(shè)計(jì)的時候要有信心,有耐心,切勿浮躁。

      4、認(rèn)真的學(xué)習(xí)課本知識,掌握課本中的知識點(diǎn),并在此基礎(chǔ)上學(xué)會靈活運(yùn)用。

      5、在課余時間里多寫程序,熟練掌握在調(diào)試程序的過程中所遇到的常見錯誤,以便能節(jié)省調(diào)試程序的時間。

      七、參考資料

      [1] 錢能.C++程序設(shè)計(jì),2008,16(2):233-237 [2] 錢能.C++程序設(shè)計(jì)試驗(yàn)指導(dǎo),2008.34(3):35-38 [3] 譚浩強(qiáng).C程序設(shè)計(jì).北京:清華大學(xué)出版社,2001 13

      下載課程設(shè)計(jì)--成績管理系統(tǒng)word格式文檔
      下載課程設(shè)計(jì)--成績管理系統(tǒng).doc
      將本文檔下載到自己電腦,方便修改和收藏,請勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報,并提供相關(guān)證據(jù),工作人員會在5個工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        數(shù)據(jù)結(jié)構(gòu)課程設(shè)計(jì)——成績管理系統(tǒng)(共五則范文)

        數(shù)據(jù)結(jié)構(gòu) 課程設(shè)計(jì) (1)學(xué)生成績管理問題(建議數(shù)據(jù)結(jié)構(gòu):單鏈表) 學(xué)生成績管理是學(xué)校教務(wù)管理的重要組成部分,其處理信息量很大,本設(shè)計(jì)是對學(xué)生的成績管理做一個簡單的模擬,用菜單選擇......

        C++課程設(shè)計(jì)學(xué)生成績管理分析系統(tǒng)

        五、解決方案 C++程序設(shè)計(jì)實(shí)踐教學(xué)環(huán)節(jié)任務(wù)書 1. 分析程序的功能要求,劃分程序功能模塊。 2. 畫出系統(tǒng)流程圖。 一、題目: 學(xué)生成績管理分析系統(tǒng) 3. 代碼的編寫。定義類和各......

        VB學(xué)生成績管理系統(tǒng)課程設(shè)計(jì)報告(精選5篇)

        VB程序設(shè)計(jì) 課程設(shè)計(jì)報告 班 級:資工10902 班 姓 名:何睦 序 號:05 指導(dǎo)老師:劉少華 邵燕林 王慶 陳君華 朱小龍 目錄 1、課設(shè)的目的 ............................................

        C語言課程設(shè)計(jì)任務(wù)書(學(xué)生成績管理系統(tǒng))

        課程設(shè)計(jì)題目:簡單的學(xué)生成績管理的程序要求: 一、由鍵盤輸入原始數(shù)據(jù)。原始數(shù)據(jù)內(nèi)容如下: 學(xué)號姓名C程序設(shè)計(jì)高等數(shù)學(xué)英語線性代數(shù) 1王..80808080 2張..90909090 注:要求至少有......

        C語言課程設(shè)計(jì)學(xué)生成績管理系統(tǒng)個人總結(jié)

        C語言課程設(shè)計(jì)——學(xué)生成績管理系統(tǒng) 個人心得體會 (徐州工程學(xué)院 14計(jì)嵌1班 07組 張凱) 這一周以來的課程設(shè)計(jì),不僅讓我明白了C語言的確是一門很有用的,但是又是不容易的一門課......

        C語言課程設(shè)計(jì)報告-學(xué)生成績管理系統(tǒng)(vc)

        一、實(shí)踐的目的和要求 加深對《C語言》課程所學(xué)知識的理解,進(jìn)一步鞏固C語言語法規(guī)則。學(xué)會編制結(jié)構(gòu)清晰、風(fēng)格良好、數(shù)據(jù)結(jié)構(gòu)適當(dāng)?shù)模谜Z言程序,從而具備解決綜合性實(shí)際問題的能......

        成績管理系統(tǒng)心得

        學(xué)生成績管理系統(tǒng)是一功能十分強(qiáng)大的管理系統(tǒng),它集各種功用于一身,可以完成教學(xué)中的各種操作,如對學(xué)生的成績的添加.刪除等。學(xué)生成績管理系統(tǒng)功能大,程序編寫也十分復(fù)雜,工作量......

        運(yùn)動會成績管理系統(tǒng)

        任 務(wù) 書1、課程設(shè)計(jì)題目 運(yùn)動會成績管理系統(tǒng) 2、設(shè)計(jì)任務(wù)和內(nèi)容 一個運(yùn)動會成績管理系統(tǒng)是根據(jù)學(xué)校的實(shí)際運(yùn)動會工作專門設(shè)計(jì)的一個管理信息系統(tǒng)。該系統(tǒng)能夠?qū)?xiàng)目、運(yùn)動......