Java学生成绩管理系统实验报告.docx
- 文档编号:9301762
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:36
- 大小:88.78KB
Java学生成绩管理系统实验报告.docx
《Java学生成绩管理系统实验报告.docx》由会员分享,可在线阅读,更多相关《Java学生成绩管理系统实验报告.docx(36页珍藏版)》请在冰豆网上搜索。
Java学生成绩管理系统实验报告
实验名称
学生成绩管理系统
指导教师
实验类型
□验证
√综合
实验学时
8+10
实验日期
实验时间
实验编号
1
分组号
1
实验地点
6A-413
一、实验目的和要求
(1)掌握java的基本数据类型;掌握数组的定义和使用;
(2)掌握java语言中的控制结构的使用;
(3)掌握java语言中的类的定义与使用;
(4)掌握java语言中继承、多态、接口、抽象类、异常处理等;
(5)掌握图形用户界面设计技术;熟练掌握组件、布局管理器、容器等的使用;掌握菜单技术的使用、掌握java语言中的事件处理。
(6)掌握java语言中的各种文件操作,及以字符为单位、以字节为单位的数据流操作和随机文件的操作;掌握对象的串行化。
二、实验环境(实验设备)
硬件:
微型计算机P4
软件:
WindowsXP+JCreator3.5及以上或NetBeans
三、实验原理及内容
实验题目:
学生成绩管理软件设计
内容:
学生成绩管理主要包括如下内容:
1)学生档案管理学生档案信息包括学号、姓名、性别、年级、专业、政治面貌
2)课程管理课程信息包括课程编号、课程名称、学时、学分、课程性质、开课学期
3)成绩管理成绩信息包括学号、课程编号、成绩
请根据以上要求编写程序,以图形用户界面菜单形式实现各功能。
使用的菜单有:
数据录入:
包含学生档案、学生成绩、课程信息三个菜单项
修改:
包括对学生成绩、档案、课程等信息的修改
查询:
包括对学生成绩、档案、课程信息的查询。
统计:
包括年级人数、某专业人数、修某课程人数、某学生通过的学分数等功能。
显示:
也即打印功能,主要是报表打印,包括学生档案表、成绩表、课程表等。
退出:
结束管理系统
要求:
1)建立的数据库应该包含三张表、档案表、课程表和成绩表,各表中的字段自行定义。
2)数据录入应针对三张表各自设计一个界面进行数据的录入,并提供必要的按钮进行保存、重置和退出录入等。
3)数据修改应针对三张表中已经录入的数据进行部分或全部进行修改,可以按指定的某学生或课程进行学生档案或成绩或课程信息修改
4)查询:
应提花多种选择,对多表进行查询,如查看学生成绩信息,可以考虑输出的内容为:
学号、姓名、课程名称、成绩。
5)统计:
尽可能地提供各种统计功能。
6)显示功能中,尽可能使用表格组件或Jlist组件或其他组件展现出要显示的内容
以上内容大家可发挥自己的设计理念,尽量做到简便易用、界面美观等。
要求:
1)数据库必须使用SQL或oracle;2)集中指导8学时;课后学时10学时。
实验解答:
1)写出数据库名称,及其中的表名称,画出各表的结构,要求给出字段名、类型和大小。
本程序用的数据库为MicrosoftAccess
数据库名称:
starr
表:
grade、class、document
Class
2)设计中使用了几个类,各自的功能是什么?
画出各类之间的UML图。
3)画出菜单结构图
4)分别给出录入学生档案、学生成绩、课程信息的类的源代码。
if(e.getSource()==button){
try{
Class.forName(driverClass);
con=DriverManager.getConnection(url);
}
catch(ClassNotFoundExceptionee){
exception1.setText("连接失败");
}
catch(SQLExceptionee){
exception2.setText("数据库连接失败");
}
try{
sst=con.createStatement();
sst.executeUpdate("insertintodocumentvalues('"+str1+"','"+str2+"','"+str3+"','"+str4+"','"+str5+"','"+str6+"')");
sst.close();
}
catch(SQLExceptionex){
}
number.setText(null);
name.setText(null);
sex.setText(null);
grade.setText(null);
knowhow.setText(null);
face.setText(null);
}
}
}
录入学生成绩源代码:
if(e.getSource()==button){
try{
Class.forName(driverClass);
con=DriverManager.getConnection(url);
}
catch(ClassNotFoundExceptionee){
exception1.setText("连接失败");
}
catch(SQLExceptionee){
exception2.setText("数据库连接失败");
}
try{
sst=con.createStatement();
sst.executeUpdate("insertintogradevalues('"+str1+"','"+str2+"','"+str3+"','"+in1+"','"+in2+"','"+in3+"','"+in4+"',
'"+in5+"','"+in6+"','"+in7+"','"+in8+"')");
sst.close();
}
catch(SQLExceptionex){
}
stunumber.setText(null);
name.setText(null);
学期.setText(null);
wuligrade.setText(null);
javagrade.setText(null);
framegrade.setText(null);
englishgrade.setText(null);
speedgrade.setText(null);
physicalgrade.setText(null);
inforgrade.setText(null);
calculategrade.setText(null);
}
}
}
录入课程源代码:
if(e.getSource()==button){
try{
Class.forName(driverClass);
con=DriverManager.getConnection(url);
}
catch(ClassNotFoundExceptionee){
exception1.setText("连接失败");
}
catch(SQLExceptionee){
exception2.setText("数据库连接失败");
}
try{
sst=con.createStatement();
sst.executeUpdate("insertintoclassvalues('"+str1+"','"+str2+"','"+in+"'
'"+in1+"','"+str3+"','"+str4+"')");
sst.close();
}
catch(SQLExceptionex){
}
ClassNumber.setText(null);
ClassName.setText(null);
ClassTime.setText(null);
SubjectQulity.setText(null);
SubjectScore.setText(null);
SubjectOpenTime.setText(null);
}
}
}
5)给出菜单“修改”下的各菜单项的类实现的源代码
publicvoidactionPerformed(ActionEvente){
if(e.getSource()==button1){
text1.setEditable(true);
exception1.setText(null);
exception2.setText(null);
}
if(e.getSource()==button11){
intk=0;
try{
Class.forName(driverClass);
con=DriverManager.getConnection(url);
}
catch(ClassNotFoundExceptionee){
exception1.setText("连接失败");
}
catch(SQLExceptionee){
exception2.setText("数据库连接失败");
}
try{
sst=con.createStatement();
k=sst.executeUpdate("updatedocumentsetname='"+text1.getText()+"'
wherenumber='"+text.getText()+"'");
sst.close();
}
catch(SQLExceptionex){
exception2.setText("数据库连接失败");
}
if(k>0){
exception1.setText("修改成功");
}
else{
exception2.setText("修改失败");
}
}
if(e.getSource()==button2){
text2.setEditable(true);
exception1.setText(null);
exception2.setText(null);
}
if(e.getSource()==button12){
intk=0;
try{
Class.forName(driverClass);
}
catch(ClassNotFoundExceptionee){
exception1.setText("连接失败");
}
try{
con=DriverManager.getConnection(url);
sst=con.createStatement();
k=sst.executeUpdate("updatedocumentsetsex='"+text2.getText()+"'
wherenumber='"+text.getText()+"'");
sst.close();
}
catch(SQLExceptionex){
exception2.setText("数据库连接失败");
}
if(k>0){
exception1.setText("修改成功");
}
else{
exception2.setText("修改失败");
}
}
if(e.getSource()==button3){
text3.setEditable(true);
exception1.setText(null);
exception2.setText(null);
}
if(e.getSource()==button13){
intk=0;
try{
Class.forName(driverClass);
}
catch(ClassNotFoundExceptionee){
exception1.setText("连接失败");
}
try{
con=DriverManager.getConnection(url);
sst=con.createStatement();
k=sst.executeUpdate("updatedocumentsetgrade='"+text3.getText()+"'
wherenumber='"+text.getText()+"'");
sst.close();
}
catch(SQLExceptionex){
exception2.setText("数据库连接失败");
}
if(k>0){
exception1.setText("修改成功");
}
else{
exception2.setText("修改失败");
}
}
if(e.getSource()==button4){
text4.setEditable(true);
exception1.setText(null);
exception2.setText(null);
}
if(e.getSource()==button14){
intk=0;
try{
Class.forName(driverClass);
}
catch(ClassNotFoundExceptionee){
exception1.setText("连接失败");
}
try{
con=DriverManager.getConnection(url);
sst=con.createStatement();
k=sst.executeUpdate("updatedocumentsetthcology='"+text4.getText()+"'
wherenumber='"+text.getText()+"'");
sst.close();
}
catch(SQLExceptionex){
exception2.setText("数据库连接失败");
}
if(k>0){
exception1.setText("修改成功");
}
else{
exception2.setText("修改失败");
}
}
if(e.getSource()==button5){
text5.setEditable(true);
exception1.setText(null);
exception2.setText(null);
}
if(e.getSource()==button15){
intk=0;
try{
Class.forName(driverClass);
}
catch(ClassNotFoundExceptionee){
exception1.setText("连接失败");
}
try{
con=DriverManager.getConnection(url);
sst=con.createStatement();
k=sst.executeUpdate("updatedocumentsetface='"+text5.getText()+"'
wherenumber='"+text.getText()+"'");
sst.close();
}
catch(SQLExceptionex){
exception2.setText("数据库连接失败");
}
if(k>0){
exception1.setText("修改成功");
}
else{
exception2.setText("修改失败");
}
}
}
}
修改成绩源代码:
publicvoidactionPerformed(ActionEvente){
if(e.getSource()==button1){
text1.setEditable(true);
exception1.setText(null);
exception2.setText(null);
}
if(e.getSource()==button11){
intk=0;
try{
Class.forName(driverClass);
con=DriverManager.getConnection(url);
}
catch(ClassNotFoundExceptionee){
exception1.setText("连接失败");
}
catch(SQLExceptionee){
exception2.setText("数据库连接失败");
}
try{
sst=con.createStatement();
k=sst.executeUpdate("updategradesetname='"+text1.getText()+"'
wherenumber='"+text.getText()+"'");
sst.close();
}
catch(SQLExceptionex){
}
if(k>0){
exception1.setText("修改成功");
}
else{
exception2.setText("修改失败");
}
}
if(e.getSource()==button2){
text2.setEditable(true);
exception1.setText(null);
exception2.setText(null);
}
if(e.getSource()==button12){
intk=0;
try{
Class.forName(driverClass);
}
catch(ClassNotFoundExceptionee){
exception1.setText("连接失败");
}
try{
con=DriverManager.getConnection(url);
sst=con.createStatement();
k=sst.executeUpdate("updategradesetopentime='"+text2.getText()+"'
wherenumber='"+text.getText()+"'");
sst.close();
}
catch(SQLExceptionex){
}
if(k>0){
exception1.setText("修改成功");
}
else{
exception2.setText("修改失败");
}
}
if(e.getSource()==button3){
text3.setEditable(true);
exception1.setText(null);
exception2.setText(null);
}
if(e.getSource()==button13){
intk=0;
try{
Class.forName(driverClass);
}
catch(ClassNotFoundExceptionee){
exception1.setText("连接失败");
}
try{
con=DriverManager.getConnection(url);
sst=con.createStatement();
k=sst.executeUpdate("updategradesetwuligrade='"+text3.getText()+"'
wherenumber='"+text.getText()+"'");
sst.close();
}
catch(SQLExceptionex){
}
if(k>0){
exception1.setText("修改成功");
}
else{
exception2.setText("修改失败");
}
}
if(e.getSource()==button4){
text4.setEditable(true);
exception1.setText(null);
exception2.setText(null);
}
if(e.getSource()==button14){
intk=0;
try{
Class.forName(driverClass);
}
catch(ClassNotFoundExceptionee){
exception1.setText("连接失败");
}
try{
con=DriverManager.getConnection(url);
sst=con.createStatement();
k=sst.executeUpdate("updategradesetjavagrade='"+text4.getText()+"'
wherenumber='"+text.getText()+"'");
sst.close();
}
catch(SQLExceptionex){
}
if(k>0){
exception1.setText("修改成功");
}
else{
exception2.setText("修改失败");
}
}
if(e.getSource()==button5){
text5.setEditable(true);
exception1.setText(null);
exception2.setText(null);
}
if(e.getSource()==button15){
intk=0;
try{
Class.forName(driverClass);
}
catch(ClassNotFoundExceptionee){
exception1.setText("连接失败");
}
try{
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 学生 成绩管理系统 实验 报告