学生成绩管理系统综合实验报告

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

《Java高级编程》课程报告学生成绩管理系统小组成员及分工姓名角色负责功能组长设计与编码测试王纲伟是是是增加学生、删改查学生、存取数据彭坤否是是登录用户、修改密码张建锐否是是删除学生、查找学生、修改学生一、实验环境操作系统:Windows7编程环境:Eclipse二、实验内容与完成情况1.登录用户(1)登录用户:有3种不同的方式登录,管理员登录、教师登录和学生。每个用户都有自己的账号和密码,通过输入账号和密码来登录,输入账号和密码后会检查是否合理,即账号只能由数学组成,密码只能数字和字母组成,否则会提示错误登录不成功;然后再查找数据库,如果找到匹配的账号和密码,就登录成功,否则登录不成功。登录成功后会添加相应的功能,管理员可以增删改查学生,教师可以修改和查找学生,学生只能查找学生。(2)流程图:是否否是否是(3)代码:Strings1=textField.getText();Strings2=passwordField.getText();StudentDaodao=newStudentDao();booleanresult=false;if(radioButton.isSelected()==true){//管理员登录result=dao.seachadministrators(s1,s2);if(result){//登录成功menuEdit.removeAll();menuEdit.add(AddItem);menuEdit.add(SDEItem);弹出提示:账号或密码错误查找管理员数据库查找学生数据库输入账号和密码登录方式是否为管理员?登录方式是否为教师?查找教师数据库是否找到匹配的账号和密码?登录成功登录失败}}elseif(radioButton_1.isSelected()==true){//教师登录result=dao.seachteacher(s1,s2);if(result){//登录成功menuEdit.removeAll();SDEItem.setText(改查学生);menuEdit.add(SDEItem);}}elseif(radioButton_2.isSelected()==true){//学生登录result=dao.seachstudent(s1,s2);if(result){//登录成功menuEdit.removeAll();SDEItem.setText(查找学生);menuEdit.add(SDEItem);}}2.增加学生(1)增加学生:输入学生姓名、学号、性别、班别、成绩等信息,判断输入的信息是否为空,如果为空提示错误(如姓名为空,就提示姓名不能为空,其他的一样),增加学生失败。如果不为空判断学号和成绩是否合理,如果不合理就提示错误(如学号中含有字母和其他不是数字的字符,就提示学号只能由数字组成)。如果合理,则把学生信息封装成学生对象,再通过学生对象把学生信息添加到学生数据库里。(2)流程图是否是(3)代码将学生对象里的信息储存到学生数据库提示错误,增加学生失败输入学生姓名、学号等信息姓名、学号等信息是否为空?姓名、学号等信息是否合理?将学生信息封装到学生对象增加学生成功提示错误,增加学生失败3.修改学生(1)修改学生:输入学号,查找数据库,如果存在该学号的学生,就输出该学生的姓名、学号、性别、班别与成绩等信息,并可以进行修改,保存修改时会判断你修改的信息是否为空,是否合理(如学号不能修改,成绩只能0~100的正整数),是的话就修改成功,否的话就修改不成功,并会弹出提示。(2)流程图否是是否否是修改成功输入学号数据库里否找到该学号?输出该学生的姓名、学号等信息修改该学生的信息学生信息是否为空?学生信息是否合理?提示:该学生不存在!提示:信息不能为空提示:不能修改学号,或成绩只能是0~100的正整数在数据库里找到该学生,并修改。(3)代码:4.删除学生(1)删除学生:输入学号,查找数据库,如果存在该学号的学生,就输出该学生的姓名、学号、性别、班别与成绩等信息,不存在就提示该学生不存在!然后确认是否删除该学生。(2)流程图否是删除成功在数据库里找到该学生,并删除。输入学号数据库里否找到该学号?输出该学生的姓名、学号等信息提示:该学生不存在!(3)代码5.查找学生(1)查找学生:输入学号,查找数据库,如果存在该学号的学生,就输出该学生的姓名、学号、性别、班别与成绩等信息,不存在就提示该学生不存在!(2)流程图否是(3)代码输入学号数据库里否找到该学号?输出该学生的姓名、学号等信息提示:该学生不存在!6.删改查学生(1)删改查学生:用户可以通过输入姓名、学号、班别和性别来查询学生成绩,如输入电子1班可以查询电子1班所有学生的信息(姓名、学号、班别、性别和各科成绩),并把这些学生信息显示在表格上,每一行显示一个学生的信息。用户可以修改表格的某一行,或删除表格的某一行,来实现修改学生和删除学生。(2)流程图(1)(1)或(2)输入查询条件(姓名、学号、性别和班别)查找数据库,找到符合查询条件的所有学生将学生的信息显示在表格上删除表格的某一行(即删除学生)。从数据库里删除该学生删除成功(2)否是否是(3)代码查找并显示在表格:修改成功修改表格的某一行(即学生信息)。提示:信息(姓名、性别、学号、班别和成绩)不能为空!学生信息是否为空?学生信息是否合理?提示:不能修改学号,或成绩只能是0~100的正整数在数据里找到该学生,并修改。修改:删除:7.修改密码(1)修改密码:输入一次旧密码,输入两次新密码,判断密码是否为空,为空就弹出提示信息“密码不能为空”,否则查找数据库,检查旧密码是否正确,不正确就弹出提示“旧密码错误!”,否则就判断新密码的组成,如果密码由数字和字母以外的字符组成,就弹出提示“密码只能由数字和字母组成!”,否则就将旧密码替换成新密码,保存到数据库里。(2)流程图否否否是否是输入一次旧密码,两次新密码。密码是否为空?两新密码是否一致?旧密码替换成新密码,并保存到数据库提示:密码不能为空提示:两次密码不一致旧密码是否正确?提示:旧密码错误!(3)代码8.存取数据(1)存取数据:先创建Document的对象document,然后通过document来访问xml文档,并对其进行增删改查操作,最后把document保存到xml文档里。(2)流程图(3)功能2代码把student.xml文档里所有学生及信息读取出来,保存到ListStudent.创建Document的对象documentdocument访问xml文档,并对其进行增删改查。document保存到xml文档删除学生修改学生增加学生查找学生保存学生密码保存管理员密码查找管理员密码保存教师密码查找老师密码三、功能测试增加学生:如果我不小心点击了两次增加学生的按扭,就出现两个一模一样的学生(如下图),解决方法:增加学生之前,先判断是否存在该学生,如果不存在,就增加;存在,就修改。修改学生:如果我修改了学生的班别(如电子2班,改为电子1班),就出现电子2班有该学生,电子1班也有(如下图),解决方法:在修改学生之前,先判断该学生的班别跟原来的班别是否一致,如果一致,就修改;不一致,就先把原来的学生删除,然后保存,最后增加该学生。表格的建立:本来想创建一个7列的表格,但实际创建了一个8列的表格(如下图(b),多出了一列)。原因:创建一行的时候,就已经创建了一列,目标的列数应该要比实际的列数少一列。解决方法:如下图(a),把i7改为i6。(a)((b)查找学生:如果我第一次查找学生的结果正确,第二次再查出现错误(如下图),原因是第一次查询的结果没有被清掉,导致下次查找时出现错误。解决方法:再每次查找学生之前,先把表格清理(即上一次查询的结果清理),然后进行查找学生。清一表格代码如下:出现错误图:登录用户:登录教师用户时,总是提示密码错误,但查看数据库时,发现密码并没有错误。原因:原来在读取教师账号密码时,创建了错误的Document对象,创建的是管理员账号密码文档的对象。解决方法:把Document的对象改为教师账号密码的对象。现象:原因:解决方法:将XmlUtils.getadministrators()改为XmlUtils.getteacher()。四、项目总结成员1(王纲伟):(1)增加学生:在保存学生成绩之前需要判断输入的成绩是否正确(成绩只能是0~100的正整数),因为我们输入的成绩是以字符串形式保存的,所以要先把字符串转换成浮点型。但这就遇到了一个问题,如果我不小心输入了一个错误的成绩,即成绩里含有非数字的字符组成时,在字符串转换成浮点型后就会出现错误。因此,要先判断成绩的组成,如果成绩里含有其他非数字的字符组成时,应该提示错误并不进行字符串转换成浮点型。否则就将字符串转换成浮点型,然后再对浮点型的数据进行判断,是否是0~100的正整数。(2)学生信息的显示:把数据库里所有学生信息都显示在表格上,要怎么做?①先从数据库里读取第一个学生信息,然后把读取出来的学生信息显示在表格上,再从数据库里读取第二个学生信息,然后显示在表格上,如此循环。如果数据库里有上万个学生的信息,就要读取上万次数据。所以不用这种方法。②先把数据库里读取所有学生信息并保存到ListStudent(学生列表)里,然后再用循环语句把ListStudent(学生列表)里所有学生信息显示在表格上。这种方法可用。成员2(彭坤):(1)登录用户:要怎么做才能实现3种不同登录方式(管理员、教师和学生),用3个按扭,分别是管理员登录、教师登录和学生登录,点击哪个登录按扭就登录相应用户;这方法比较简单但界面不好看不灵活。用3个单选按扭,分别是管理员、教师和学生,设置3个单选按扭的独立性(即只要有一个被选,另外两个就不能被选),哪个单选按扭被选中,点击登录时就登录相应的用户;这方法比上一种复杂,但直观并灵活。成员3(张建锐):(1)修改学生:在修改学生时,把学号也修改了,结果出现了一些错误。修改学生的学号时,如果我把当前学生的学号修改成了别的学生的学号,那就相当于修改了别的学生信息,而不是我想要改学生的信息,因为在保存修改学生信息时,是通过判断当前要修改学生的学号是否与数据库里学生的学号相等,如果相等就修改数据库该学生的信息。所以把学号修改了,就出现了问题,要修改的学生信息没有改,却修改了别的学生的信息。因此,学生的学号应该是唯一的,即学号不能被修改。否则提示错误。

1 / 31
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功