学生信息管理系统课程设计报告_第1页
学生信息管理系统课程设计报告_第2页
学生信息管理系统课程设计报告_第3页
学生信息管理系统课程设计报告_第4页
学生信息管理系统课程设计报告_第5页
已阅读5页,还剩129页未读 继续免费阅读

下载本文档

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

文档简介

1、课设名称: 学生成绩管理系统 院 (系): 姓名: 学号: 年 级: 专业班级: 指导教师: 时间: 2012年6月 目录第一部分 摘 要3第二部分 目的背景与意义4第三部分 需求分析4第四部分 系统设计44.1 结构设计44.2 功能结构图54.3 功能流程以及工作流描述6第五部分 数据库的设计65.1数据库设计65.2数据表的设计7第六部分 详细设计86.1 学生管理系统主界面模块86.2 学生信息管理模块96.3 课程信息管理模块116.4 查询模块12图6.5 数据库操作模块13第七部分 课程设计心得13第八部分 附录(按名称排序)14第一部分 摘 要该项目开发的软件为学校学生信息管理

2、系统软件,是鉴于目前学校学生人数剧增,学生信息呈爆炸性增长的前提下,学校对学生信息管理的自动化与准确化的要求日益强烈的背景下构思出来的,该软件设计完成后可用于所有教育单位(包括学校,学院等等)的学生信息的管理. 目前社会上信息管理系统发展飞快,各个企事业单位都引入了信息管理软件来管理自己日益增长的各种信息,学生管理系统也是有了很大的发展,商业化的学生信息管理软件也不少.但本系统完全独立开发,力求使系统功能简洁明了,但功能齐全且易于操作学生信息管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要。本文介绍了学生信息管理系统的开发整个过程,阐述了系统分析、系统设计、

3、数据库设计和系统实施的全过程。在开发方法上本系统利用了软件工程化的思想和方法,总体上采用结构化生命周期开发方法,具体模块实施采用了原型法和面向对象系统开发方法。并采用java作为开发工具,mysql作为后台数据库。本系统具有学生管理、课程管理、成绩管理、信息查询等功能,分成四大模块,每个模块都相互联系,但不相互干扰,这符合了软件模块开发的思想。本系统完成了学生信息的增加、修改、删除、查询和选课,课程信息的增加、修改、删除、查询,成绩的添加、修改、查询等功能。【关键字】:信息管理系统、模块设计、软件工程。第二部分 目的背景与意义 学生信息管理系统是一个教育单位不可缺少的部分。一个功能齐全、简单易

4、用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差,人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着来越重要的作用。作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有手工管理所无法比拟的优点.例如:

5、检索迅速、查询方便、效率高、可靠性好、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学校信息管理的效率,也是一个单位科学化、正规化管理,与世界接轨的重要条件。第三部分 需求分析学生信息管理系统的功能总结起来,共需要以下几个方面:1. 学生信息管理管理所有学生的基本信息,包括增加、修改、删除等,也可以根据各种条件查询出需要的信息。2. 课程信息管理管理所有课程的基本信息,包括增加、修改、删除等,也可以根据各种条件查询出需要的信。3. 选课与成绩管理根据学号进行选课,登记课程的成绩,可以根据学号查询出来选课信息与成绩。第四部分 系统设计4.1 结构设计根据对系统的需求分析,本系统将分

6、为4个模块:l 学生管理:管理学生的基本信息,包括个人信息的添加、修改、删除,以及选课信息的添加。l 课程管理:管理课程的基本信息,包括课程信息的添加、修改和删除。l 成绩管理:管理学生的选课的成绩信息,包括成绩的登记与修改。l 信息查询:查询已经登记的信息,包括学生的基本信息、课程的基本信息与成绩信息。4.2 功能结构图系统的功能结构如图1所示。学生管理系统学生管理课程管理成绩管理信息查询增加修改删除学生选课增加修改删除增加修改学生查询课程查询成绩查询按学号查询按姓名查询按专业查询按性别查询按学院查询按课程名称查询按授课教师查询查询所有成绩按学分绩点查询按单科成绩查询图1 学生管理系统功能结

7、构图4.3 功能流程以及工作流描述1. 增加学生信息系统操作人员打开学生信息添加界面,输入相关的信息(姓名、性别、民族、籍贯、出生日期、入学年份、专业和学院等),在数据库中添加相关数据。2. 修改学生信息根据学生的学号查询出该学生的相关信息,修改相关条目后保存在数据库中。3. 删除学生信息根据学生的学号查询出该学生的相关信息,确定删除后,在数据库中删除该信息。4. 学生选课选择学生学号与需要选择的课程,确定无误后保存,数据库中将自动添加新的选课记录。5. 增加课程信息系统操作人员根据打开的课程增加界面,输入相关信息(课程名称、授课教师、课程学分、课程系数、上课地点等),在数据库中添加相关的数据

8、。6. 修改课程信息根据课程号查询出该课程的相关信息,修改条目后保存在数据库中。7. 删除课程信息根据课程号查询出该课程的相关信息,确认删除后,在数据库中删除该信息。8. 登记成绩根据学号,以及该学生所选择的课程,进行成绩登记,为选课的同学将无法登记。9. 修改成绩对已经登记的成绩信息进行修改。10. 学生查询可以根据学生学号、学生姓名、学生性别、学生所学专业、学生所属学院来对学生信息进行查询,所有符合查询条件的学生信息将都被显示出来。11. 课程查询按照课程名称和授课教师的名称对课程详细信息进行查询,所有符合查询条件的课程信息都将会被显示出来。12. 成绩查询:根据学生的学号来查询该学生所有

9、课程的成绩。第五部分 数据库的设计5.1数据库设计此系统使用的是mysql数据库,由于此系统需要的数据量不是很大,所以选择比较简便的mysql数据库。此系统的数据库名称是studentsys,创建语句如下:create database studentsys0.1;5.2数据表的设计数据库中包含三个表,即是学生信息表(student)、课程信息表(course)和学生选课表(sc),设计要求如表13所示。表1 学生信息表(student)名称字段名称数据类型主键非空学号snumvarchar(20)yesyes学生姓名snamevarchar(10)nono性别ssexvarchar(2)no

10、no民族sethnicvarchar(4)nono籍贯shomevarchar(20)nono入学年份syearvarchar(10)nono专业smajorvarchar(10)nono学院scollegevarchar(10)nono出生日期sbirthvarchar(10)nono学分绩点spointvarchar(10)nono表2 课程信息表(course)名称字段名称数据类型主键非空课程编码cnumvarchar(10)yesyes课程名称cnamevarchar(20)nono授课教师cteachervarchar(10)nono上课地点cplacevarchar(10)nono

11、课程学分cpointsmallintnono课程系数cratiovarchar(2,2)nono表3 学生选课表(sc)名称字段名称数据类型主键非空学号snumvarchar(20)yesyes课程编码cnumvarchar(10)yesyes成绩gradefloat(4,2)nono数据表student的数据库操作语句是:create table student(snum varchar(20) primary key,sname varchar(20),ssex varchar(2),sethnic varchar(4),shome varchar(20),syear varchar(10

12、),smajor varchar(10),scollege varchar(10),sbirth varchar(10),spoint varchar(10);数据表course的数据库操作语句是:create table course(cnum varchar(10) primary key,cname varchar(20),cteather varchar(10),cplace varchar(10),cpoint smallint,cratio float (2,2);数据表sc的数据库操作语句是:create table sc(snum varchar(20),cnum varcha

13、r(10),grade float(4,2),primary key (snum,cnum),foreign key(snum) references student(snum),foreign key(cnum) references course(cnum);第六部分 详细设计该系统由6个模块构成,包括学生管理系统主界面模块、学生信息管理模块、课程信息管理模块、成绩管理模块、信息查询模块和数据库操作模块,以下分别加以叙述:6.1 学生管理系统主界面模块学生管理系统的主界面模块包括stums.java和stumain.java两个文件。stums是学生管理系统的主运行类,其中有整个程序的主方

14、法main,该文件生成了stumain类的一个实例,从而生成了学生管理系统的主界面,如图2所示。stumain类继承了jframe类,实现了事件监听接口,它有一个不带参数的构造函数stumain(),用来生成stumain实例,stumain类将所有的功能集中到面板中,面板上的按键是按网格排布,生成按钮,通过按钮的响应函数调用其他模块的函数来实现学生管理系统的各个功能,以下是主界面的运行程序:图6.1.1 主界面运行程序6.2 学生信息管理模块学生信息管理模块主要由stuinfo.java、addstuinfo.java、editstuinfo.java、delstuinfo.java、sel

15、ectcourse.java和stuinfosearchsnum.java这六个文件组成,每个java文件只有一个类,完全实现模块化设计,stuinfo类是addstuinfo、editstuinfo、delstuinfo的超类,因为这三个类生成的界面是相同的具有共同之处。selectcourse模块是选课模块,stuinfosearchsnum是查询模块,用于addstuinfo、editstuinfo、delstuinfo调用来查询学生信息以便增加、修改和删除学生信息。学生信息管理模块的几个界面如下:图 6.2.1 学生信息添加界面图6.2.2 学生信息修改界面图6.2.3 学生信息删除界

16、面图6.2.3 学生选课界面6.3 课程信息管理模块课程信息管理模块主要由courseinfo.java、addcourseinfo.java、editcourseinfo.java、delcourseinfo.java和stuinfosearchsnum.java这六个文件组成,每个java文件只有一个类,完全实现模块化设计,courseinfo类是addcourseinfo、editcourseinfo、delcourseinfo的超类,因为这三个类生成的界面是相同的具有共同之处。courseinfosearchsnum是查询模块,用于addcourseinfo、editcourseinf

17、o、delcourseinfo调用来查询课程以便增加、修改和删除课程。课程信息管理模块的几个界面如下:图 6.3.1 课程信息增加界面图 6.3.1 课程信息修改界面图 6.3.1 课程信息删除界面6.4 查询模块查询模块分学生信息查询、课程信息查询和成绩查询:界面如下:图 6.4 查询模块图6.5 数据库操作模块数据库操作模块包括连接数据库和数据库操作,连接数据库在类database.java中,操作数据库类分别在几个不同的类里,学生信息操作在stubean.java,选课操作在csbean.java中,课程操作在crsbean.java中,代码在附录里,这里就不重复了。第七部分 课程设计心

18、得在本系统的开发过程中,由于本人是初次开发软件,在知识、经验方面都存在着不足。另外,在整个开发的过程中,时间也比较仓促。因此,该系统必然会存在一些缺陷和不足。因为对学生信息管理的整个流程不够熟悉,在需求分析时未能做到完全满足用户的需求。尽管本管理系统存在着很多不足,但其功能全面、易于日后程序更新、数据库管理容易、界面友好、操作方便、效率高、安全性好等优点是本管理系统所必需的。通过开发这个系统,我掌握了的项目基本开发过程,用到的知识巩固了我对java的学习,但在这次设计中的最大收获并不是掌握这几门开发工具的应用,而是学会了设计系统的思维方法,以及与同学们之间相互帮助的精神。从开始入手到做完报告,

19、我收获很多,在这,衷心的感谢赵宏宇老师给予了精心的指导和热情的帮助,导师提出许多宝贵的设计意见,这样使得我得以顺利的完成课程设计开发工作,在短暂的一个学期的相处时间里,老师渊博的知识、敏锐的思路和实事求是的工作作风给我留下了深刻的印象,这将使得我终身受益,谨此向老师表示衷心的感谢和崇高的敬意!第八部分 附录(按名称排序)/addcourseinfo.java/import java.awt.event.*;import java.awt.*;import javax.swing.*;/* * 课程信息管理模块 * 添加新的课程信息 */public class addcourseinfo ex

20、tends courseinfocrsbean getcnum = new crsbean();public addcourseinfo() this.settitle(添加课程信息);this.setresizable(false);cnum.seteditable(true);cname.seteditable(true);cteacher.seteditable(true);cpoint.seteditable(true);cratio.seteditable(true);cplace.seteditable(true);/设置运行位置,使对话框居中dimension screensiz

21、e = toolkit.getdefaulttoolkit().getscreensize();this.setlocation( (int) (screensize.width - 400) / 2 ,(int) (screensize.height - 300) / 2 +45);public void downinit()addinfo.settext(增加);addinfo.setfont(new font(dialog,0,12);downpanel.add(addinfo);clearinfo.settext(清空);clearinfo.setfont(new font(dialo

22、g,0,12);downpanel.add(clearinfo);eixtinfo.settext(退出);eixtinfo.setfont(new font(dialog,0,12);downpanel.add(eixtinfo);this.contentpane.add(downpanel,borderlayout.south);/添加事件侦听addinfo.addactionlistener(this);clearinfo.addactionlistener(this);eixtinfo.addactionlistener(this);/* * 事件处理 */public void ac

23、tionperformed(actionevent e) object obj = e.getsource();if (obj = eixtinfo) /退出this.dispose();else if (obj = addinfo) /增加cnum.setenabled(false);cname.seteditable(false);cteacher.seteditable(false);cpoint.seteditable(false);cratio.seteditable(false);cplace.seteditable(false);addinfo.setenabled(false)

24、;clearinfo.setenabled(false);eixtinfo.setenabled(false);crsbean addcrs = new crsbean();addcrs.crsadd(cnum.gettext(),cname.gettext(), cteacher.gettext(), cplace.gettext(), cpoint.gettext(), cratio.gettext();this.dispose();addcourseinfo aci = new addcourseinfo();aci.downinit();aci.pack();aci.setvisibl

25、e(true);this.dispose();else if (obj = clearinfo) /清空setnull();cnum.settext();/addgradeinfo.java/import java.awt.event.*;import java.awt.*;import javax.swing.*;/* * 成绩信息管理模块 * 添加新的成绩信息 */public class addgradeinfo extends gradeinfo implements actionlistenerpublic addgradeinfo() this.settitle(添加成绩信息);t

26、his.setresizable(false);/设置运行位置,使对话框居中dimension screensize = toolkit.getdefaulttoolkit().getscreensize();this.setlocation( (int) (screensize.width - 400) / 2 ,(int) (screensize.height - 300) / 2 +45);public void downinit()addinfo.settext(增加);addinfo.setfont(new font(dialog,0,12);downpanel.add(addinf

27、o);eixtinfo.settext(退出);eixtinfo.setfont(new font(dialog,0,12);downpanel.add(eixtinfo);this.contentpane.add(downpanel,borderlayout.south);snum.addactionlistener(this);addinfo.addactionlistener(this);eixtinfo.addactionlistener(this);/* * 事件处理 */public void actionperformed(actionevent e) object obj =

28、e.getsource();if (obj = addinfo) /增加cnum.setenabled(false);cname.seteditable(false);cteacher.seteditable(false);grade.seteditable(false);snum.seteditable(false);sname.seteditable(false);addinfo.setenabled(false);clearinfo.setenabled(false);eixtinfo.setenabled(false);csbean addgrade = new csbean();ad

29、dgrade.csmodify(cnum.gettext(),(string)snum.getselecteditem(),grade.gettext();this.dispose();addgradeinfo agi = new addgradeinfo();agi.downinit();agi.pack();agi.setvisible(true);else if (obj = eixtinfo) /退出this.dispose();else if (obj = snum) /选择学号stubean sn = new stubean();sname.settext(sn.stusearch

30、(string)snum.getselecteditem()0);if(cname.getitemcount()0)cname.removeallitems();csbean cn = new csbean();creturn = cn.cnamesearch(string)snum.getselecteditem();if(creturn = null)cname.removeactionlistener(this);joptionpane.showmessagedialog(null,该学生没有选择课程!);addinfo.setenabled(false);cname.setenable

31、d(false);elseint i = 0;for(i = 0; i (creturn.length); i+)cname.additem(creturni);cname.setenabled(true);snum.setenabled(false);cname.setselecteditem(null);cname.addactionlistener(this);else if (obj = cname) /选择课程号crsbean csname = new crsbean();cnum.settext(csname.crsnamesearch(string)cname.getselect

32、editem(),(string)snum.getselecteditem()0);cteacher.settext(csname.crsnamesearch(string)cname.getselecteditem(),(string)snum.getselecteditem()1);addinfo.setenabled(true);cname.setenabled(false);cname.removeactionlistener(this);/addstuinfo.java/import java.awt.event.*;import java.awt.*;import javax.sw

33、ing.*;/*setnull * 学生信息管理模块 * 添加新的学生信息 */public class addstuinfo extends stuinfo stubean getsnum = new stubean();public addstuinfo() this.settitle(添加学生信息);this.setresizable(false);snum.seteditable(true);/snum.settext(+getsnum.getstuid();sname.seteditable(true);ssex.seteditable(true);ssethnic.setedita

34、ble(true);sbirth.seteditable(true);syear.seteditable(true);smajor.seteditable(true);scollege.seteditable(true);shome.seteditable(true);/设置运行时窗口的位置dimension screensize = toolkit.getdefaulttoolkit().getscreensize();this.setlocation(screensize.width - 400) / 2, (screensize.height - 300) / 2 + 45);publi

35、c void downinit()addinfo.settext(增加);addinfo.setfont(new font(dialog,0,12);downpanel.add(addinfo);clearinfo.settext(清空);clearinfo.setfont(new font(dialog,0,12);downpanel.add(clearinfo);eixtinfo.settext(退出);eixtinfo.setfont(new font(dialog,0,12);downpanel.add(eixtinfo);/添加事件侦听addinfo.addactionlistene

36、r(this);clearinfo.addactionlistener(this);eixtinfo.addactionlistener(this);this.contentpane.add(downpanel,borderlayout.south);/* * 事件处理 */public void actionperformed(actionevent e) object obj = e.getsource();if (obj = eixtinfo) /退出this.dispose();else if (obj = addinfo) /增加snum.setenabled(false);snam

37、e.setenabled(false);ssex.setenabled(false);ssethnic.setenabled(false);sbirth.setenabled(false);syear.setenabled(false);smajor.setenabled(false);scollege.setenabled(false);shome.setenabled(false);addinfo.setenabled(false);clearinfo.setenabled(false);eixtinfo.setenabled(false);stubean addstu = new stu

38、bean();addstu.stuadd(snum.gettext(),sname.gettext(), ssex.gettext(), sbirth.gettext(), shome.gettext(), ssethnic.gettext(), syear.gettext(), smajor.gettext(), scollege.gettext();this.dispose();addstuinfo asi = new addstuinfo();asi.downinit();asi.pack();asi.setvisible(true);else if (obj = clearinfo)

39、/清空setnull();/snum.settext(+getsnum.getstuid();/courseinfo.java/import javax.swing.*;import java.awt.*;import java.awt.event.*;import .*;/* * 课程信息综合管理类 * 提供主界面,供其他类继承 */public class courseinfo extends jframe implements actionlistenercontainer contentpane;jpanel centerpanel = new jpanel();jpanel uppa

40、nel = new jpanel();jpanel downpanel = new jpanel();/框架的大小dimension facesize = new dimension(800, 500);jlabel jlabel1 = new jlabel();jlabel jlabel2 = new jlabel();jlabel jlabel3 = new jlabel();jlabel jlabel4 = new jlabel();jlabel jlabel5 = new jlabel();jlabel jlabel6 = new jlabel();jtextfield cnum =

41、new jtextfield(15);jtextfield cname = new jtextfield(15);jtextfield cteacher = new jtextfield(15);jtextfield cpoint = new jtextfield(15);jtextfield cratio = new jtextfield(15);jtextfield cplace = new jtextfield(15);jbutton searchinfo = new jbutton();jbutton addinfo = new jbutton();jbutton modifyinfo

42、 = new jbutton();jbutton deleteinfo = new jbutton();jbutton clearinfo = new jbutton();jbutton saveinfo = new jbutton();jbutton eixtinfo = new jbutton();gridbaglayout girdbag = new gridbaglayout();gridbagconstraints girdbagcon;public courseinfo() this.setsize(facesize);/设置标题this.settitle(课程综合信息管理); t

43、his.setresizable(false);/设置程序图标this.seticonimage(getimage(icon.gif);tryinit();catch(exceptione) e.printstacktrace();public void init() throws exception contentpane = this.getcontentpane();contentpane.setlayout(new borderlayout();/中部面板的布局centerpanel.setlayout(girdbag);jlabel1.settext(课程编码:);jlabel1.s

44、etfont(new font(dialog,0,12);girdbagcon = new gridbagconstraints();girdbagcon.gridx = 0;girdbagcon.gridy = 0;girdbagcon.insets = new insets(10,10,10,1);girdbag.setconstraints(jlabel1,girdbagcon);centerpanel.add(jlabel1);girdbagcon = new gridbagconstraints();girdbagcon.gridx = 1;girdbagcon.gridy = 0;

45、girdbagcon.insets = new insets(10,1,10,15);girdbag.setconstraints(cnum,girdbagcon);centerpanel.add(cnum);jlabel2.settext(课程名称:);jlabel2.setfont(new font(dialog,0,12);girdbagcon = new gridbagconstraints();girdbagcon.gridx = 2;girdbagcon.gridy = 0;girdbagcon.insets = new insets(10,15,10,1);girdbag.set

46、constraints(jlabel2,girdbagcon);centerpanel.add(jlabel2);girdbagcon = new gridbagconstraints();girdbagcon.gridx = 3;girdbagcon.gridy = 0;girdbagcon.insets = new insets(10,1,10,10);girdbag.setconstraints(cname,girdbagcon);centerpanel.add(cname);jlabel3.settext(授课老师:);jlabel3.setfont(new font(dialog,0

47、,12);girdbagcon = new gridbagconstraints();girdbagcon.gridx = 0;girdbagcon.gridy = 1;girdbagcon.insets = new insets(10,10,10,1);girdbag.setconstraints(jlabel3,girdbagcon);centerpanel.add(jlabel3);girdbagcon = new gridbagconstraints();girdbagcon.gridx = 1;girdbagcon.gridy = 1;girdbagcon.insets = new

48、insets(10,1,10,15);girdbag.setconstraints(cteacher,girdbagcon);centerpanel.add(cteacher);jlabel4.settext(课程学分:);jlabel4.setfont(new font(dialog,0,12);girdbagcon = new gridbagconstraints();girdbagcon.gridx = 2;girdbagcon.gridy = 1;girdbagcon.insets = new insets(10,15,10,1);girdbag.setconstraints(jlab

49、el4,girdbagcon);centerpanel.add(jlabel4);girdbagcon = new gridbagconstraints();girdbagcon.gridx = 3;girdbagcon.gridy = 1;girdbagcon.insets = new insets(10,1,10,10);girdbag.setconstraints(cpoint,girdbagcon);centerpanel.add(cpoint);jlabel5.settext(课程系数:);jlabel5.setfont(new font(dialog,0,12);girdbagco

50、n = new gridbagconstraints();girdbagcon.gridx = 0;girdbagcon.gridy = 2;girdbagcon.insets = new insets(10,10,10,1);girdbag.setconstraints(jlabel5,girdbagcon);centerpanel.add(jlabel5);girdbagcon = new gridbagconstraints();girdbagcon.gridx = 1;girdbagcon.gridy = 2;girdbagcon.insets = new insets(10,1,10,15);girdbag.setconstraint

温馨提示

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

评论

0/150

提交评论