版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.学生信息管理系统设计系统简介本系统提供了学生信息管理中常见的基本功能,主要包括管理员和学生两大模块。管理员的主要功能有对学生信息和课程信息进行增加、删除、修改、查找等操作,对选课信息进行管理,对成绩信息和用户信息进行修改、查找等操作。学生的主要功能有对学生信息和成绩信息进行查看,对个人的密码信息进行修改等。功能设计2.1 需求分析本系统需要实现的功能:1、管理员对学生信息和课程信息进行增加、删除、修改、查找等操作,对选课信息进行管理,对成绩信息和用户信息进行修改、查找等操作。2、学生对学生信息和成绩信息进行查看,对个人的密码信息进行修改等。2.2总体设计学生信息管理系统主要包括管理员和学生两
2、大模块。管理员模块包括:学生信息管理、课程信息管理、选课信息管理、成绩信息管理、用户信息管理等。用户模块包括:学生信息查看、成绩信息查看、个人信息管理等。系统总体结构如图所示。总体结构图2.3模块详细设计1、学生信息管理模块学生信息管理模块包括增加、删除、修改、查询、显示全部等。具体的结构图如图所示。学生信息管理模块结构图2、课程信息管理模块课程信息管理模块包括增加、删除、修改、查询、显示全部等。具体的结构图如图所示。课程信息管理模块结构图3、选课信息管理模块选课信息管理模块包括查询、显示全部等。具体的结构图如图所示。选课信息管理模块结构图4、成绩信息管理模块成绩信息管理模块包括修改成绩、查询
3、、显示全部等。具体的结构图如图所示。成绩信息管理模块结构图5、用户信息管理模块用户信息管理模块包括修改、查询、显示全部等。具体的结构图如图所示。用户信息管理模块结构图数据库设计在数据库student中共有4张数据表:s学生信息表、c课程信息表、sc选课信息表、unpw用户信息表,下面定义每张表的字段名称和数据类型。s学生信息表字段名称数据类型描述snochar 学号,关键字snchar 姓名saint年龄sschar 性别sdchar 院系c课程信息表字段名称数据类型描述cnochar 课程号,关键字cnchar 课程名pcnochar 先行课程号sc选课信息表字段名称数据类型描述snocha
4、r 学号,关键字cnochar 课程号,关键字gint成绩unpw用户信息表字段名称数据类型描述unchar 用户名,关键字pwchar 密码qxint角色界面库设计1、学生信息管理系统的登录学生信息管理系统可由管理员和学生两种身份的人使用。管理员和学生身份登录所能操作的功能有很大的区别。系统初始化一个系统管理员,登录名:admin 密码:admin 学生登录系统的登录名为学号,密码也为学号如:10001,登录后可以修改密码。登录界面管理员登录系统后的界面学生登录系统后的界面2、实现管理员和学生操作功能的界面管理员的登录系统后可以进行学生信息管理、课程信息管理、选课信息管理、成绩信息管理、用户
5、信息管理等功能操作,其具体界面设计如下图所示。学生信息管理功能的界面课程信息管理功能的界面选课信息管理功能的界面成绩信息管理功能的界面用户信息管理功能的界面学生的登录系统后可以进行学生信息查看、成绩信息查看、个人信息管理等功能操作,其具体界面设计如下图所示。学生信息查看功能的界面成绩信息查看功能的界面个人信息管理功能的界面程序类的设计SimpleStudentManager主函数类DLFrame登陆界面类ManagerFrane管理员界面类StudentFrame学生界面类 SM学生信息管理的类 SAdd用于学生信息管理中增加或修改某条记录的界面的类SSelect 用于学生基本信息管理中查询时
6、输入学号的界面的类 CM 课程信息管理的类CAdd 用于课程信息管理中增加或修改某条记录的界面的类CSelect 用于课程信息管理中查询时输入课程号的界面的类SCM 选课信息管理的类 SCSelect 用于选课信息管理中查询时输入学号的界面的类 GM 成绩信息管理的类 GAdd 用于成绩信息管理中修改成绩的界面的类GSelect 用于成绩信息管理中查询时输入学号的界面的类 PM 用户信息管理的类UAdd 用于用户信息管理中修改密码的界面的类PSelect 用于用户信息管理中查询时输入用户名的界面的类 StudentS 用于学生信息查看时输入学号的界面的类 StudentSelect 用于成绩信
7、息查看时输入学号的界面的类 PPM 个人信息管理的类PPSelect 用于个人信息管理查询时输入用户名的界面的类 程序类的具体代码实现见工程文件夹中的代码及注释系统的使用说明及环境配置学生信息管理系统提供了管理员和学生这两个角色登录系统,管理员通过用户名:admin 密码:admin 登录系统后可以进行相应的操作。学生通过以自己的学号如10001作为用户名和密码登录系统后进行相应的学生权限范围内的操作。数据库:SQL Server 2005连接数据库的登录名:sa 密码:123代码:import javax.swing.*;import java.awt.*;import java.awt.e
8、vent.*;import java.sql.*;class CAdd extends JFrame implements ActionListener/ 用于课程信息管理中增加或修改某条记录的界面JLabel lcno = new JLabel;JLabel lcname = new JLabel;JLabel lpcno = new JLabel;JTextField tcno = new JTextField;JTextField tcname = new JTextField;JTextField tpcno = new JTextField;JButton btnOK = new J
9、Button;JButton btnCancel = new JButton;JPanel p = new JPanel;Connection con = null;Statement stmt = null;ResultSet rs = null;boolean isNewsm = true;/ 用于判断是否显示课程信息管理的界面public CAdd / 构造方法this.setTitle;this.setBounds;p.setLayoutnew FlowLayout;p.add;p.add;p.add;p.add;p.add;p.add;p.add;p.add;this.add;thi
10、s.setResizable;this.setDefaultCloseOperation;btnOK.addActionListener;btnCancel.addActionListener;this.show;public void connDB / 连接数据库try bc.SQLServerDriver; catch e.printStackTrace;try con = DriverManager.getConnection;stmt = con.createStatement; catch e.printStackTrace;public void closeDB / 关闭连接try
11、 stmt.close;con.close; catch e.printStackTrace;public void insertst / 插入记录String kch = null;String kcm = null; String xxkch=null;kch = tcno.getText;kcm = tcname.getText;xxkch=tpcno.getText;if this.getTitle = 修改 / 如果是修改记录,先删除再增加try this.connDB;int rs1 = stmt.executeUpdate; catch e.printStackTrace;Str
12、ing str = insert into c values;this.connDB;/ 连接数据库try stmt.executeUpdate;JOptionPane.showMessageDialognull, this.getTitle + 成功!,提示, JOptionPane.INFORMATION_MESSAGE, new ImageIcon;this.setVisible;catch JOptionPane.showMessageDialog;tcno.setText;public void actionPerformed if e.getActionCommand = 确定 t
13、his.insertst;if new CM.display;isNewsm = true;if e.getActionCommand = 取消 this.setVisible;new CM.display;import java.awt.Component;import java.awt.FlowLayout;import java.awt.event.*;import java.sql.*;import java.util.*;import javax.swing.*;import javax.swing.table.TableCellRenderer;class CM extends J
14、Frame implements ActionListener / 课程信息管理JPanel p = new JPanel;JButton btnAdd = new JButton;JButton btnDelete = new JButton;JButton btnAlter = new JButton;JButton btnSearch = new JButton;JButton btnDisplay = new JButton;JMenuBar mb = new JMenuBar;JPanel p1 = new JPanel;JTable sTable;JScrollPane scrol
15、l;Connection con = null;Statement stmt = null;ResultSet rs = null;Object playerInfo;CSelect cst;String mkch = null;boolean bstd = false;CM / 构造方法super;add;this.add;mb.add;mb.add;mb.add;mb.add;mb.add;this.connDB;/ 连接数据库this.setBounds;btnAdd.addActionListener;btnDelete.addActionListener;btnAlter.addAc
16、tionListener;btnSearch.addActionListener;btnDisplay.addActionListener;this.setJMenuBar;/ this.setDefaultCloseOperation;this.setResizable;show;CM / 构造方法super;this.cst = cst;bstd = true;add;this.add;mb.add;mb.add;mb.add;mb.add;mb.add;this.connDB;this.setBounds;btnAdd.addActionListener;btnDelete.addAct
17、ionListener;btnAlter.addActionListener;btnSearch.addActionListener;btnDisplay.addActionListener;this.setJMenuBar;/ this.setDefaultCloseOperation;this.setResizable;show;public void display / 显示所有的课程信息int i = 0;int j = 0;int k = 0;List al = new ArrayList;try rs = stmt.executeQuery;while rs.next / 找出表中
18、的记录数赋给ial.addrs.getString;al.addrs.getString;al.addrs.getString;i+; catch e.printStackTrace;playerInfo = new Objecti3;String columnNames = 课程号, 课程名, 先行课程号 ;try rs = stmt.executeQuery;while rs.next playerInfoj0 = rs.getString;playerInfoj1 = rs.getString;playerInfoj2 = rs.getString;j+; catch e.printSt
19、ackTrace;sTable = new JTable;/ 创建网格p1.add;scroll = new JScrollPane;this.add;public void connDB / 连接数据库try Class.forName; catch e.printStackTrace;try con = DriverManager.getConnection;stmt = con.createStatement; catch e.printStackTrace;public void closeDB / 关闭连接try stmt.close;con.close; catch e.print
20、StackTrace;public void delete / 删除某个课程信息String kch = null;String kcm = null;String xxkch = null;int row = -1;row = sTable.getSelectedRow;if / 判断要删除的信息是否被选中JOptionPane.showMessageDialog; else if / 判断选择的是不是查询后的结果int j1 = 0;try rs = stmt.executeQuery;while rs.next & j1 / 找出当前被选中的记录在数据库中的对应kch = rs.getS
21、tring;kcm = rs.getString;xxkch = rs.getString;j1+; catch e.printStackTrace;int i1 = 0;try int rs1 = stmt.executeUpdate;/ 删除数据库中当前被选中的记录JOptionPane.showMessageDialog;this.dispose;new CM.display; catch e.printStackTrace; else try int rs1 = stmt.executeUpdate;/ 删除数据库中当前被选中的记录JOptionPane.showMessageDial
22、og;this.dispose;new CM.display; catch e.printStackTrace;public void update / 修改某个课程记录String kch = null;String kcm = null;String xxkch = null;int row = -1;row = sTable.getSelectedRow;if JOptionPane.showMessageDialog; else int j1 = 0;try if / 判断选择的是不是查询后的结果rs = stmt.executeQuery; else rs = stmt.execut
23、eQuery;while rs.next & j1 / 找出当前被选中的记录在数据库中的对应kch = rs.getString;kcm = rs.getString;xxkch = rs.getString;j1+; catch e.printStackTrace;CAdd cadd = new CAdd;cadd.setTitle;t;cadd.tcname.setText;cadd.tpcno.setText;cadd.tcno.setEnabled;this.dispose;public void select / 显示某个查询的结果mkch = cst.kch;playerInfo
24、= new Object13;String columnNames = 课程号, 课程名, 先行课程号 ;try rs = stmt.executeQuery;while rs.next playerInfo00 = rs.getString;playerInfo01 = rs.getString;playerInfo02 = rs.getString; catch e.printStackTrace;if this.dispose;JOptionPane.showMessageDialog;new CM.display; else sTable = new JTable;/ 创建网格p1.a
25、dd;scroll = new JScrollPane;this.add;public void actionPerformed if e.getActionCommand = 增加 new CAdd;this.dispose;if e.getActionCommand = 删除 this.delete;if e.getActionCommand = 修改 this.update;if e.getActionCommand = 查询 cst = new CSelect;this.dispose;if e.getActionCommand = 显示 this.dispose;new CM.dis
26、play;import java.awt.event.*;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import javax.swing.*;public class CSelect extends JFrame implements ActionListener / 用于课程信息管理中查询时输入课程号的界面JLabel ltitle = new JLabel;J
27、TextField tcno = new JTextField;JButton btnOK = new JButton;JPanel p = new JPanel;String kch = null;public CSelect / 构造方法p.add;p.add;p.add;add;this.setBounds;btnOK.addActionListener;this.setResizable;this.show;public void actionPerformed kch = tcno.getText;/ 取得当前输入课程号的值if kch.equals / 判断是否输入了课程号JOpt
28、ionPane.showMessageDialog; else this.dispose;new CM.select;import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.*;class DLFrame extends JFrame implements ActionListener, ItemListener / 登录界面JPanel p1 = null;JPanel p2 = null;JPanel p3 = null;JLabel userName = new JLabel;JText
29、Field txtUser = new JTextField;JLabel password = new JLabel;JPasswordField txtPwd = new JPasswordField;JLabel role = new JLabel;JComboBox cbrole = new JComboBox;JButton btnLogin = new JButton;JButton btncz = new JButton;JButton btnCancel = new JButton;JLabel imageLabel;Icon image;static int OK = 1;s
30、tatic int CANCEL = 0;int actionCode = 0;Connection con = null;Statement stmt = null;ResultSet rs = null;int qxian = 0;public DLFrame / 构造方法super;p1 = new JPanel;p2 = new JPanel;p3 = new JPanel;cbrole.addItem;cbrole.addItem;image = new ImageIcon;imageLabel = new JLabel;p1.add;this.setLayoutnew FlowLa
31、yout;this.setBounds;p2.setLayoutnew GridLayout;p2.add;p2.add;p2.add;p2.add;p2.add;p2.add;p3.add;p3.add;p3.add;this.add;this.add;this.add;this.setResizable;this.setDefaultCloseOperation;this.show;btnLogin.addActionListener;cbrole.addItemListener;btncz.addActionListener;btnCancel.addActionListener;pub
32、lic void connDB / 连接数据库try Class.forName; catch e.printStackTrace;try con = DriverManager.getConnection;stmt = con.createStatement; catch e.printStackTrace;public void closeDB / 关闭连接try stmt.close;con.close; catch e.printStackTrace;public void itemStateChanged if e.getStateChange = ItemEvent.SELECTE
33、D JComboBox jcb = e.getSource;qxian = jcb.getSelectedIndex;public void actionPerformed Object source = e.getSource;String un = null;String pw = null;boolean success = false;/ 用于判断是否登录成功if if txtUser.getText.equals | txtPwd.getText.equals / 判断是否输入了用户名和密码JOptionPane.showMessageDialog; else this.connDB
34、;try rs = stmt.executeQuery;while rs.next un = rs.getString.trim;pw = rs.getString.trim;if txtUser.getText.equals if txtPwd.getText.equals actionCode = OK;this.setVisible;if new ManagerFrane;/ 进入管理员界面if new StudentFrame;/ 进入学生界面success = true;break; else JOptionPane.showMessageDialog;txtPwd.setText;
35、success = true;if JOptionPane.showMessageDialog;txtUser.setText;txtPwd.setText; catch e1.printStackTrace; else if txtUser.setText;txtPwd.setText; else if System.exit;import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.sql.*;class GAdd extends JFrame implements ActionListener /
36、 用于成绩信息管理中修改成绩的界面JLabel lcno = new JLabel;JLabel lcname = new JLabel;JLabel lg = new JLabel;JTextField tcno = new JTextField;JTextField tcname = new JTextField;JTextField tpcno = new JTextField;JButton btnOK = new JButton;JButton btnCancel = new JButton;JPanel p = new JPanel;Connection con = null;St
37、atement stmt = null;ResultSet rs = null;boolean isNewsm = true;/ 用于判断是否显示成绩信息管理的界面public GAdd / 构造方法this.setTitle;this.setBounds;p.setLayoutnew FlowLayout;p.add;p.add;p.add;p.add;p.add;p.add;p.add;p.add;this.add;this.setResizable;this.setDefaultCloseOperation;btnOK.addActionListener;btnCancel.addAct
38、ionListener;this.show;public void connDB / 连接数据库try .jdbc.SQLServerDriver; catch e.printStackTrace;try con = DriverManager.getConnection;stmt = con.createStatement; catch e.printStackTrace;public void closeDB / 关闭连接try stmt.close;con.close; catch e.printStackTrace;public void insertst / 修改成绩String k
39、ch = null;String kcm = null;String xxkch = null;kch = tcno.getText;kcm = tcname.getText;xxkch = tpcno.getText;String gcno = null;if this.getTitle = 修改成绩 try this.connDB;rs = stmt.executeQuery;while rs.next gcno = rs.getString;/ 找出哪门课程的成绩要被修改System.out.println;stmt.executeUpdate; catch e.printStackTr
40、ace;public void actionPerformed if e.getActionCommand = 确定 this.insertst;if new GM.display;this.dispose;isNewsm = true;if e.getActionCommand = 取消 this.setVisible;new GM.display;import java.awt.Component;import java.awt.FlowLayout;import java.awt.event.*;import java.sql.*;import java.util.*;import ja
41、vax.swing.*;import javax.swing.table.TableCellRenderer;class GM extends JFrame implements ActionListener / 成绩信息管理JPanel p = new JPanel;JButton btnAlter = new JButton;JButton btnSearch = new JButton;JButton btnDisplay = new JButton;JMenuBar mb = new JMenuBar;JPanel p1 = new JPanel;JTable sTable;JScro
42、llPane scroll;Connection con = null;Statement stmt = null;ResultSet rs = null;Object playerInfo;GSelect gst;int ii = 0;String mxh = null;boolean bstd = false;GM / 构造方法super;add;this.add;mb.add;mb.add;mb.add;this.connDB;this.setBounds;btnAlter.addActionListener;btnSearch.addActionListener;btnDisplay.
43、addActionListener;this.setJMenuBar;/ this.setDefaultCloseOperation;this.setResizable;show;GM / 构造方法super;this.gst = gst;bstd = true;add;this.add;mb.add;mb.add;mb.add;this.connDB;this.setBounds;btnAlter.addActionListener;btnSearch.addActionListener;btnDisplay.addActionListener;this.setJMenuBar;/ this
44、.setDefaultCloseOperation;this.setResizable;show;public void display / 显示所有的成绩信息int i = 0;int j = 0;int k = 0;List al = new ArrayList;try rs = stmt.executeQuery;while rs.next / 找出表中的记录数赋给ial.addrs.getString;al.addrs.getString;al.addrs.getString;i+; catch e.printStackTrace;playerInfo = new Objecti3;S
45、tring columnNames = 学号, 课程名, 成绩 ;try rs = stmt.executeQuery;while rs.next playerInfoj0 = rs.getString;playerInfoj1 = rs.getString;playerInfoj2 = rs.getString;j+; catch e.printStackTrace;sTable = new JTable;/ 创建网格p1.add;scroll = new JScrollPane;this.add;public void connDB / 连接数据库try Class.forName; ca
46、tch e.printStackTrace;try con = DriverManager.getConnection;stmt = con.createStatement; catch e.printStackTrace;public void closeDB / 关闭连接try stmt.close;con.close; catch e.printStackTrace;public void update / 修改某个学生的成绩信息String kch = null;String kcm = null;String xxkch = null;int row = -1;row = sTabl
47、e.getSelectedRow;if / 判断要修改的信息是否被选中JOptionPane.showMessageDialog; else int j1 = 0;try if / 判断选择的是不是查询后的结果rs = stmt.executeQuery; else rs = stmt.executeQuery;while rs.next & j1 kch = rs.getString;kcm = rs.getString;xxkch = rs.getString;j1+; catch e.printStackTrace;GAdd gadd = new GAdd;gadd.setTitle;g
48、add.tcno.setText;gadd.tcname.setText;gadd.tpcno.setText;gadd.tcno.setEnabled;gadd.tcname.setEnabled;this.dispose;public void select / 显示某个学生的成绩查询结果int j = 0;ii = gst.i;mxh = gst.gxh;playerInfo = new Objectii3;String columnNames = 学号, 课程名, 成绩 ;try rs = stmt.executeQuery;while rs.next playerInfoj0 = r
49、s.getString;playerInfoj1 = rs.getString;playerInfoj2 = rs.getString;j+; catch e.printStackTrace;if this.dispose;JOptionPane.showMessageDialog;new GM.display; else sTable = new JTable;p1.add;scroll = new JScrollPane;this.add;public void actionPerformed if e.getActionCommand = 修改成绩 this.update;if e.ge
50、tActionCommand = 查询 gst = new GSelect;this.dispose;if e.getActionCommand = 显示 this.dispose;new GM.display;import java.awt.event.*;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.util.ArrayList;impor
51、t java.util.List;import javax.swing.*;public class GSelect extends JFrame implements ActionListener / 用于成绩信息管理中查询时输入学号的界面JLabel ltitle = new JLabel;JTextField tsno = new JTextField;JButton btnOK = new JButton;JPanel p = new JPanel;Connection con = null;Statement stmt = null;ResultSet rs = null;Strin
52、g gxh = null;int i = 0;public GSelect / 构造方法p.add;p.add;p.add;add;this.setBounds;btnOK.addActionListener;this.setResizable;this.show;public void connDB / 连接数据库try Class.forName; catch e.printStackTrace;try con = DriverManager.getConnection;stmt = con.createStatement; catch e.printStackTrace;public v
53、oid closeDB / 关闭连接try stmt.close;con.close; catch e.printStackTrace;public void ii / 取得符合条件的记录数List al = new ArrayList;try rs = stmt.executeQuery;while rs.next al.addrs.getString;al.addrs.getString;al.addrs.getString;i+;/ 把符合条件的记录数赋给i catch e.printStackTrace;public void actionPerformed gxh = tsno.ge
54、tText; / 取得当前输入学号的值this.connDB;this.ii;if gxh.equals / 判断是否输入了学号JOptionPane.showMessageDialog; else this.dispose;new GM.select;import java.awt.*;import java.awt.event.*;import javax.swing.*;class ManagerFrane extends JFrame implements ActionListener / 管理员界面JPanel p1 = new JPanel;JPanel p2 = new JPan
55、el;JButton btns = new JButton;JButton btnc = new JButton;JButton btnsc = new JButton;JButton btng = new JButton;JButton btnu = new JButton;JButton btnClose = new JButton;JLabel l = new JLabel;ManagerFrane / 构造方法super;setSize;add;add;p1.add;p2.add;p2.add;p2.add;p2.add;p2.add;p2.add;btns.addActionList
56、ener;btnc.addActionListener;btnsc.addActionListener;btng.addActionListener;btnu.addActionListener;btnClose.addActionListener;this.setResizable;this.setDefaultCloseOperation;show;public void actionPerformed if e.getActionCommand = 学生信息管理new SM.display;if e.getActionCommand = 课程信息管理 new CM.display;if
57、e.getActionCommand = 选课信息管理 new SCM.display;if e.getActionCommand = 成绩信息管理 new GM.display;if e.getActionCommand = 用户信息管理 new PM.display;if e.getActionCommand = 退出管理系统 System.exit;import java.awt.Component;import java.awt.FlowLayout;import java.awt.event.*;import java.sql.*;import java.util.*;import
58、javax.swing.*;import javax.swing.table.TableCellRenderer;class PM extends JFrame implements ActionListener / 用户信息管理JPanel p = new JPanel;JButton btnAlter = new JButton;JButton btnSearch = new JButton;JButton btnDisplay = new JButton;JMenuBar mb = new JMenuBar;JPanel p1 = new JPanel;JTable sTable;JSc
59、rollPane scroll;Connection con = null;Statement stmt = null;ResultSet rs = null;Object playerInfo;PSelect pst;String myh = null;boolean bstd = false;PM / 构造方法super;add;this.add;mb.add;mb.add;mb.add;this.connDB;this.setBounds;btnAlter.addActionListener;btnSearch.addActionListener;btnDisplay.addAction
60、Listener;this.setJMenuBar;/ this.setDefaultCloseOperation;this.setResizable;show;PM / 构造方法super;this.pst = pst;bstd = true;add;this.add;mb.add;mb.add;mb.add;this.connDB;this.setBounds;btnAlter.addActionListener;btnSearch.addActionListener;btnDisplay.addActionListener;this.setJMenuBar;/ this.setDefau
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论