第一篇:課程設計--成績管理系統
“成績管理系統”課程設計指導書
課題名稱:學生成績管理系統
設計目標:按照軟件工程的規范,以SQL Server或Oracle為后臺數據庫,以Visual C++、Delphi等為前端開發工具,設計并實現一個能模擬高等學校學生成績管理的系統。
需求描述:
學生成績管理系統中:
1.系統用戶
系統的用戶是學校的學生、教師和管理員。學生使用本系統查詢自己的成績。教師使用本系統錄入和查詢自己所授課程的考試成績。教學管理員可以查詢所有課程成績,并使用本系統進行成績的統計和生成報表。
2.系統功能
(1)成績錄入:
教師可以查詢自己本學期所授課程,并錄入學生的考試成績。錄入過
程中,可以暫存已錄入的成績,當錄入完成后提交。
(2)成績維護:
教師在提交前,可以修改已錄入或暫存的學生成績;但提交后,則只
能查詢不能再進行任何修改。
教學管理員可以清除教師已提交的成績。
(3)成績查詢:
教師、教學管理員可以查詢學生考試成績。學生只允許查詢自己的考
試成績,教師只允許查詢自己所授課程的成績。
(4)成績統計:
教學管理員可以按課程、按學生、按班級等進行成績統計。
教學管理員根據核算出的總評成績統計處于優、良、中、及格、不及
格的學生人數以及占總人數的百分比。其中100-90為優,89-80為良,79-70為中,69-60為及格,60分以下為不及格。
按要求輸出成績在優、良、中、及格、不及格各區間的學生學號。
結果形式:
提交課程設計報告、源程序和可演示的軟件
課程設計報告要求:詳見課程設計模板
課程設計參考思路:
(1)熟悉數據庫和開發工具,掌握開發工具與本地數據庫的連接方法。
(2)理解系統的信息需求,進行合理的數據庫設計,建立各數據庫表。
(3)理解系統的功能需求,設計應用軟件。結合Delphi 或VC++進行系統界面
(窗體、菜單以及相應控制按鈕)的設計、連接與操縱數據庫方案的設計,編寫程序。
(4)系統運行、調試并完善。
(5)撰寫設計報告。
第二篇:語言課程設計-學生成績管理系統
1、課程設計的目的、任務
《匯編語言》課程設計對于鞏固匯編語言理論知識,加強學生的實際動手能力和提高學生綜合素質十分必要。課程設計的目的主要是通過程序設計方法和技能的基本訓練,鞏固在課堂上學到的有關程序設計的基本知識和基本方法,通過實際動手能力的培養,進一步熟悉匯編語言的結構和使用方法,達到能獨立閱讀、編制和調試一定規模的匯編語言程序的水平。
2、軟件需求分析和設計
2.1學生成績管理系統是對學生成績的管理,其中包括以下幾個模塊:(1).插入一個數據(插入學生學號以及語數外三個成績)。(2)修改一個數據。(3)刪除學生成績數據。(4)查找學生成績。(5)查看學生成績的排名(6)查看學生成績分布(7)按esc鍵退出系統
2.2學生成績管理系統應該包含以下信息:學號,語文成績,英語成績,數學成績。因此,系統應該提供以下功能:(1)輸出顯示菜單。(2)輸入學生的成績(3)修改學生成績(4)刪除學生成績(5)查詢學生成績(6)顯示學生成績排名(7)顯示成績分布統計(8)按esc鍵退出系統
2.3依據程序的功能需求,該系統的功能結構圖如下
系統功能結構圖
2.4 程序流程圖:
主程序流程圖
查找學生成績
插入學生學號及成績
修改學生的成績
顯示各個學科各分數段的人數
3、程序實現說明
3.1學生管理系統中各子程序如下:
(1).輸入全部學生學號以及語文,英語,數學三科的成績。子程序名:insert 子程序描述:該子程序為輸入字程序。系統在開始的時候是沒有數據的,通過該子程序可以初始化系統,將學生的學號及成績輸入系統。
代碼:
insert proc near;定義進程子程序:插入學生,學號及 成績 call input;調用input add n,1 ret insert endp
(2).修改輸入的成績。子程序名:modify 子程序描述:通過子程序修改學生的成績 代碼:
modify proc near;定義進程子程序:修改學生學號,成績 md1:output mess1;輸出mess1 shuru;調用宏shuru:二位數據輸入 mov bl,n mov bh,0 mov al,dl mov si,0 md: cmp al,xh[si];先查找輸入的學生是否存在
je qq1_1;查到的話,就跳轉到qq1_1輸入修改的值,也就是重新輸入。;結果相等則跳轉到qq1_1 add si,1
cmp si,bx jbe md;小于等于則跳轉到md output mess;輸出mess jmp md1;不相等繼續輸入學號
qq1_1:;轉入修改的值重新輸入。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]
分別輸入語文,英語,數學成績,并將其放 在緩沖區buf中 比較輸入的成績是否大于120,如果大于120的 話,那么重 新輸入成績 小于等于則轉移到qq2_1 輸出ts3 跳轉到qq1_1 輸出空格 將存入buf中的成績,分別賦值給存放對應科 目的成績的數組
mov eng[di],al mov al,buf[2] mov mat[di],al ret modify endp
(3).刪除學生的成績。子程序名:delete 子程序描述:通過子程序刪除學生的成績 代碼:
de proc near;刪除某個學生的記錄 sc1:output mess1 shuru;調用宏shuru,接受輸入的學號 mov bl,n mov bh,0 mov al,dl mov si,0 sc: cmp al,xh[si];查詢輸入學號的學生信息是否存在,不存在的話,重新輸入學號 je sc2;相等則轉移到sc2 add si,1 cmp si,bx jbe sc;小于等于則轉移到sc output mess;輸出mess jmp sc1 sc2: sub bx,si cmp bx,0 je sc3;相等則轉移到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循環指令,執行操作(cx)<--(cx)-1.若 cx!=0,跳轉到標號sc處循環執行;cx=0,則推出
循環,執行loop的下一條指令 sub n,1 sc3: ret de endp
(3).查詢學生的成績。子程序名:find 子程序描述:通過子程序查詢學生的成績 代碼:
find proc near;定義進程子程序:查找學生成績 call sum;求學生的總成績 call ping;求學生的平均成績
bj1:output mess1;輸出mess1 shuru;二位數數據輸入 mov bl,n mov bh,0 mov al,dl
mov si,0
bj: cmp al,xh[si];將輸入的學號與輸入的學號相比,je i;存在的話,將此學生的成績輸出。je表示結果相
等則轉移。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
小于等于則轉移到bj 為二位數據輸出 輸出空格 將字節變為字
為三位數據輸出。輸出空格 將字節變為字
為三位數據輸出 輸出空格的字符串,用于與標題欄對齊
shuzii ax output bg
mov ax,si mov bl,2 mul bl mov bx,ax shuzii zc[bx];shuzii為三位數據輸出
output bg;輸出空格的字符串,用于與標題欄對齊 shuzi mc[si];shuzi為二位數據輸出 ret find endp
(4).顯示學生的成績排名。子程序名:show 子程序描述:通過子程序顯示學生的成績排名 代碼:
show proc near;定義進程子程序:顯示結果排名 call sum;調用宏sum call ping;調用宏ping call rank;調用宏rank call shuchu;調用宏shuchu ret show endp
3.2程序運行抓圖:
主菜單
修改學生成績
刪除學生成績
顯示各個學科各分數段的人數
4、程序總結
通過兩個星期的學習,努力,終于完成了報告。系統可以很好的運行。這兩個多星期的時間,幾乎每天不是在敲代碼,就是在看代碼,查書,上網。系統中用到了很多最近才學習的知識,比如宏,子程序。這些都使得代碼的運行效率提高了,代碼行數減少了。系統還用到了bios的清屏功能。這些功能如果不是做課程設計,我想我很難會接觸到這些知識。
由于自己對知識掌握的不是很牢固,其中也會碰到一些困難。每當遇到問題的時候,我會先上網去查找,看看有沒有人提過這方面的問題。互聯網是強大的,大部分的問題通過網絡都可以解決。部分找不到的問題,我就去請教班里學得好的同學。他們對知識的掌握遠超過我。這樣下來,很多問題都迎刃而解了。
課程設計是一個很好的掌握書本上知識的過程。平時上課之后,自己都不會想著去敲一些代碼聯系聯系。通過做課程設計,將理論與實踐結合了起來,對知識的理解更加深入了。
第三篇:軟件工程課程設計之——學生成績管理系統
1.設計背景
隨著科學技術的不斷提高,計算機科學技術日漸成熟,其強大的功能已為人們深刻認識,它已進入人類社會的各個領域并發揮著越來越重要的作用?,F在我國的教育機構對學生成績管理還普遍停留在紙介質的基礎上,這樣的機制已經不能適應時代的發展,因為它浪費了許多人力和物力,在信息時代,這種傳統的管理方法必然被計算機為基礎的信息管理所取代。
通過調查,要求系統具有權限設置功能的登錄模塊,學生可以實現成績信息查詢功能。教務管理人員能夠實現注冊新用戶,學生成績信息的查詢、錄入、刪除、修改、瀏覽、統計等。同時學院在教學這一部分主要是由教務處對課程、對學生、對學生成績進行合理地安排以及統籌計劃,以及讓教務處在最短的時間段把學生的成績核算出來,提高教務處的辦事效率。同時,能夠隨時對學生、學生成績進行各種查詢和統計,以及很好地對系統進行維護。此種學生成績管理系統提供了強大的學生成績管理管理功能,方便了系統管理員對學生成績等信息的添加、修改,打印等操作,同時一樣方面的學生可以對自己各科成績查詢,學習的交流,滿足了時代的需要。
2.設計方案
2.1總體設計
本系統是將現代化的計算機技術和傳統的教學、教務工作相結合,按照學院的工作流程設計完成的。為了使系統在學院的管理中發揮更大的作用,實現工作過程的計算機化,提高工作效率和工作質量,現提出如下的系統開發目標: 1.系統應具有實用性、可靠性和適用性,同時注意到先進性。2.對各個數據庫進行動態管理,防止混亂。
3.能夠按照用戶選擇的不同的條件進行簡單查詢和復合查詢。4.能夠對查詢結果進行分類匯總,實現報表打印。5.注意數據的安全性,具有數據備份和恢復的功能。6.方便用戶的操作,盡量減少用戶的操作。
2.2模塊設計
本系統主要實現以下功能:①添加學生成績; ②刪除學生成績; ③查詢學生成績;④班級創建或刪除; ⑤科目調整和刪除 具體要求為:
a.添加學生成績:輸入要添加的學生的學號、姓名、課程成績等信息,且學號字段不能為空,確定則錄入取消則放棄該操作。
b .刪除功能:輸入要刪除的學生的學號,且必須輸入密碼驗證,確定則執行該操作修改該學生信息,取消則放棄該操作。
c.查詢功能: 查詢功能是本系統的一個重要功能,按照科目成績的相關信息可進行查找,應盡量使操作簡化,節省使用者的時間。
d.班級創建:選擇要創建的班級名稱,或要刪除班級的名稱,單擊確定創建成功,選擇刪除將刪除該班級信息。
e.科目調整:選擇要調整的科目名稱、班級名稱,或要刪除科目和班級的名稱,單擊增加調整成功,選擇刪除將刪除該班級的該項科目信息。
3.方案實施
3.1成績管理各模塊功能介紹
添加學生成績,輸入要添加的學生的學號、姓名、課程成績等信息,且學號字段不能為空,確定則錄入取消則放棄該操作。刪除學生成績,輸入要刪除的學生的學號,且必須輸入密碼驗證,確定則執行該操作修改該學生信息,取消則放棄該操作。查詢學生成績,查詢功能是本系統的一個重要功能,按照科目成績的相關信息可進行查找,應盡量使操作簡化,節省使用者的時間。班級創建或刪除,選擇要創建的班級名稱,或要刪除班級的名稱,單擊確定創建成功,選擇刪除將刪除該班級信息。科目調整和刪除,選擇要調整的科目名稱、班級名稱,或要刪除科目和班級的名稱,單擊增加調整成功,選擇刪除將刪除該班級的該項科目信息。
3.2成績管理模塊功能具體實現
具體實現功能如下:添加學生成績、刪除學生成績、查詢學生成績、班級創建或刪除、科目調整和刪除等??颇抗芾碇锌颇刻砑雍涂颇縿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;
//標簽
JTextField tf1,tf2;
//定義文本框
JLabel label1,label2,label3,label4;String stuName;
ReturnBook()
{
f3=new JFrame();cp=f3.getContentPane();// 初始化面板、按鈕、標簽、文本框
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'>
學生科目添加
//-----------------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+“歡迎登陸學生信息系統”));
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(“學號”,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);//注冊監聽器
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,”請填寫學生信息“);return;}
try{
Class.forName(”sun.jdbc.odbc.JdbcOdbcDriver“);
}catch(ClassNotFoundException e){System.out.println(”加載驅動程序失敗!“);}
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()+”');“;
//查詢輸入的學號是否在數據庫中存在 使用當前類目錄下的數據庫文件
String query=”select * from course where 學號='“+tf1.getText()+”'“;
sql=con.createStatement();
ResultSet rs=sql.executeQuery(query);//返回查詢結果集 boolean moreRecords=rs.next();//判斷結果集是否有數據
if(moreRecords)
{
JOptionPane.showMessageDialog(f3,”學號已經被使用,請重新輸入“);
con.close();tf1.setText(”“);return;
}
int insert=sql.executeUpdate(s);if(insert==1)
{ JOptionPane.showMessageDialog(null,”學生信息錄入成功!“);
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;
//標簽:請輸入姓名學號 JTextField tf;
//定義文人框
StudentIn a=new StudentIn();JTable table;//用來接收數據庫中返回的信息
Object columnName[]={”學號“,”科目“};
Object ar[][] =new Object[80][6];String sno;String count=”0“;
BorrowBook()
{
f=new JFrame();cp=f.getContentPane();// 初始化面板、按鈕、標簽、文人框 jpS=new JPanel();
jpanelWest=new JPanel();
//-----------------jbt1=new JButton(”查詢“);
jbt2=new JButton(”刪除“);
jbt3=new JButton(”錄入“);
jbt4=new JButton(”關閉“);
//-----------------label=new JLabel(” size='4'> 請 輸 入 科 目 :
table=new JTable(ar,columnName);//ar存放表中的數據,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);//注冊監聽器
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(”加載驅動程序失敗!“);}
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);
接使用當前類目錄下的數據庫文件
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(”加載驅動程序失敗!“);}
try{
String url = ”jdbc:odbc:driver={Microsoft Access Driver(*.mdb)};DBQ=Book.mdb“;//直接使用當前類目錄下的數據庫文件
Connection con=DriverManager.getConnection(url);Statement sql;
String ql=(String)(ar[index][0]);
String s=”delete * from grade where 學號 ='“+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(”關閉"))
//
f.setVisible(false);
f.dispose();
} public static void main(String []arg){
}
}
BorrowBook a=new BorrowBook();
4.結果與結論
結果:本設計完成了一個具有添加學生成績、刪除學生成績、查詢學生成績、班級創建或刪除、科目調整和刪除等功能的學生成績管理系統。
結論:本系統為學生成績管理系統,主要提供方便高效的管理功能以及網上的信息查閱平臺,學生可以查閱相關的成績和基本信息,管理員可以管理所有信息。包括瀏覽所有用戶信息以及相關的成績信息,實現添加,查詢,或刪除學生成績和信息,并且能夠實現班級創建或刪除和科目調整和刪除等功能。
論文首先介紹了本系統開發的背景研究意義和開發環境,在進行了可行性需求分析后對本系統進行了概要設計,最后利用JAVA開發環境實現了系統設計時所確定的幾種功能,并進行了調試和運行,基本符合了學生成績管理系統的要求。
但是,由于一些技術和設備所限,本系統存在一些不足之處,有待進一步改進和完善,在開發過程中遇到了以下問題:
(1)對后臺數據庫中數據的日常維護,包括自動清理過時數據;
(2)程序中錯誤處理和輸入控制不夠全面,可能導致輸入無效引發錯誤;
(3)對補考學生的處理。
總之此次設計使我受益匪淺,雖然過程中有許多不盡人意的地方,但通過大家的努力最終還是把問題給攻克了。在此次設計中學到的知識對我終生受用。
5.收獲與致謝
軟件工程設計是軟件工程實踐教學的重要組成部分,合理的組織,精心的準備,加上有序的實施,使我們的實踐能力得到很大的提高,同時培養了我們的團隊合作精神,增強了我們學習的自信心,并為我們畢業后從事相關工作打下良好基礎。
在此次的設計中我不僅利用了自己的所學,而且還學到了許多新的知識,不知不覺中我們的設計已經接近了尾聲,在這里非常感謝我們的指導老師王瑞平老師,感謝她給我們的設計所提出的很多很多好的建議和意見,讓我從中獲益匪淺,同時也幫助我們圓滿的完成了課程設計。
最后我要感謝我們組的全體人員,沒有大家的幫助和鼓勵,我也不可能完成這么多的設計,也不可能學到這麼多有用的知識。
謝謝同學們對我的幫助,同時也謝謝老師對我們的輔導。沒有大家的共同努力就沒有我們今天課程設計的圓滿完成。向我摯愛的王瑞平老師以及可愛的同學們送上我最崇高的敬意!謝謝你們!
6.參考文獻
[1]王 晟.《Visual Basic.NET 數據庫開發經典案例解析》.清華大學出版社.2005 [2]馬朝暉等.Java教程.(第4版)[M].北京:人民郵電出版社.2006 [3] 張白一,崔尚森.面向對象程序設計——Java[M].西安:電子科技大學出版社.2004 [4] 袁世鷹.微機教務管理系統的設計與實現[P].北京:開明出版社.2001
第四篇:VB學生成績管理系統課程設計報告
VB程序設計 課程設計報告
班 級:***** 姓 名:***** 序 號:***** 指導老師:*****
目錄
1、課設的目的..............................................................................................................................2
2、界面設計和功能設計............................................................................................................2
3、系統功能實施...................................................................................................................11
4、總結........................................................................................................................................30
一、課設的目的
1.本次課程設計提高了我們的實踐動手能力
5.通過本次課程設計,熟悉用戶界面的設計
2.通過本次課程設計,進一步理解計算機程序設計的思路與方法
3.本次課程設計之后,達到能熟練使用各種常見的VB控件,理解面向對象的思想 4.經過本次課程設計,我們進一步熟練運用VB的語言元素和流程控制語句
6.經過本次課程設計,熟悉數據訪問控件ADO及相關對象的使用,能基于ADO控件實現Access的數據訪問與操縱
二、界面設計和功能設計
1、下面的界面為用戶登陸界面:
用戶名和密碼均已設定,用戶名為zgzy,密碼為11201,只有輸入正確,然后點擊“登陸“按鈕才能進入主界面。如果用戶名或密碼三次輸入錯誤,則系統自動退出。當你點擊“退出“按鈕時,彈出一個對話窗,界面如下:
在對話框上點擊“是”按鈕,則退出系統,如果點擊“否”,則該界面不變。
2、當用戶名和密碼均輸入正確,點擊“登陸”按鈕,進入主界面——“學生成績管理系統”界面,該界面是其他子界面的入口,界面如下:
3、進入主界面后,點擊“學生管理(刪除添加)”,進入學生管理界面,界面如下
該界面上有一個ADO控件,用于連接數據庫,當用戶在六個文本框中輸入數據時,點擊“添加“按鈕,可以將數據錄入到數據庫中,如果此時點擊”刪除“按鈕,則剛才輸入的數據就會被刪除,點擊”保存“按鈕時,輸入的數據就會自動保存在數據庫里,點擊”返回主窗體“按鈕,該窗體消失,主窗體出現。
4、在主界面點擊“各科成績查詢“按鈕,出現如下界面:
該界面有一個ADO控件,用來連接數據庫,還有一個DataGrid控件,用來顯示學生成績的查詢結果,當用戶選擇了要查詢的科目和條件后,點擊“查詢“按鈕,在DataGrid控件上就會顯示出所查詢的結果。下面為輸入條件后查詢的結果——
5、在主界面點擊“姓名查詢“按鈕后,會出現如下界面:
該界面與上一界面相似,在文本框輸入要查詢的姓名后,點擊“查詢“按鈕,就會在DataGrid控件上顯示所要查詢的結果。下面為輸入條件后查詢的結果——
5、在主界面點擊“班級查詢“按鈕后,會出現如下界面:
在文版框中輸入所要查詢的班級,DataGrid控件上就會顯示所要查詢的結果。下面為輸入條件后查詢的結果——
6、在主界面上點擊“各科成績段查詢“按鈕后,會出現如下界面:
點擊“計算分數段統計“按鈕后,就會出現所要查詢的結果。下面為查詢的結果——
7、在主界面點擊“計算總分“按鈕后,出現如下界面:
點擊“清除總分”按鈕后,出現如下界面
8、在主界面點擊“排名“按鈕后,出現如下界面:
在該界面上點擊“排名“按鈕后,在DataGrid控件上會顯示出按成績高低排名的結果,點擊”清除排名“按鈕后,剛才結果消失,顯示原來結果。下面為所現實的結果——
9、在主界面點擊“統計直方圖“按鈕后,出現如下界面:
在該界面點擊各個按鈕后,就會出現與之相關科目的成績統計直方圖,下面為查詢的結果——
10、在主界面點擊“優等生“按鈕后,出現如下界面:
點擊按鈕查詢后,結果就會在界面上顯示出來。下面為所查詢的結果——
三、系統功能實施
以上展示的是系統的所有界面,怎樣才能讓這所有的功能實現呢?數據庫和ADO控件的使用便是其中的關鍵。
1、建立如下數據庫
(學號、姓名、班級、英語、數學、VB、總分、排名)
2、建立如下圖的所有界面:
3、ADO控件和DataGrid控件以及數據庫的連接步驟:(這一步在設計界面的同時完成)
(1)、如何加載ADO控件: 步驟1:
步驟2:
步驟3:
各個界面的ADO控件如何連接數據庫(分兩步):
步驟1:
如下面界面中的5個步驟
步驟2:
選中ADO控件Adodc1,點擊鼠標右鍵選擇屬性,然后界面設置如下:
控件綁定數據庫的字段操作說明:
屬性設置說明:下面以學號為例,姓名、班級等都可參考此。將學號對應的文本框Text1連接Adodc1顯示數據庫中的學號,需要設置DataSource和DataField兩個屬性,首先選中Text1文本框,并進行下面的兩步操作,即可綁定數據庫的學號字段。
設置DataSource:
設置DataField:
(2)、如何加載DataGrid控件 控件DataGrid,可以實現數據的批量處理,該控件在控件庫Microsoft DataGrid Control 6.0中。
說明:DataGrid控件屬性設置
以下為各個界面所對應的代碼——
該界面代碼如下:
Private Sub Command1_Click()If Text1.Text = “zgzy” And Text2.Text = “11201” Then Form1.Show Unload me Else MsgBox “用戶名或密碼錯誤,請重新輸入”, vbMsgBoxSetForeground, “系統提示!” End If
Static t As Integer t = t + 1 If t >= 3 Then End End Sub
Private Sub Command2_Click()a = MsgBox(“確定要退出本系統嗎?”, 3 + 32 + 256, “系統提示!”)
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
'填充表格數據
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數據網格填充數據
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
'填充表格數據
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數據網格填充數據
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
四、總結和體會
經過好幾天的努力我的課程設計終于完成了。在沒有做課程設計以前覺得課程設計好難,我可能做不了,但是通過這次做課程設計發現自己錯了。課程設計不僅是對前面所學知識的一種檢驗,而且也是對自己能力的一種提高,它并不可怕。通過這次課程設計使我明白了自己原來知識還比較欠缺,自己要學習的東西還太多,以前上課沒怎么認真聽,現在知道它重要了,幸好為時不晚,我以后要更加的努力學好vb。在這次課程設計中也使我們的同學關系更進一步了,同學之間互相幫助,有什么不懂的大家在一起商量,聽聽不同的看法對我們更好的理解知識,所以在這里非常感謝幫助我的同學。此外,還得出一個結論:世上無難事,只怕有心人。
在設計過程中,我通過查閱有關資料,與同學交流經驗和自學等方式,使自己學到了不少知識,也經歷了不少艱辛,但收獲同樣巨大。在整個設計中我懂得了許多東西,也培養了我獨立工作的能力,樹立了對自己工作能力的信心,相信會對今后的學習工作生活有非常重要的影響。而且大大提高了動手的能力,使我充分體會到了在創造過程中探索的艱難和成功時的喜悅。雖然這個設計做的也不太好,但是在設計過程中所學到的東西是這次課程設計的最大收獲和財富,使我終身受益。
第五篇:C#學生成績管理系統課程設計剖析
目錄
一、設計目的.............................................1
二、需求分析.............................................2 2.1系統需求簡介.......................................2 2.1.1系統目標......................................2 2.1.2功能需求分析..................................2 2.1.3性能需求分析..................................2 2.2系統業務功能分析...................................2 2.2.1具體分析有兩個角色:老師和學生................3 2.2.2流程圖.......................................3
三、模塊分析及設計.......................................3
四、數據庫設計...........................................4 4.1數據字典..........................................4 4.1.1數據流.......................................4 4.1.2 數據存儲.....................................4 4.2 E-R圖...........................................5 4.3系統數據庫的設計...................................6
五、設計過程及要點.......................................9 5.1數據庫及窗體設計...................................9 5.2 主要代碼........................................11
六、設計總結............................................12
七、參考資料............................................12
一、設計目的
為了提高高校學生成績信息的管理效率,方便學生和教師對學生成績信息進行查詢、方便學校里面管理員去管理和查詢學生信息,建立一個學生成績管理系統,使學生信息管理工作規范化,系統化,程序化,避免學生成績管理的隨意性,提高信息處理的速度和準確性,能夠及時、準確、有效的查詢和修改學生信息是必須而且十分迫切的工作。本次課程設計題目為《學生成績管理系統》,涉及成績管理系統的登錄界面、老師對學生成績的查詢、學生對學生成績的查詢、以及老師對學生成績的增刪改查分析統計等內容。本功能實現對學生信息、教師信息情況信息的管理和統計、課程信息和成績信息查看及維護。
本課程設計的目的是使學生能熟練掌握簡單的簡單Windows窗體應用程序的設計和數據庫的應用,希望通過本次課程設計鍛煉學生使用C#語言解決實際問題的能力。本系統后臺數據庫采用Microsoft SQL Server 數據庫,該數據庫系統在安全性、準確性和運行速度方面有絕對的優勢,并且處理數據量大,效率高;前臺采用Microsoft 公司的Visual Studio 2008作為主要開發工具,可與SQL Server 2005數據庫無縫鏈接。本報告詳細的介紹了學生信息管理系統的開發過程,主要涉及到的工作如下:設計目的、需求分析、模塊分析及設計、數據庫設計、制作過程及要點、設計總結。
二、需求分析
2.1系統需求簡介
2.1.1系統目標
根據查詢條件實現學生信息的查詢 學生選課信息查詢、成績信息的查詢
(3)學生信息、課程信息、成績信息的增加、刪除、修改(4)對基本信息完成增加、刪除、修改時,需注意表與表之間的關聯
2.1.2功能需求分析
本系統的功能需求分析如下:
學生信息查詢:學生可以根據學號、姓名、專業進行查詢.學生信息管理:主要是用于學生信息更新、插入、刪除; 學生成績錄入:用于學生成績管理,錄入學生成績,也可以更新。
2.1.3性能需求分析
(1)登錄、用戶界面需求:簡潔、易懂、易用、友好的用戶界面。(2)安全保密性需求:只有憑借用戶名和密碼登陸系統,才能進行信息的管 理等。
2.2系統業務功能分析
2.2.1具體分析有兩個角色:老師和學生
學生只能有查詢的權利,其中包括按學號查詢,按姓名查詢和按課程號查詢;
而老師則有查詢以及對學生成績增刪改查分析統計功能,而分析主要是分析每一課程的及格人數,不及格人數和及格率等,統計則是統計各個班級和課程成績的升序排序等。
2.2.2流程圖
圖一 總流程圖
三、模塊分析及設計
《學生成績管理系統》包括 5個模塊:登錄及主界面,成績添加,成績查詢,成績增刪改,成績分析與統計。登陸及主界面:用戶人員在登錄界面中輸入用戶名與密碼。通過用戶名與數據庫里的用戶表相比配,將學生與教師區分開,二者各自進入自己的頁面。二者擁有各自權限,分別擁有不同的功能。
成績添加:主要實現學生成績的添加功能,將學生的各種信息添加到數據庫中。
成績查詢:主要三種方式,按學號,按姓名,按課程號查詢學生的成績。
成績增刪改:主要是老師對學生的各項信息或成績的修改,刪除,添加等,以實現學生成績管理系統的及時更新。
成績分析統計:對學生成績的分析統計包括各個學生或課程的及格人數,不及格人數,及格率,學生成績的排序等等。
四、數據庫設計
4.1數據字典
4.1.1數據流
課程信息:課程號,課程名稱,學期,課程時間,學分等信息 學生信息:學號,姓名,專業,性別,生日,年齡,現狀等信息 教師信息:教師編號,姓名等信息 4.1.2 數據存儲
成績表:包括學生姓名,學號,課程號,成績等信息 登錄信息表:包括學生學號,密碼及教師編號,密碼等信息 4.2 E-R圖
圖二 學生信息E-R圖
圖三 課程信息E-R圖
圖四 教師信息E-R圖
圖五 總E-R圖
4.3系統數據庫的設計
綜合以上分析,要實現系統功能,應該建立如下表:
表一 課程表
表二 學生表
表三 成績表
表四 教師表
表五 用戶表
五、設計過程及要點
這次課程設計我主要做數據庫和登陸界面的設計并實現該系統的登錄功能。
5.1數據庫及窗體設計
其中數據庫我一共設計了五個表,分別是學生表,課程表,成績表,教師表和用戶表,這些表的詳細信息已經在上面有了介紹。
然后就是登錄功能的實現。
圖六 登錄窗體
登錄窗體主要用了3個label控件,2個textbox控件,2個radioButton控件,2個button控件,實現了教師跟學生的登錄,用戶名跟密碼輸入正確后,選擇老師或者學生后分別進入各自的主界面,在主界面中可以對學生的成績進行查詢,刪除等等操作。老師和學生的主界面分別如下圖:
圖七 學生主界面
圖八 教師主界面
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='學生'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();學生界面 f2 = new 學生界面();f2.Show();this.Visible = false;} else { MessageBox.Show(”輸入有誤,請重新輸入!“);textBox1.Text = ”“;textBox2.Text = ”";} } conn.Close();conn.Dispose();} } }
六、設計總結
為期一周的課程設計結束了,在老師和同學的幫助下,我基本完成系統的設計。我們小組按照系統工程軟件設計的要求,從設計目的、需求分析、模塊分析及設計、數據庫設計等各個步驟,分步完成系統的各項任務,實現了系統中的學生信息查詢,學生信息增刪改,學生信息添加等模塊的功能。
在這短短的五天里收獲如下: 鞏固和加深了對C#的理解,提高綜合運用本課程所學知識的能力。
2、培養了我選用參考書,查閱手冊及文獻資料的能力。培養獨立思考,深入研究,分析問題、解決問題的能力。
3、通過實際編譯系統的分析設計、編程調試,掌握應用軟件的分析方法和工程設計方法。
4、更加深刻的了解了小組團隊協作的重要性,只有整個小組的人通力合作才可能會完成一個項目并且進步。
根據我在課程設計中遇到的問題,我將在以后的學習當中注意以下幾點:
認真上好專業實驗課,多在實踐中鍛煉自己。
2、寫程序的過程中要考慮周到,嚴密。
3、在做設計的時候要有信心,有耐心,切勿浮躁。
4、認真的學習課本知識,掌握課本中的知識點,并在此基礎上學會靈活運用。
5、在課余時間里多寫程序,熟練掌握在調試程序的過程中所遇到的常見錯誤,以便能節省調試程序的時間。
七、參考資料
[1] 錢能.C++程序設計,2008,16(2):233-237 [2] 錢能.C++程序設計試驗指導,2008.34(3):35-38 [3] 譚浩強.C程序設計.北京:清華大學出版社,2001 13