java学生成绩管理系统.docx

上传人:b****0 文档编号:9642538 上传时间:2023-05-20 格式:DOCX 页数:39 大小:146.36KB
下载 相关 举报
java学生成绩管理系统.docx_第1页
第1页 / 共39页
java学生成绩管理系统.docx_第2页
第2页 / 共39页
java学生成绩管理系统.docx_第3页
第3页 / 共39页
java学生成绩管理系统.docx_第4页
第4页 / 共39页
java学生成绩管理系统.docx_第5页
第5页 / 共39页
java学生成绩管理系统.docx_第6页
第6页 / 共39页
java学生成绩管理系统.docx_第7页
第7页 / 共39页
java学生成绩管理系统.docx_第8页
第8页 / 共39页
java学生成绩管理系统.docx_第9页
第9页 / 共39页
java学生成绩管理系统.docx_第10页
第10页 / 共39页
java学生成绩管理系统.docx_第11页
第11页 / 共39页
java学生成绩管理系统.docx_第12页
第12页 / 共39页
java学生成绩管理系统.docx_第13页
第13页 / 共39页
java学生成绩管理系统.docx_第14页
第14页 / 共39页
java学生成绩管理系统.docx_第15页
第15页 / 共39页
java学生成绩管理系统.docx_第16页
第16页 / 共39页
java学生成绩管理系统.docx_第17页
第17页 / 共39页
java学生成绩管理系统.docx_第18页
第18页 / 共39页
java学生成绩管理系统.docx_第19页
第19页 / 共39页
java学生成绩管理系统.docx_第20页
第20页 / 共39页
亲,该文档总共39页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

java学生成绩管理系统.docx

《java学生成绩管理系统.docx》由会员分享,可在线阅读,更多相关《java学生成绩管理系统.docx(39页珍藏版)》请在冰点文库上搜索。

java学生成绩管理系统.docx

java学生成绩管理系统

 

一、设计目的

〔1〕具有新用户注册功能。

〔2〕具有注册用户登录功能。

〔3〕具有学生成绩的录入功能,要求只录入各科成绩,自动计算每个学生的总绩。

〔4〕具有数据查询功能,可以实现查询全部信息和按条件执行查询。

〔5〕具有按条件删除数据功能。

 

二、功能介绍

学生信息管理系统分为两个模块,教师端和学生端,

(1)教师端包括的子模块有:

教师注册,教师添加学生成绩,教师修改学生成绩,教师删除学生成绩,教师修改登录密码等主要功能。

(2)学生端:

本模块的功能较少,只有学生查询本人成绩,和修改学生登录密码的功能

 

三、程序流程

3.1总流程

四、设计步骤

4.1数据库设计

本次设计数据库使用SQLSever2005,一共四表,分别为学生信息表,教师信息表,还有学生成绩表,教师所教的课程表

4.1.1学生信息表

学生信息表包括学生,学号,登录密码,性别,年龄,还有一个没有关系的主键,如图

图4-1

4.1.2教师表

教师信息表包括教师,教师编号,教师登录密码和所教授的课程,和一个没有关系的主键,用来自动增长。

如图4-2。

图4-2

课程表为教师所教的课程,其中包括课程编号,课程名,课程学分等。

如图4-3

图4-3

成绩表是教师上成绩之后,所有成绩储存在成绩表中,其中包括课程,学分,学生编号,学期等。

如图4-4

图4-4

4.2功能描述

当程序运行的时候,会出现如图4-5的登录,然后根据提示进展选择操作,

输入账号和密码,选择登录的类型,登录界面还有注册新用户和修还密码等功能

图4-5登录

代码如下:

if(!

name.equals("")){

if(!

pwd.equals("")){

if(!

type.equals("选择类型")){

if(type.equals("学生")){

sql="Select*fromstudentwherenum='"+name+"'andpwd='"+pwd+"'";

}

if(type.equals("教师")){

sql="Select*fromteacherwherenum="

+name+"andpwd="+pwd;

}

try{

rs=db.Query(sql);

while(rs.next()){

name1=rs.getString("name");

num=rs.getString("num");

if(type.equals("教师")){

classes=rs.getString("classes");

}

}

}catch(SQLExceptione1){

e1.printStackTrace();

}

if(!

name1.equals("")){

if(type.equals("学生")){

Login.this.close();

try{

Displaydisplay=Display.getDefault();

studentshell=newstudent(display);

shell.open();

shell.layout();

while(!

shell.isDisposed()){

if(!

display.readAndDispatch()){

display.sleep();

}

}

}catch(Exceptione1){

e1.printStackTrace();

}

}

if(type.equals("教师")){

Login.this.close();

try{

Displaydisplay=Display.getDefault();

AddChengshell=newAddCheng(display);

shell.open();

shell.layout();

while(!

shell.isDisposed()){

if(!

display.readAndDispatch()){

display.sleep();

}

}

}catch(Exceptione1){

e1.printStackTrace();

}

}

}else{

MessageDialog.openError(getShell(),"提示",

"用户名密码错误");

}

}else{

MessageDialog.openWarning(getShell(),"提示",

"你还没选择登录类型");

}

}else{

MessageDialog.openWarning(getShell(),"提示",

"密码不能为空");

}

}else{

MessageDialog.openWarning(getShell(),"提示",

"用户名为空");

}

 

修改密码功能修改在此登录的用户,修改密码的用户必须输入原密码,和新密码才能进展密码的修改。

如图4-6修改密码

4-6修改密码

代码如下:

Stringsql="updateteachersetpwd='"+text_1.getText()+"'wherenum='"+Login.num+"'";

booleanb=MessageDialog.openQuestion(getShell(),"提示","是否修改密码");

if(b){

db.Update(sql);

MessageDialog.openWarning(getShell(),"提示","修改密码成功");

}

 

注册用户功能点击进入注册用户的功能后,进展相应的提示进展操作,填入对应的教师的信息后点击添加就可以成功的注册一个新的用户了,在进展相关的操作,如图4-7注册

图4-7注册新用户

代码如下:

if(!

text.getText().equals("")){

if(!

text_1.getText().equals("")){

if(!

text_2.getText().equals("")){

if(!

text_3.getText().equals("")){

Stringsql="insertintoteachervalues('"+text.getText()+"','"+text_2.getText()+"','"+text_1.getText()+"','"+text_3.getText()+"')";

booleanb=MessageDialog.openQuestion(getShell(),"提示","是否注册");

if(b){

db.Update(sql);

MessageDialog.openWarning(getShell(),"提示","注册成功");

}

}

}

}

}

4.2.2教师端

登录类型选择教师,进入教师端,此处含有增加,删除,修改和教师修还密码等功能,每一步都有相应的校验。

选择功能进展操作。

增加学生成绩功能进入之后会有提示,输入学号,成绩,学年等信息,点击确定完成添加学生成绩的操作。

如图4-8教师端

图4-8教师端

代码如下:

if(!

num.equals("")){

if(!

fenshu.equals("")){

if(!

xueqi.equals("")){

Stringsql="insertinto分数values('"+kemu+"','"+fenshu+"','"+num+"','"+xueqi+"')";

db.Update(sql);

num="";

fenshu="";

fenye();

MessageDialog.openWarning(getShell(),"提示","添加成功");

}else{

MessageDialog.openError(getShell(),"提示","学期不能为空");

}

}else{

MessageDialog.openError(getShell(),"提示","分数不能为空");

}

}else{

MessageDialog.openError(getShell(),"提示","学号不能为空");

}

选择某个人后点击鼠标右键,会出现修改和删除功能。

如图4-9鼠标右键功能

 

图4-9鼠标右键功能

修改学生成绩选择某个人之后,右键选择修改功能,就会出现如图4-10的界面,修改学号和成绩后点击确定,即可修改学生成绩

 

图4-10修改学生成绩

代码如下:

Stringsql="updateteachersetpwd='"+text_1.getText()+"'wherenum='"+Login.num+"'";

booleanb=MessageDialog.openQuestion(getShell(),"提示","是否修改密码");

if(b){

db.Update(sql);

MessageDialog.openWarning(getShell(),"提示","修改密码成功");

}

删除学生成绩右键选择删除学生成绩功能,会出现如图4-11的询问框,选择确认,删除此学生的成绩,点击否即为取消删除

图4-11删除学生信息

代码如下:

Stringsql="deletefrom成绩wherenum='"+text_1.getText()

booleantag=MessageDialog.openQuestion(getShell(),"提示","是否删");

if(tag){

db.Update(sql);

MessageDialog.openWarning(getShell(),"提示","删除成功");

}

学生端查询学生信息的功能,该功能含有按学年查询,按科目和查询全部等功能,选择功能进展操作,如图4-12

图4-12学生查询

代码如下:

Stringsql="Select*fromstudentwherenum='"+name+"'andpwd='"+pwd+"'";

rs=db.Query(sql);

try{

while(rs.next()){

TableItemtableItem=newTableItem(table,SWT.NONE);

tableItem.setText(0,""+rs.getString("1"));

tableItem.setText(1,""+rs.getString("2"));

tableItem.setText(2,""+rs.getString("3"));

tableItem.setText(3,""+rs.getString("4"));

tableItem.setText(4,""+rs.getString("5"));

tableItem.setText(4,""+rs.getString("6"));

}

}catch(SQLExceptione){

e.printStackTrace();

}

五、设计总结

通过几天的课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。

在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次真真的做程序设计,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对一些前面学过的知识理解得不够深刻,掌握得不够结实,比如说结构体,通过这次课程设计之后,我们把前面所学过的知识又重新温故了一遍。

六、程序清单

packageStudent;

importjava.sql.ResultSet;

publicclassAddChengextendsShell{

privateTexttext_1;

privateTexttext_2;

privateTabletable;

privateTexttext;

publicintstart=0;

publicintpage=1;

publicintrow_number=0;

publicintmaxPage=0;

publicintpageSize=5;

Stringxueqi;

Stringkemu;

bobo;

DBHelperdb=newDBHelper();

ResultSetrs;

Stringnum;

Labellabel_4;

/**

*Launchtheapplication.

*paramargs

*/

publicstaticvoidmain(Stringargs[]){

try{

Displaydisplay=Display.getDefault();

AddChengshell=newAddCheng(display);

shell.open();

shell.layout();

while(!

shell.isDisposed()){

if(!

display.readAndDispatch()){

display.sleep();

}

}

}catch(Exceptione){

e.printStackTrace();

}

}

/**

*Createtheshell.

*paramdisplay

*/

publicAddCheng(Displaydisplay){

super(display,SWT.SHELL_TRIM);

Labellabel_8=newLabel(this,SWT.BORDER);

label_8.setBounds(223,5,94,17);

label_8.setText(Login.name1);

Labellabel_10=newLabel(this,SWT.NONE);

label_10.setBounds(352,294,61,17);

label_10.setText("\u9875");

label_4=newLabel(this,SWT.NONE);

label_4.setBounds(325,294,21,17);

Labellabel=newLabel(this,SWT.NONE);

label.setBounds(21,39,35,17);

label.setText("\u79D1\u76EE");

Labellabel_1=newLabel(this,SWT.NONE);

label_1.setBounds(146,39,30,17);

label_1.setText("\u5B66\u53F7");

text=newText(this,SWT.BORDER|SWT.READ_ONLY);

text.setBounds(60,39,80,23);

text.setText(Login.classes);

text_1=newText(this,SWT.BORDER);

text_1.setBounds(182,39,94,23);

Labellabel_2=newLabel(this,SWT.NONE);

label_2.setBounds(282,39,35,17);

label_2.setText("\u6210\u7EE9");

text_2=newText(this,SWT.BORDER);

text_2.setBounds(325,39,94,23);

 

bo=newbo(this,SWT.NONE);

bo.setItems(newString[]{"2011-2012-1","2011-2012-2","2012-2013-1","2012-2013-2"});

bo.setBounds(466,39,100,25);

bo.select

(1);

kemu=text.getText();

xueqi=bo.getText();

Buttonbutton=newButton(this,SWT.NONE);

button.addSelectionListener(newSelectionAdapter(){

Override

publicvoidwidgetSelected(SelectionEvente){

Stringnum=text_1.getText();

Stringfenshu=text_2.getText();

if(!

num.equals("")){

if(!

fenshu.equals("")){

if(!

xueqi.equals("")){

Stringsql="insertinto分数values('"+kemu+"','"+fenshu+"','"+num+"','"+xueqi+"')";

db.Update(sql);

num="";

fenshu="";

fenye();

MessageDialog.openWarning(getShell(),"提示","添加成功");

}else{

MessageDialog.openError(getShell(),"提示","学期不能为空");

}

}else{

MessageDialog.openError(getShell(),"提示","分数不能为空");

}

}else{

MessageDialog.openError(getShell(),"提示","学号不能为空");

}

}

});

button.setBounds(572,39,80,27);

button.setText("\u6DFB\u52A0");

table=newTable(this,SWT.BORDER|SWT.FULL_SELECTION);

table.addSelectionListener(newSelectionAdapter(){

Override

publicvoidwidgetSelected(SelectionEvente){

TableItem[]it=table.getSelection();

TableItemi=it[0];

num=i.getText(0);

}

});

table.setBounds(61,82,571,193);

table.setHeaderVisible(true);

table.setLinesVisible(true);

TableColumntblclmnNewColumn_1=newTableColumn(table,SWT.NONE);

tblclmnNewColumn_1.setWidth(109);

tblclmnNewColumn_1.setText("\u7F16\u53F7");

TableColumntableColumn=newTableColumn(table,SWT.NONE);

tableColumn.setWidth(112);

tableColumn.setText("\u5B66\u53F7");

Menumenu=newMenu(table);

table.setMenu(menu);

MenuItemmenuItem=newMenuItem(menu,SWT.NONE);

menuItem.setText("\u4FEE\u6539");

MenuItemmenuItem_1=newMenuItem(menu,SWT.NONE);

menuItem_1.addSelectionListener(newSelectionAdapter(){

Override

publicvoidwidgetSelected(SelectionEvente){

booleantag=MessageDialog.openQuestion(getShell(),"提示","是否删除");

if(tag){

}

}

});

menuItem_1.setText("\u5220\u9664");

TableColumntblclmnNewColumn=newTableColumn(table,SWT.NONE);

tblclmnNewColumn.setWidth(108);

tblclmnNewColumn.setText("\u79D1\u76EE");

TableColumntableColumn_1=newTableColumn(table,SWT.NONE);

tableColumn_1.setWidth(112);

tableColumn_1.setText("\u6210\u7EE9");

TableColumntableColumn_2=newTableColumn(table,SWT.NONE);

tableColumn_2.setWidth(118);

tableColumn_2.setText("\u5B66\u5E74");

Stringsql="select*from分数wherekemu='"+kemu+"'andxueqi='"+xueqi+"'";

rs=db.Query(sql);

try{

while(rs.next()){

row_number++;

}

}catch(SQLExceptione){

e.printStackTrace();

}

if(row_number%pageSize==0){

maxPage=row_number/pageSize;

}else{

maxPage=row_number/pageSize+1;

}

Buttonbutton_1=newButton(this,SWT.NONE);

button_1.addSelectionListener(newSelectionAdapter(){

Override

publicvoidwidgetSelected(SelectionEvente){

if(page-1!

=0){

page--;

fenye();

}else{

MessageDialog.openError(getShell(),"提示","已经是第一页");

}

}

});

button

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2