软件工程课程设计之——学生成绩管理系统

时间:2019-05-14 14:36:45下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《软件工程课程设计之——学生成绩管理系统》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《软件工程课程设计之——学生成绩管理系统》。

第一篇:软件工程课程设计之——学生成绩管理系统

1.设计背景

随着科学技术的不断提高,计算机科学技术日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。现在我国的教育机构对学生成绩管理还普遍停留在纸介质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代,这种传统的管理方法必然被计算机为基础的信息管理所取代。

通过调查,要求系统具有权限设置功能的登录模块,学生可以实现成绩信息查询功能。教务管理人员能够实现注册新用户,学生成绩信息的查询、录入、删除、修改、浏览、统计等。同时学院在教学这一部分主要是由教务处对课程、对学生、对学生成绩进行合理地安排以及统筹计划,以及让教务处在最短的时间段把学生的成绩核算出来,提高教务处的办事效率。同时,能够随时对学生、学生成绩进行各种查询和统计,以及很好地对系统进行维护。此种学生成绩管理系统提供了强大的学生成绩管理管理功能,方便了系统管理员对学生成绩等信息的添加、修改,打印等操作,同时一样方面的学生可以对自己各科成绩查询,学习的交流,满足了时代的需要。

2.设计方案

2.1总体设计

本系统是将现代化的计算机技术和传统的教学、教务工作相结合,按照学院的工作流程设计完成的。为了使系统在学院的管理中发挥更大的作用,实现工作过程的计算机化,提高工作效率和工作质量,现提出如下的系统开发目标: 1.系统应具有实用性、可靠性和适用性,同时注意到先进性。2.对各个数据库进行动态管理,防止混乱。

3.能够按照用户选择的不同的条件进行简单查询和复合查询。4.能够对查询结果进行分类汇总,实现报表打印。5.注意数据的安全性,具有数据备份和恢复的功能。6.方便用户的操作,尽量减少用户的操作。

2.2模块设计

本系统主要实现以下功能:①添加学生成绩; ②删除学生成绩; ③查询学生成绩;④班级创建或删除; ⑤科目调整和删除 具体要求为:

a.添加学生成绩:输入要添加的学生的学号、姓名、课程成绩等信息,且学号字段不能为空,确定则录入取消则放弃该操作。

b .删除功能:输入要删除的学生的学号,且必须输入密码验证,确定则执行该操作修改该学生信息,取消则放弃该操作。

c.查询功能: 查询功能是本系统的一个重要功能,按照科目成绩的相关信息可进行查找,应尽量使操作简化,节省使用者的时间。

d.班级创建:选择要创建的班级名称,或要删除班级的名称,单击确定创建成功,选择删除将删除该班级信息。

e.科目调整:选择要调整的科目名称、班级名称,或要删除科目和班级的名称,单击增加调整成功,选择删除将删除该班级的该项科目信息。

3.方案实施

3.1成绩管理各模块功能介绍

添加学生成绩,输入要添加的学生的学号、姓名、课程成绩等信息,且学号字段不能为空,确定则录入取消则放弃该操作。删除学生成绩,输入要删除的学生的学号,且必须输入密码验证,确定则执行该操作修改该学生信息,取消则放弃该操作。查询学生成绩,查询功能是本系统的一个重要功能,按照科目成绩的相关信息可进行查找,应尽量使操作简化,节省使用者的时间。班级创建或删除,选择要创建的班级名称,或要删除班级的名称,单击确定创建成功,选择删除将删除该班级信息。科目调整和删除,选择要调整的科目名称、班级名称,或要删除科目和班级的名称,单击增加调整成功,选择删除将删除该班级的该项科目信息。

3.2成绩管理模块功能具体实现

具体实现功能如下:添加学生成绩、删除学生成绩、查询学生成绩、班级创建或删除、科目调整和删除等。科目管理中科目添加和科目删除的部分代码如下:

科目管理

科目添加

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'>”,SwingConstants.CENTER);label.setForeground(Color.blue);

学生科目添加

//-----------------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'>

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

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

第二篇:语言课程设计-学生成绩管理系统

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的清屏功能。这些功能如果不是做课程设计,我想我很难会接触到这些知识。

由于自己对知识掌握的不是很牢固,其中也会碰到一些困难。每当遇到问题的时候,我会先上网去查找,看看有没有人提过这方面的问题。互联网是强大的,大部分的问题通过网络都可以解决。部分找不到的问题,我就去请教班里学得好的同学。他们对知识的掌握远超过我。这样下来,很多问题都迎刃而解了。

课程设计是一个很好的掌握书本上知识的过程。平时上课之后,自己都不会想着去敲一些代码联系联系。通过做课程设计,将理论与实践结合了起来,对知识的理解更加深入了。

第三篇:课程设计--成绩管理系统

“成绩管理系统”课程设计指导书

课题名称:学生成绩管理系统

设计目标:按照软件工程的规范,以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.客户对功能的需求

1>查看自己的信息,了解自己近期的购买情况。2>查看产品的信息,熟悉产品情况。2>查看售后服务信息。

2.销售人员对功能的需求

1>查看自己的信息,了解自己近期的销售情况。2>查看产品的信息,熟悉产品情况。3>登记销售产品。

4>添加新产品,并填写产品相关信息。

3.售后服务人员对功能的需求

1>查看售后服务信息。2>添加售后服务信息。

三.分析模型时序图

销售管理系统顶层图

1.客户管理

第三层DFD图 客户管理子系统

2.销售管理

第三层DFD图 销售管理子系统

3.售后服务管理

第三层DFD图 售后服务管理子系统

4.客户登录动态时序图为

四.模块活动图,登录流程图

1.注册、登陆模块

1>模块功能描述

该模块主要实现对用户能否进入系统的确认以及对进入系统的用户权限的设定;因为本系统涉及到三类使用者,不可能每一类用户都具有相同的操作权限,如前所说,必然会早成系统的混乱和崩溃,严重影响其安全性和有效性。所以采取在通常的注册,登录模式下加上用户类型的选择,非常简洁地就完成了对用户类型的区别及权限的划分。2>在模块的详细设计后,便能得出实现该部分的具体流程,如图

用户注册模块程序流程图

登录模块程序流程图

活动图为:

2.客户管理模块

1>模块功能描述

显示客户的基本信息。库户可以查看自己的等级和交易次数。

2>在模块的详细设计后,便能得出实现该部分的具体流程,如图3-8。

客户管理模块流程图

活动图为:

3.销售管理模块 >模块功能描述

在这个模块可以登记销售记录。并且在提交记录时,更新数据库:

(1)更新客户信息。如果是“老客户”系统会按照客户等级给出对应的优惠价。(2)更新产品信息。主要是更新该产品数量。

2>在模块的详细设计后,便能得出实现该部分的具体流程,如图

销售管理模块流程图

活动图为

五.数据库设计

1.客户信息表

字段khidkhnamegyshjchzhgzhugteladrkhtelfaxbzh数据类型IntVarCharVarCharVarCharnCharVarCharncharVarChartext是否是主键是否否否否否否否否是否为空否否否是是是否是是说明客户编号客户名称客户简称采购主管采购主管联系方式客户地址客户电话传真备注

2.商品进货表

字段数据类型intVarCharCharCharCharnumericnumericint是否是主键是否否否否否否否是否为空说明进货编号商品名称商品名称首拼大单位小单位进货成本jhbhshpmchshpshpddwxdwjhchbxshjgjhshulgyshjhrqbzh否否否否是否否否销售价格进货数量供应商进货日期备注VarCharsmalldatetimeVarChar否否否是否是 3.商品销售表

字段xshbhshpmchshpshpxshjgxshshlxshryxshrqkhbzh数据类型IntVarCharVarCharNumericIntVarCharSmalldatetimeVarChartext是否是主键是否否否否否否否否是否为空否否否是是是否是是说明销售编号商品名称商品名称首拼销售价格销售数量销售人员销售日期客户简称备注

六.运行界面与代码

1.登陆窗口

Dim conn As ADODB.Connection Dim rs As ADODB.Recordset Private Sub CmdOk_Click()If UserName.Text <> “" And PassWord.Text <> ”“ Then Set conn = New ADODB.Connection Set rs = New ADODB.Recordset conn.Open ”Provider=Microsoft.Jet.OLEDB.4.0;Data Source=“ & App.Path & ”人事.mdb;Persist Security Info=False“ rs.Open ”select * from usermanage where username='“ & UserName.Text & ”'“, conn, 1, 1 If Not rs.EOF Then If rs(”password“)= PassWord.Text Then Main.Show Unload Me Else MsgBox ”非法登录,密码错误!“, vbOKOnly, ”警告“ End If Else MsgBox ”非法登录,找不到该用户!“, vbOKOnly, ”警告“ End If Else MsgBox ”用户名或密码不能为空!“, vbOKOnly, ”提示“ End If End Sub

Private Sub PassWord_KeyPress(KeyAscii As Integer)If KeyAscii = 13 Then Call CmdOk_Click End If End Sub

Private Sub UserName_KeyPress(KeyAscii As Integer)If KeyAscii = 13 Then Call CmdOk_Click End If End Sub

`2.主界面

Private Sub Cmd_Click(Index As Integer)Select Case Index Case 0 GoodsIn.Show Me.Enabled = False Case 1 Saler.Show Me.Enabled = False Case 2 SaleData.Show Me.Enabled = False Case 3 SaleTotal.Show Me.Enabled = False Case 4 UserM.Show Me.Enabled = False End Select End Sub

`进货管理

Private Sub Cmd_Click(Index As Integer)Select Case Index Case 0 '第一条

Adodc1.Recordset.MoveFirst

Case 1 '上一条

If Not Adodc1.Recordset.BOF Then Adodc1.Recordset.MovePrevious End If

Case 2 '下一条

If Not Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveNext End If

Case 3 '最尾条

Adodc1.Recordset.MoveLast

Case 4 '添加

Adodc1.Recordset.AddNew For i = 0 To 7 GoodText(i).Enabled = True Next Cmd(6).Enabled = True

Case 5 '修改 For i = 0 To 7 GoodText(i).Enabled = True Next Cmd(6).Enabled = True

Case 6 '保存 Adodc1.Recordset.Update For i = 0 To 7 GoodText(i).Enabled = False Next MsgBox ”更新记录成功!“, vbOKOnly, ”提示“ Cmd(6).Enabled = False

Case 6 '删除

If MsgBox(”确定删除当前记录,数据将不可恢复?“, vbOKCancel, ”提示“)= vbOK Then Adodc1.Recordset.Delete End If End Select End Sub

Private Sub Form_Load()Adodc1.ConnectionString = ”Provider=Microsoft.Jet.OLEDB.4.0;Data Source=“ & App.Path & ”人事.mdb;Persist Security Info=False“ Adodc1.RecordSource = ”select * from save“ For i = 0 To 6 Set GoodText(i).DataSource = Adodc1 GoodText(i).DataField = Adodc1.Recordset.Fields(i).Name Next Adodc1.Refresh

Set DataGrid1.DataSource = Adodc1 End Sub

Private Sub Form_Unload(Cancel As Integer)Main.Enabled = True End Sub

`销售管理

Dim conn As ADODB.Connection Dim rs As ADODB.Recordset Public id As String Public action As String Private Sub Cmd_Click(Index As Integer)Select Case Index Case 0 '第一条

If Not Adodc1.Recordset.BOF Then Adodc1.Recordset.MoveFirst End If

Case 1 '上一条

If Not Adodc1.Recordset.BOF Then Adodc1.Recordset.MovePrevious End If

Case 2 '下一条

If Not Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveNext End If

Case 3 '最尾条

If Not Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveLast End If

Case 4 '添加 action = ”add“ ManageSale.Show Me.Enabled = False

Case 5 '修改 action = ”modify“ id = Adodc1.Recordset.Fields(”id“)ManageSale.Show Me.Enabled = False

Case 7 '删除

If MsgBox(”确定删除当前记录,数据将不可恢复?“, vbOKCancel, ”提示“)= vbOK Then Set conn = New ADODB.Connection Set rs = New ADODB.Recordset conn.Open ”Provider=Microsoft.Jet.OLEDB.4.0;Data Source=“ & App.Path & ”人事.mdb;Persist Security Info=False“ rs.Open ”select goodcount from save where goodnum='“ & GoodText(0).Text & ”'“, conn, 1, 3 rs(”goodcount“)= rs(”goodcount“)+ GoodText(5).Text rs.Update rs.Close Adodc1.Recordset.Delete End If End Select End Sub

Private Sub Form_Load()Adodc1.ConnectionString = ”Provider=Microsoft.Jet.OLEDB.4.0;Data Source=“ & App.Path & ”人事.mdb;Persist Security Info=False“ Adodc1.RecordSource = ”select * from sale order by id“ For i = 0 To 6 Set GoodText(i).DataSource = Adodc1 GoodText(i).DataField = Adodc1.Recordset.Fields(i + 1).Name Next Adodc1.Refresh Set DataGrid1.DataSource = Adodc1 End Sub

Private Sub Form_Unload(Cancel As Integer)Main.Enabled = True End Sub

添加修改销售记录

Dim conn As ADODB.Connection Dim rs As ADODB.Recordset Public salecount As Long

Private Sub Combo1_Change()End Sub

Private Sub Cmd_Click(Index As Integer)Select Case Index Case 0 Set conn = New ADODB.Connection Set rs = New ADODB.Recordset conn.Open ”Provider=Microsoft.Jet.OLEDB.4.0;Data Source=“ & App.Path & ”人事.mdb;Persist Security Info=False“ If GoodText(0)= ”“ Or GoodText(3)= ”“ Or GoodText(4)= ”“ Then MsgBox ”数据没有输入完整,请重新输入!“, vbOKOnly, ”提示“ Exit Sub End If

If SaleData.action = ”add“ Then rs.Open ”select * from sale“, conn, 1, 3 rs.AddNew Else rs.Open ”select * from sale where id=“ & SaleData.id, conn, 1, 3 End If rs(”Goodnum“)= GNum.Text rs(”goodname“)= GoodText(1).Text rs(”danwei“)= GoodText(2).Text rs(”outdate“)= GoodText(3).Text rs(”danjia“)= GoodText(4).Text rs(”outcount“)= GoodText(0).Text rs(”salename“)= SaleName.Text rs.Update rs.Close

rs.Open ”select * from save where goodnum='“ & GNum.Text & ”'“, conn, 1, 3 '在库存表中将库存数量减去已售出的数量 If SaleData.action = ”add“ Then rs(”goodcount“)= rs(”goodcount“)(GoodText(0).Text-salecount)End If rs.Update rs.Close MsgBox ”数据更新成功!“, vbOKOnly, ”提示“ SaleData.Adodc1.Refresh Unload Me Case 1 Unload Me

End Select End Sub

Private Sub Form_Load()Set conn = New ADODB.Connection Set rs = New ADODB.Recordset conn.Open ”Provider=Microsoft.Jet.OLEDB.4.0;Data Source=“ & App.Path & ”人事.mdb;Persist Security Info=False“ Dim saleman As String

If SaleData.action = ”add“ Then rs.Open ”select goodnum from save order by goodnum“, conn, 1, 1 Do While Not rs.EOF GNum.AddItem rs(0)rs.MoveNext Loop GNum.Text = GNum.List(0)Else rs.Open ”select * from sale where id=“ & SaleData.id, conn, 1, 1 GNum.AddItem rs(”goodnum“)GoodText(1).Text = rs(”goodname“)GoodText(2).Text = rs(”danwei“)GoodText(3).Text = rs(”outdate“)GoodText(4).Text = rs(”danjia“)GoodText(0).Text = rs(”outcount“)saleman = rs(”salename“)GNum.Text = GNum.List(0)GNum.Enabled = False rs.Close rs.Open ”select * from save where goodnum='“ & GNum.Text & ”'“, conn, 1, 1 SaleNum.Max = GoodText(0).Text + rs(”goodcount“)salecount = GoodText(0).Text End If rs.Close rs.Open ”select salename from saler order by id“, conn, 1, 1 Do While Not rs.EOF SaleName.AddItem rs(0)rs.MoveNext Loop If SaleData.action = ”add“ Then SaleName.Text = SaleName.List(0)Else SaleName.Text = saleman Cmd(0).Caption = ”保存修改“ End If rs.Close End Sub

Private Sub Form_Unload(Cancel As Integer)SaleData.Enabled = True End Sub

Private Sub GNum_Click()Set conn = New ADODB.Connection Set rs = New ADODB.Recordset conn.Open ”Provider=Microsoft.Jet.OLEDB.4.0;Data Source=“ & App.Path & ”人事.mdb;Persist Security Info=False“ rs.Open ”select * from save where goodnum='“ & GNum.Text & ”'“, conn, 1, 1 If Not rs.EOF Then GoodText(1).Text = rs(”goodname“)GoodText(2).Text = rs(”danwei“)SaleNum.Max = rs(”goodcount")End If End Sub

第五篇: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。在这次课程设计中也使我们的同学关系更进一步了,同学之间互相帮助,有什么不懂的大家在一起商量,听听不同的看法对我们更好的理解知识,所以在这里非常感谢帮助我的同学。此外,还得出一个结论:世上无难事,只怕有心人。

在设计过程中,我通过查阅有关资料,与同学交流经验和自学等方式,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。在整个设计中我懂得了许多东西,也培养了我独立工作的能力,树立了对自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响。而且大大提高了动手的能力,使我充分体会到了在创造过程中探索的艰难和成功时的喜悦。虽然这个设计做的也不太好,但是在设计过程中所学到的东西是这次课程设计的最大收获和财富,使我终身受益。

下载软件工程课程设计之——学生成绩管理系统word格式文档
下载软件工程课程设计之——学生成绩管理系统.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    C#学生成绩管理系统课程设计剖析

    目录 一、设计目的 ............................................. 1 二、需求分析 ............................................. 2 2.1系统需求简介......................

    C++课程设计学生成绩管理分析系统

    五、解决方案 C++程序设计实践教学环节任务书 1. 分析程序的功能要求,划分程序功能模块。 2. 画出系统流程图。 一、题目: 学生成绩管理分析系统 3. 代码的编写。定义类和各......

    软件工程课程设计 (个人账本管理系统)

    软件工程课程设计报告 ---个人帐本管理 一、需求分析 1、 系统开发背景 当今社会是一个信息与科技并行的时代,在社会中消费时每个人都有的社会行为,消费与人的日常生活是息息......

    VB学生成绩管理系统课程设计报告(精选5篇)

    VB程序设计 课程设计报告 班 级:资工10902 班 姓 名:何睦 序 号:05 指导老师:刘少华 邵燕林 王庆 陈君华 朱小龙 目录 1、课设的目的 ............................................

    C语言课程设计任务书(学生成绩管理系统)

    课程设计题目:简单的学生成绩管理的程序要求: 一、由键盘输入原始数据。原始数据内容如下: 学号姓名C程序设计高等数学英语线性代数 1王..80808080 2张..90909090 注:要求至少有......

    学生成绩管理系统

    //*学生成绩管理系统*// #include #define N 3 struct student { int no; char name[20]; float english; float computer; float math; float average; }; void getclass(s......

    C语言课程设计学生成绩管理系统个人总结

    C语言课程设计——学生成绩管理系统 个人心得体会 (徐州工程学院 14计嵌1班 07组 张凯) 这一周以来的课程设计,不仅让我明白了C语言的确是一门很有用的,但是又是不容易的一门课......

    C语言课程设计报告-学生成绩管理系统(vc)

    一、实践的目的和要求 加深对《C语言》课程所学知识的理解,进一步巩固C语言语法规则。学会编制结构清晰、风格良好、数据结构适当的C语言程序,从而具备解决综合性实际问题的能......