Java课程设计学生成绩管理系统_第1页
Java课程设计学生成绩管理系统_第2页
Java课程设计学生成绩管理系统_第3页
Java课程设计学生成绩管理系统_第4页
Java课程设计学生成绩管理系统_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1、需求分析1)功能要求:a.从图形用户界面中输入学生姓名、学号、成绩(4个科目),并保存到文件中(注意学号唯一性);b.根据学生学号查找学生成绩,并在界面上显示姓名、学号和成绩,学号不存在的给出提示信息;c.根据学生姓名(支持不完全匹配)查找学生成绩,并在界面上显示姓名、学号和成绩,如果有多个相同姓名学生存在,一起显示出来,姓名不存在的给出提示信息;d.支持分别对所有学生各科成绩画出柱状分布图(参考书本相关程序);e.支持对学生信息的修改与删除(要反映的文件中);f.支持用户登录、验证操作;g.界面要示:用图形界面实现。2)具体功能的详尽描述如下:2.1.选择【学生登陆】菜单命令,即可进入学

2、生账号登陆界面,输入相应正确的账号密码即可进行查看成绩或是修改密码。2.2.选择【管理员登陆】菜单命令,即可进入管理员登陆界面(本程序假定只有一个管理员,账号与密码在编写程序的时候已给定,不能修改)根据录入学生成绩、根据姓名或是学号查找学生信息、删除学生记录、修改学生成绩、并可查看整体成绩的分布柱状图。2、总体设计(概要设计)1)概要结构分析 2)设计思路如上图。3、主要功能与代码分析1)主要功能该学生成绩管理系统具备两方面的功能:一方面是学生用户,学生通过输入学号和密码进下该系统后,可以进行成绩查询,修改密码等操作;一方面管理员进入该系统则比学生多一些权限:成绩输入、成绩查询、成绩修改、各科

3、成绩分布情况、查看学生信息、删除学生信息等。2)代码分析(自己负责的部分)负责的部分:管理员登录、学生用户登录及学生用户的功能实现,如查看成绩、修改密码。/*/管理员登陆验证 privatevoid jbutton22actionperformed(java.awt.event.actionevent evt) /获取输入信息 string id = jtextfield11.gettext(); string key = jpasswordfield1.gettext(); /账号输入错误标记 boolean boolid = true; /创建管理员对象 manager m = new m

4、anager(); /验证信息 if (id.equals(m.getid() boolid = false; if (key.equals(m.getpassword() /登陆成功,显示管理员功能界面 jframe2.setvisible(false); jframe1.setsize(450, 350); jtextfield11.settext(); jpasswordfield1.settext(); jframe1.setvisible(true); jlabel59.settext(m.getid(); else /密码错误,显示密码错误对话框 passworderror.set

5、size(400, 200); passworderror.setvisible(true); jpasswordfield1.settext(); if (boolid) /账号错误,显示账号错误对话框 jtextfield11.settext(); jpasswordfield1.settext(); iderror.setsize(400, 200); iderror.setvisible(true); /*/学生登陆验证 private void jbutton28actionperformed(java.awt.event.actionevent evt) /获取输入的学生验证信息

6、string id = jtextfield13.gettext(); string key = jpasswordfield2.gettext(); /账号输入错误标记 boolean boolid = true; /读取excel文件信息 jxl.workbook readwb = null; try /构建workbook对象, 只读workbook对象 /直接从本地文件创建workbook inputstrea minstream = new fileinputstream(d:/contacteditor/studentlist.xls); readwb = workbook.get

7、workbook(instream); /sheet的下标是从0开始 /获取第一张sheet表 sheet readsheet = readwb.getsheet(0); /获取sheet表中所包含的总行数 int rsrows = readsheet.getrows(); /获取指定单元格的对象引用 for (int i = 0; i rsrows; i+) student stu = new student(); cell cell0 = readsheet.getcell(1, i); stu.setid(cell0.getcontents(); cell cell1 = readshe

8、et.getcell(0, i); stu.setpassword(cell1.getcontents(); /验证信息 if (stu.getid().equals(id) boolid = false; if (stu.getpassword().equals(key) /登陆成功,显示学生功能界面 studentui1.setvisible(false); studentui2.setsize(400, 400); studentui2.setvisible(true); jtextfield13.settext(); jpasswordfield2.settext(); cell ce

9、ll2 = readsheet.getcell(2, i); stu.setname(cell2.getcontents(); jlabel56.settext(stu.getid(); jlabel57.settext(stu.getname(); else /密码错误,显示密码错误提示对话框 jtextfield13.settext(); jpasswordfield2.settext(); passworderror.setsize(400, 200); passworderror.setvisible(true); jpasswordfield2.settext(); /this.se

10、tvisible(true); if (boolid) /账号错误,显示密码错误提示对话框 iderror.setsize(400, 200); iderror.setvisible(true); /this.setvisible(true); catch (exception e) finally readwb.close(); /*/学生用户查看成绩 private void jbutton30actionperformed(java.awt.event.actionevent evt) /查看成绩界面 studentui2.setvisible(false); gradelist.set

11、size(500, 400); gradelist.setvisible(true); /定位学生在excel文件中的位置 string id = jtextfield13.gettext(); string key = jpasswordfield2.gettext(); jxl.workbook readwb = null; try /构建workbook对象, 只读workbook对象 /直接从本地文件创建workbook inputstream instream = new fileinputstream(d:/contacteditor/studentlist.xls); readw

12、b = workbook.getworkbook(instream); /sheet的下标是从0开始 /获取第一张sheet表 sheet readsheet = readwb.getsheet(0); /获取sheet表中所包含的总行数 int rsrows = readsheet.getrows(); /获取指定单元格的对象引用 for (int i = 0; i rsrows; i+) student stu = new student(); cell cell0 = readsheet.getcell(1, i); stu.setid(cell0.getcontents(); cell

13、 cell1 = readsheet.getcell(0, i); stu.setpassword(cell1.getcontents(); if (stu.getid().equals(id) if (stu.getpassword().equals(key) /定位成功 cell cell2 = readsheet.getcell(2, i); cell g1 = readsheet.getcell(7, i); cell g2 = readsheet.getcell(8, i); cell g3 = readsheet.getcell(9, i); cell g4 = readsheet

14、.getcell(10, i); stu.setname(cell2.getcontents(); /显示学生成绩 jlabel54.settext(stu.getid(); jlabel55.settext(stu.getname(); jlabel50.settext(g1.getcontents(); jlabel51.settext(g2.getcontents(); jlabel52.settext(g3.getcontents(); jlabel53.settext(g4.getcontents(); catch (exception e) finally readwb.close

15、(); /*/修改密码界面显示 private void jbutton31actionperformed(java.awt.event.actionevent evt) studentui2.setvisible(false); modifypassword.setsize(450, 250); modifypassword.setvisible(true); /-/学生用户修改密码 private void jbutton35actionperformed(java.awt.event.actionevent evt) /获取输入的密码信息 string key = jpasswordfi

16、eld3.gettext(); string newkey = jpasswordfield4.gettext(); string confirmkey = jpasswordfield5.gettext(); /定位学生位置 int current = 0; /定位成功的当前位置 jxl.workbook readwb = null; try inputstream instream = new fileinputstream(d:/contacteditor/studentlist.xls); readwb = workbook.getworkbook(instream); sheet r

17、eadsheet = readwb.getsheet(0); int rscolumns = readsheet.getcolumns(); int rsrows = readsheet.getrows(); for (int i = 0; i rsrows; i+) student stu = new student(); cell cell = readsheet.getcell(0, i); stu.setpassword(cell.getcontents(); /验证信息 if (stu.getpassword().equals(key) current = i; /验证两次密码是否一

18、致 if (confirmkey.equals(newkey) /验证通过 /创建新的excel可写文件 /创建excel工作簿 jxl.write.writableworkbook wwb = workbook.createworkbook(new file(d:/contacteditor/studentlist.xls), readwb); /创建excel工作表 jxl.write.writablesheet ws = wwb.createsheet(test sheet 1, 0); /添加label对象 jxl.write.label b = new jxl.write.label

19、(-1, 0, ); /写入原有信息 for (int k = 0; k rsrows; k+) for (int j = 0; j rscolumns; j+) cell c = readsheet.getcell(j, k); string a = c.getcontents(); b = new jxl.write.label(j, k, a); ws.addcell(b); /写入新密码 b = new jxl.write.label(0, current, newkey); ws.addcell(b); /显示密码修改成功提示对话框 jdialog15.setsize(400, 20

20、0); jdialog15.setvisible(true); jpasswordfield3.settext(); jpasswordfield4.settext(); jpasswordfield5.settext(); wwb.write(); wwb.close(); else /显示两次密码输入不一致提示对话框 jdialog12.setsize(400, 200); jdialog12.setvisible(true); jpasswordfield4.settext(); jpasswordfield5.settext(); break; catch (exception e)

21、finally readwb.close(); /*/管理员类public class manager private final string id = manager; /账号 private final string password = manager; /密码 public manager() public string getid() return id; public string getpassword() return password; /*/学生类public class student private string id; /账号 private string pass

22、word; /密码 private string name; /姓名 private char sex; /性别 private string sclass; /班级 private string major; /专业 private string department;/院系 public string getid() return id; public void setid(string id) id = id; public string getpassword() return password; public void setpassword(string password) this.password = password; public string getn

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论