JAVA数据库学生成绩管理系统实验报告_第1页
JAVA数据库学生成绩管理系统实验报告_第2页
JAVA数据库学生成绩管理系统实验报告_第3页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

1、实训报告实训名称:学生成绩管理系统系部:专业班级:学生:学号:指导教师:完成H期:南京铁道职业技术学院二目录3-1实训概述3二2Java访问并处理数据库的课题描述3.2.1课题简介3云2.2模块简介32.3数据库结构设计4"系统功能层次图6.3系统模块的详细设计6-登录模块设计6管理员模块设计6-学生模块设计8-.4程序您行与测试95实训总结30订Java访问并处理数据库的设计与实现1实训概述南京铁道职业技术学院浦口校区2013级网络L1301班于大二上学期组织了为期一周的Java实训,本次实训的课题是“学生成绩管理系统”。通过综合实训,掌握运用Java语言基本知识和技能、JAVA的

2、基本语法与JDBC数据库技术的应用;进一步熟悉Oracle数据库的数据库管理数据库的创建、应用。表的创建、修改、删除,约束及关系等、数据的查询处理insert、updatedeleteselect语句等技术。2.1 2Java访问并处理数据库的课题描述课题简介经过分析,我们使用Java开发工具,利用其提供的各种面向对象的开发工具,Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级电脑、移动和互联网,同时拥有全球最大的开发者专业社群。使用的数据库是Oracle,Oracle数据库功能强大,学习起来也不难,然后,对初始原型系统进行需求迭代,

3、不断修正和改良,直到形成用户满意的可行系统。通过实训,我们掌握运用Java语言知识和技能,运用JAVA的基本语法与JDBC数据库技术的应用,完成对甲骨文数据库的数据库管理、例如表的设计表的创建、修改、删除,字段的默认值、约束及关系等、数据的查询处理insert、updatedeleteselect语句的应用等技术;并能结合数据库应用技术和jdbc进行小型数据库管理系统的开发。模块简介管理员模块功能需求:管理员身份登陆系统后,可以对学生信息进行添加、修改和查询等操作,对学生进行添加、修改和查询功能操作,还可以修改管理员的登录密码。学生模块功能需求:学生信息管理系统中需要在学生登录或验证身份后,可

4、以自行完成学生个人信息的查询,也可以进行修改和删除个人信息、修改学生密码等操作。数据库结构设计数据表设计定义每个表的数据类型以及字段限制,使数据库到达一定的完整性.每个表的物理设计如下:存用户的个人信息用户信息表主要是用来保存管理员用户的基本信息,包括管理员的ID和管理员的登录密码,只有符合这两个字段的格式要求,才能登录成功,结构表如下:表4-2管理员信息表字段名类型空值约束条件管理员IDnumber(10)notnull主键登录密码varchar2(10)notnull2. 表student保存学生基本信息,结构表如下:表4-5学生信息表字段名类型空值约束条件学号number(10)notn

5、ull主键varchar2(20)notnull隹别varchar2(3)年龄number(2)登录密码varchar2(10)notnull逻辑结构是独立丁任何一种数据模型的信息结构。逻辑结构的任务是把概念结构设计阶段设计好的基本E-R图转化为宜选用的DBMS所支持的数据模型相符合的逻辑结构,并对其进行优化。流程图层次设计图的格式如下所示:图1管理员对学生信息管理系统局部E-R图数据流图是结构化系统分析的主要工具,它表示了系统内部信息的流向,并表现系统的逻辑处理功能学生信息管理系统是一个典型的数据库开发应用程序,系统是和数据库相结合.,进入系统,有两个用户,分别是普通学生、和管理员。学生信息

6、管理系统3系统模块的详细设计本学生信息管理系统主要模块,即用户登录模块、用户操作模块。用户操作模块乂分为学生操作模块、管理员操作模块。下面将显示系统的主要功能模块。3.1登录模块设计学生信息管理系统前台登陆模块可以勾选管理员身份信息,代表以管理员身份进入。不勾选即为普通学生身份登录。3.2管理员模块设计学生信息管理系统前台登陆模块只有一个登陆窗口分为学生、管理员两个级别登陆,系统在后台程序有自动限制设置,可以自动识别登陆者的限制。其系统登陆模块算法如下:1判断是否勾选管理员身份;2输入用户名和密码;3判断用户名和密码是否匹配;1假设提示输入信息错误,则重新输入;2否则以管理员身份进入系统。添加

7、学生信息功能学生信息管理系统对学生信息的管理非常重要,其中对信息的录入是系统最为关键的地方,以往我们管理学生信息的时候都是手工操作,而随社会不断发展的今天电脑的应用已全部取带了手工操作的方法,利用电脑可以方便的录入各类信息,进行高效的管理.学生信息的录入就是利用电脑通过程序读入数据库,录入学生信息模块算法描述如下:2. ,录入学生信息管理界面;单击增加学生按钮,键入学生ID;当录入学号已经存在,提示该学生信息已存在,请重新输入;否则学生信息添加成功。查找学生信息功能学生信息管理系统对查询学生信息管理也很重要,方法和增添学生信息类似,也同样是利用电脑通过程序读入数据库,查询学生信息模块算法描述如

8、下:,点击查询学生;学生信息不存在时,提示没有该学生信息,重新输入;学生ID已经存在,提示该学生信息存在,显示学生信息;删除学生信息功能学生选课模块主要是给删除学生信息的功能,本功能主要由管理员进入数据库,然后学生管理系统,其删除学生信息模块算法描述如下:3. 管理员成功登陆;.点击删除学生;输入学生相关信息,如学生ID;如该学生不存在,则提示信息不存在,否则删除该学生。修改学生信息功能此信息修改模块主要是给学生和管理员建立信息库,方便管理员查询操作,信息修改模块算法描述如下:4. 管理员成功登陆;点击修改学生信息;.输入学生的编号;.编号为空,重新输入;输入不为数字,重新输入;输入正确,进入

9、修改页面进行相关修改。3.3学生模块设计查看学生个人信息功能学生信息管理系统方便了学生查看自己的学籍信息,如果学校由于疏忽输入了错误信息,自己可以查看并且及时通知学校管理员,及时修改,减少不必要的麻烦.此信息查询模块主要是方便学生查询操作,信息查询模块算法描述如下:1学生成功登陆;点击查询学生信息;.输入学生的编号;.编号为空,重新输入;输入不为数字,重新输入;6.输入正确,进入信息查询页面进行相关修改。1. 修改学生登录密码功能学生可以进入学生管理系统进行登录密码的修改学生成功登陆;单击修改密码;输入旧密码、新密码确认后,假设旧密码正确则修改成功,则提示重新输入旧密码;提交修改完成修改。4程

10、序运行与测试packagecom.briup.view;importjava.awt.*;importjava.awt.event.MouseAdapter;importjava.awt.event.MouseEvent;importjavax.swing.*;importcom.briup.bean.Admin;importcom.briup.bean.Student;importcom.briup.dao.AdminDao;登录窗口importcom.briup.dao.StudentDao;publicclassLoginFrameextendsJFrameprivateJCheckBo

11、xc;privateJButtonloginBtn,resetBtn;privateJTextFieldnameInput;privateJPasswordFieldpwdInput;privateAdminDaoadminDao=newAdminDao();privateStudentDaostudentDao=newStudentDao();publicLoginFrame()初始化窗口本身Dimensiond=Toolkit.getDefaultToolkit().getScreenSize();intwidth=d.width;intheight=d.height;设置坐标为400-4

12、00宽为300高为200setBounds(width/2-200,height/2-100,400,200);setTitle("登录界面");设置窗口为不可缩放setResizable(false);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);init();event();privatevoidevent()(为按钮添加事件处理resetBtn.addMouseListener(newMouseAdapter()(监听鼠标单击事件OverridepublicvoidmouseClicked(MouseEvente)(Sy

13、stem.exit(0););loginBtn.addMouseListener(newMouseAdapter()(OverridepublicvoidmouseClicked(MouseEvente)(获取用户输入的值Stringusername=nameInput.getText().trim();Stringpassword=pwdInput.getText().trim();判断是否勾选了管理员多项选择框if(c.isSelected()从管理员表中检测数据Admina=adminDao.findAdminByName(username);如果a不为null说明用户输入的管理员是存在

14、的if(a=null)/说明此管理员不存在JOptionPane.showMessageDialog(null,用户名或密码不正确","提示信息",JOptionPane.WARNING_MESSAGE);else管理员存在密码正确密码不正确if(a.getPassword().equals(password)后台保存的密码和用户从客户端输入的密码是一样的JOptionPane.showMessageDialog(null,登录成功","提示信息",JOptionPane.WARNING_MESSAGE);关闭当前的登录窗口Login

15、Frame.this.dispose();开启管理员界面newAdminFrame(a.getUsername().go();else(JOptionPane.showMessageDialog(null,用户名或密码不正确","提示信息",JOptionPane.WARNING_MESSAGE);else(从普通用户表中检测数据Students=studentDao.findStudentByStudentId(username);if(s=null)JOptionPane.showMessageDialog(null,用户名或密码不正确","

16、;提示信息",JOptionPane.WARNING_MESSAGE);elseif(s.getPassword().equals(password)JOptionPane.showMessageDialog(null,登录成功",提示信息”,JOptionPane.WARNING_MESSAGE);LoginFrame.this.dispose();newStudentFrame(s,null).go();elseJOptionPane.showMessageDialog(null,用户名或密码不正确","提示信息”,JOptionPane.WARNI

17、NG_MESSAGE););publicvoidinit()初始化窗口内部的组件Containercontainer=getContentPane();组件放到哪个位置由用户自己来制定container.setLayout(null);JLabeltitle=newJLabel("用户登录");title.setFont(newFont("梏体",0,32);title.setBounds(110,5,200,33);container.add(title);JLabelnameLabel=newJLabel(用户名:”);nameLabel.setBo

18、unds(70,55,60,30);container.add(nameLabel);nameInput=newJTextField();nameInput.setBounds(130,60,150,20);设置提示内容nameInput.setToolTipText(此处写登录用户名");container.add(nameInput);JLabelpwdLabel=newJLabel("密码:");pwdLabel.setBounds(70,80,60,30);container.add(pwdLabel);pwdInput=newJPasswordField

19、();pwdInput.setBounds(130,85,150,20);pwdInput.setToolTipText("此处写密码");container.add(pwdInput);c=newJCheckBox(”管理员");c.setBounds(68,115,70,30);container.add(c);loginBtn=newJButton("登录");loginBtn.setBounds(140,115,60,30);container.add(loginBtn);resetBtn=newJButton('取消"

20、;);resetBtn.setBounds(215,115,60,30);container.add(resetBtn);publicvoidgo()setVisible(true);publicstaticvoidmain(Stringargs)(newLoginFrame().go();'函叠虽界面=I&IM用户庄录ffl|一困科:I|II|职浩.packagecom.briup.dao;importjava.sql.Connection;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importcom.

21、briup.bean.Admin;importcom.briup.util.ConnectionFactory;和管理员相关的数据库操作publicclassAdminDao(根据用户名查找指定管理员publicAdminfindAdminByName(Stringusername)(Adminadmin=null;Connectionconn=null;PreparedStatementpstat=null;ResultSetrs=null;try(conn=ConnectionFactory.getConnection();Stringsql="selectusername,pa

22、sswordfromadminwhereusername=?”;pstat=conn.prepareStatement(sql);pstat.setString(1,username);rs=pstat.executeQuery();如果查不到任何数据下方while内部的代码不会执行while(rs.next()(如果能执行到这个地方说明指定管理员是存在的admin=newAdmin();admin.setUsername(username);admin.setPassword(rs.getString("password");catch(Exceptione)/TODO:

23、handleexceptione.printStackTrace();finallyConnectionFactory.close(rs,pstat,conn);returnadmin;publicstaticvoidmain(Stringargs)AdminDao().findAdminByName("admi").getPassword();packagecom.briup.view;importjava.awt.Container;importjava.awt.GridLayout;importjava.awt.event.MouseAdapter;importjav

24、a.awt.event.MouseEvent;importjava.awt.event.WindowAdapter;importjava.awt.event.WindowEvent;importjavax.swing.JButton;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.JOptionPane;importjavax.swing.JPanel;importjavax.swing.JTextField;importcom.briup.bean.Student;importcom.briup.dao.

25、StudentDao;麻加学生publicclassAddStudentFrameextendsJFrame(privateAdminFrameadmin;privateJPanelp1,p2,p3,p4,p5;privateJLabelidLbl,nameLbl,ageLbl,genderLbl;privateJTextFieldidInput,nameInput,ageInput,genderInput;privateJButtonsubmitBtn,cancelBtn;privateStudentDaostudentDao=newStudentDao();publicAddStudent

26、Frame(AdminFrameadmin)(this.admin=admin;setTitle("添加学生");setResizable(false);setBounds(400,100,300,400);init();event();privatevoidinit()(Containercontainer=getContentPane();container.setLayout(newGridLayout(5,1);p1=newJPanel();p1.setLayout(null);idLbl=newJLabel("学籍号:");idLbl.setB

27、ounds(50,30,50,20);idInput=newJTextField();idInput.setBounds(100,30,120,20);p1.add(idLbl);p1.add(idInput);container.add(p1);p2=newJPanel();p2.setLayout(null);nameLbl=newJLabel(":");nameLbl.setBounds(50,10,50,20);nameInput=newJTextField();nameInput.setBounds(100,10,120,20);p2.add(nameLbl);p

28、2.add(nameInput);container.add(p2);p3=newJPanel();p3.setLayout(null);ageLbl=newJLabel("年龄:");ageLbl.setBounds(50,10,50,20);ageInput=newJTextField();ageInput.setBounds(100,10,120,20);p3.add(ageLbl);p3.add(ageInput);container.add(p3);p4=newJPanel();p4.setLayout(null);genderLbl=newJLabel('

29、;性别:,genderLbl.setBounds(50,10,50,20);genderInput=newJTextField();genderInput.setBounds(100,10,120,20);p4.add(genderLbl);p4.add(genderInput);container.add(p4);p5=newJPanel();p5.setLayout(null);submitBtn=newJButton("确定");submitBtn.setBounds(130,10,60,20);cancelBtn=newJButton('取消");

30、cancelBtn.setBounds(195,10,60,20);p5.add(submitBtn);p5.add(cancelBtn);container.add(p5);privatevoidevent()设置当前窗口的关闭操作此处可自定义窗口关闭时所作操作this.addWindowListener(newWindowAdapter()publicvoidwindowClosing(WindowEvente)将之前传递过来的那个管理窗口设置为可用if(admin!=null)admin.setEnabled(true);释放当前窗口AddStudentFrame.this.dispos

31、e(););取消按钮的操作cancelBtn.addMouseListener(newMouseAdapter()OverridepublicvoidmouseClicked(MouseEvente)if(admin!=null)admin.setEnabled(true);AddStudentFrame.this.dispose(););确定按钮的操作submitBtn.addMouseListener(newMouseAdapter()publicvoidmouseClicked(MouseEvente)接受用户在客户端输入的值正则表达式StringstudentId=idInput.ge

32、tText().trim();StringstudentName=nameInput.getText().trim();Stringage=ageInput.getText().trim();Stringgender=genderInput.getText().trim();Students=newStudent();注意别输入了已存在的学籍号s.setStudentid(Long.parseLong(studentId);s.setStudentName(studentName);s.setPassword(studentId);s.setAge(Integer.parseInt(age);

33、s.setGender(gender);将获得值封装成Student对象调用指定方法存储到数据库booleanresult=studentDao.addStudent(s);if(result)JOptionPane.showMessageDialog(null,添加成功!");if(admin!=null)admin.setEnabled(true);AddStudentFrame.this.dispose();elseJOptionPane.showMessageDialog(null,添加失败,请检查学籍号是否已存在!"););publicvoidgo()setVis

34、ible(true);publicstaticvoidmain(Stringargs)newAddStudentFrame(null).go();packagecom.briup.view;importjava.awt.Container;importjava.awt.GridLayout;importjava.awt.event.MouseAdapter;importjava.awt.event.MouseEvent;importjava.awt.event.WindowAdapter;importjava.awt.event.WindowEvent;importjava.util.List

35、;importjavax.swing.JButton;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.JPanel;importjavax.swing.JTextField;importcom.briup.bean.Student;;publicclassFindStudentFrameextendsJFrameprivateStudentDaostudentDao=newStudentDao();privateJLabelidLbl,nameLbl;privateJTextFieldidInput,nam

36、eInput;privateJButtonfindBtn,cancelBtn;publicFindStudentFrame()setTitle("查找学生");setBounds(405,100,200,390);setResizable(false);init();event();privatevoidinit()Containercontainer=getContentPane();container.setLayout(newGridLayout(3,1);JPanelp1=newJPanel();p1.setLayout(null);idLbl=newJLabel(

37、"学籍号:");idLbl.setBounds(20,55,50,20);idInput=newJTextField();idInput.setBounds(73,55,100,20);p1.add(idLbl);p1.add(idInput);container.add(p1);JPanelp2=newJPanel();p2.setLayout(null);nameLbl=newJLabel(":");nameLbl.setBounds(20,55,50,20);nameInput=newJTextField();nameInput.setBounds

38、(73,55,100,20);p2.add(nameLbl);p2.add(nameInput);container.add(p2);JPanelp3=newJPanel();p3.setLayout(null);findBtn=newJButton("搜索");findBtn.setBounds(60,30,60,20);cancelBtn=newJButton('取消");cancelBtn.setBounds(123,30,60,20);p3.add(findBtn);p3.add(cancelBtn);container.add(p3);priva

39、tevoidevent()this.addWindowListener(newWindowAdapter()publicvoidwindowClosing(WindowEvente)FindStudentFrame.this.dispose(););findBtn.addMouseListener(newMouseAdapter()publicvoidmouseClicked(MouseEvente)StringidStr=idInput.getText().trim();StringnameStr=nameInput.getText().trim();LongstudentId=null;S

40、tringstudentName=null;if(idStr.length()!=0)/如果id有值studentId=Long.parseLong(idStr);if(nameStr.length()!=0)studentName=nameStr;List<Student>students=studentDao.findStudentByConditions(studentId,studentName);将查询的结果传递给显示界面newShowResultFrame(students).go();publicvoidgo()setVisible(true);publicstati

41、cvoidmain(Stringargs)(newFindStudentFrame().go();/System.out.println("”.trim().length();正则表达式s/System.out.println("");/System.out.println("12".replaceAll("s","").length();publicclassShowResultFrameextendsJFrame(柚蛤packagecom.briup.view;importjava.awt.Color

42、;importjava.awt.Container;importjava.awt.GridLayout;importjava.awt.event.MouseAdapter;importjava.awt.event.MouseEvent;importjava.awt.event.WindowAdapter;importjava.awt.event.WindowEvent;importjava.util.List;importjavax.swing.BorderFactory;importjavax.swing.JButton;importjavax.swing.JFrame;importjava

43、x.swing.JLabel;importjavax.swing.JOptionPane;importcom.briup.bean.Student;importcom.briup.dao.StudentDao;privateList<Student>students;privateStudentDaostudentDao=newStudentDao();publicShowResultFrame(List<Student>students)(setTitle("查询结果");if(students.size()>0)(setBounds(100

44、,100,300,60*students.size();else(setBounds(100,100,300,150);this.students=students;init();privatevoidinit()(Containercontainer=getContentPane();container.setLayout(newGridLayout(students.size(),2);/遍历集合将集合中的每一条数据显示到当前容器里面if(students.size()=0)(container.add(newJLabel(暂无记录!");else(for(Studentstu:

45、students)(JLabell=newJLabel(stu.getStudentName();finalStudents=stu;l.addMouseListener(newMouseAdapter()(publicvoidmouseClicked(MouseEvente)(if(e.getClickCount()>=2)newStudentFrame(s,null).go(););l.setBorder(BorderFactory.createLineBorder(newColor(253,253,187);JButtonb=newJButton('删除");fi

46、nalLongstudentId=stu.getStudentid();b.addMouseListener(newMouseAdapter()publicvoidmouseClicked(MouseEvente)intchoose=JOptionPane.showConfirmDialog(null,'确定删除?");判断用户点击的是否是确定按钮if(choose=JOptionPane.OK_OPTION)ShowResultFrame.this.dispose();students.remove(s);newShowResultFrame(students).go();

47、studentDao.deleteStudentById(studentId););container.add(l);container.add(b);privatevoidevent()this.addWindowListener(newWindowAdapter()publicvoidwindowClosing(WindowEvente)ShowResultFrame.this.dispose(););publicvoidgo()setVisible(true);publicstaticvoidmain(Stringargs)packagecom.briup.view;importjava

48、.awt.Color;importjava.awt.Container;importjava.awt.GridLayout;importjava.awt.event.MouseAdapter;importjava.awt.event.MouseEvent;importjavax.swing.JButton;importjavax.swing.JFrame;importjavax.swing.JLabel;importjavax.swing.JOptionPane;importjavax.swing.JPanel;importjavax.swing.JPasswordField;importja

49、vax.swing.JTextField;importcom.briup.bean.Student;importcom.briup.dao.StudentDao;publicclassStudentFrameextendsJFrameprivateJPanelp1,p2,p3,p4,p5,p6;privateJLabelidLbl,pwdLbl,nameLbl,ageLbl,genderLbl;privateJTextFieldidInput,nameInput,ageInput,genderInput;privateJPasswordFieldpwdInput;privateStudents

50、tudent;privateJButtonmodifyPwdBtn,submitBtn,exitBtn;privateStringnPassword;privateStudentDaodao=newStudentDao();/student记录当前登录的用户nPassword记录修改以后的密码publicStudentFrame(Students,StringnPassword)this.student=s;this.nPassword=nPassword;初始化的时候获取当前用户的密码setTitle("学生信息");setResizable(false);setBoun

51、ds(400,100,300,400);默认关闭行为setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);init();event();publicvoidgo()(setVisible(true);privatevoidinit()(Containercontainer=getContentPane();container.setLayout(newGridLayout(6,1);p1=newJPanel();p1.setLayout(null);idLbl=newJLabel("学籍号:");idLbl.setBounds(50,

52、30,50,20);idInput=newJTextField();需要将数字类型转换为字符申类型+""字符申类型-数字类型parseIntparseLongidInput.setText(student.getStudentid()+"");设置学籍号不可修改/idInput.setEnabled(false);idInput.setEditable(false);/idInput.setDisabledTextColor(newColor(255,255,255);idInput.setDisabledTextColor(Color.black);i

53、dInput.setBounds(100,30,120,20);p1.add(idLbl);p1.add(idInput);container.add(p1);p2=newJPanel();p2.setLayout(null);pwdLbl=newJLabel("密码:");pwdLbl.setBounds(50,30,50,20);pwdInput=newJPasswordField();if(nPassword=null)代表从登录界面过来的pwdInput.setText(student.getPassword();else(如果有新密码说明是从修改密码那个窗口跳回来

54、的pwdlnput.setText(nPassword);pwdlnput.setEditable(false);pwdlnput.setDisabledTextColor(Color.black);pwdInput.setBounds(100,30,120,20);modifyPwdBtn=newJButton("修改");modifyPwdBtn.setBounds(225,30,60,20);p2.add(pwdLbl);p2.add(pwdInput);p2.add(modifyPwdBtn);container.add(p2);p3=newJPanel();p3.

55、setLayout(null);nameLbl=newJLabel('姓名:");nameLbl.setBounds(50,30,50,20);nameInput=newJTextField();nameInput.setText(student.getStudentName();nameInput.setBounds(100,30,120,20);p3.add(nameLbl);p3.add(nameInput);container.add(p3);p4=newJPanel();p4.setLayout(null);ageLbl=newJLabel("年龄:");ageLbl.setBounds(50,30,50,20);ageInput=newJTextField();ageInput.setText(student.getAge()+"");ageInput.setBounds(100,30,120,20);p4.add(ageLbl);p4.add(ageInput);container.add(p4);p5=newJPanel();p5.setLayout(null);genderLbl=newJLabel("性别:");genderLbl.setBounds(50,30,50,20)

温馨提示

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

评论

0/150

提交评论