版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上 成人高等学历教育本科毕业论文 题目: VB图书管理系统设计 学习形式: 函 授 专 业: 计算机科学与技术 层次学制: 专升本 年 级: 2013级 学 号: 226A 学生姓名: 杨国椿 导师姓名: 林晖 2015年 7月15 日VB图书管理系统设计学号:226A 作者:杨国椿 指导教师:林晖【摘要】计算机的应用越来越广泛,在图书管理系统中,用计算机管理图书管理是一种计算机应用技术的创新,在计算机还未普及之前图书管理都是由图书管理人员手工记帐的方式来操作的.现在一般的图书馆都是采用计算机作为工具的实用的计算机图书管理程序来帮助图书馆管理员进行更有效的图书管理。该论
2、文着重论述了运用vb程序设计与后台数据库链接等关键技术所建立系统界面的布局分析,功能的实现及管理。图书管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。【关键字】图书,面向对象,软件工程,管理系统,设计目 录第一章 概述. 21.1开发背景. 21.2管理信息系统产生的背景. 21.3系统功能要求的分析. 2第二章 开发环境及实现技术介绍. 32.1开发环境. 32.2开发工具简介. 4第三章 图书管理系统的设计和实现. 83.1系统的设计. 83.1.1概要设计. 83.1.2详细设计 83.2系统的实现 93.2.1主界面的设计与实
3、现.93.2.2图书管理模块的设计与实现.113.2.3读者管理模块的设计与实现.133.2.4图书借阅管理模块的实现163.2.5系统管理模块的设计与实现.17第四章 图书管理系统的运行说明.184.1运行环境18致 谢19参考文献20专心-专注-专业第一章 概述1.1开发背景在信息化时代,数据库系统的建设实现对数据信息化的管理。在此基础上建立了图书管理系统,为其信息时代管理和交流提供了极大的便利.现在一般的图书馆都是采用计算机作为工具的实用的计算机图书管理程序来帮助图书馆管理员进行更有效的图书管理。1.2图书管理系统产生的背景图书管理系统是典型的信息管理系统(MIS),其开发主要包括后台数
4、据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。经过分析,我们使用 MICROSOFT公司的 VISUAL BASIC开发工具,利用其提供的各种面向对象的开发工具,尤其是数据窗口这一能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成用户满意的可行系统。 1.3 系统功能要求的分析图书管理系统主要服务与图书管理人员,包含的功能模块主要有:一. 图书管理:图书类别管理,图书信息管理二. 读者管理:读者管理,读者信息管理
5、.三. 图书借阅管理:借书管理,还书管理.四. 系统管理:添加管理员,修改密码,退出系统第二章 开发环境及实现技术介绍2.1开发环境硬件平台CPUIntel P4 1.5G主板Intel 850芯片组的GA-8TX-C内存2×128M的三星Rambus内存硬盘Seagate Barracuda 7200.7 80G显卡Unika 小妖G9800显示器美格770PF,17寸纯平显示器软件环境操作系统Microsoft WindowsXP简体中文专业版SP1办公软件Microsoft Office 2003显卡驱动nVIDIA ForceWare驱动56.72版For Win2000/X
6、P硬件平台: CPU:2.3GH。 内存:2GB。 显示器:1024×768或更高。软件平台: 操作系统:Windows7。 数据库:SQL Server 2008. 开发环境:Microsoft .NET Framework SDK 开发软件介绍本系统所采用的编程语言为v
7、isual basic 6.0与 微软的 access作为操作数据库.现分别对其简单介绍:Visual Basic 6.0是Micrsoft公司出品的开发工具,Visual Basic是一种可视化的,面向对象的Windows开发语言,它具有易用,通用和开发效率高的特点。随着微软对它不断地改进以及计算机本身性能的提高,使得Visual Basic越来越适合一般的应用程序开发。正如Bill Gate所说,世界上绝大多数的Windows应用程序是用Visual Basic编写的。在众多的开发工具中,我们为什么要选择Visual Basic6.0呢?因为VB具有众多其它开发工具所没有的优点!具体介绍如
8、下:u 开发的高效u 语言的高效u 编译的高效u 执行的高效u 维护的高效基于以上理由,我们毫不忧郁的选择了VB6.0做为我们的开发工具!主要的控件及其基本属性,事件简介u 命令按钮类的控件:1) Caption属性:用来显示在控件上的标题。2) Enable属性:控制控件的激活状态灰色或可用。3) Appearance属性:值为1时,则以3D效果显示该控件,0则不然。4) Backcolor属性:用来改变在按钮上显示图像的背景色。Index属性:当控件为一控件数组时,此属性值为该控件在数组的下标值.5) DownPicture属性:设置/返回一个对图片的引用,该图片在按钮被单击处于压下状态时
9、显示。u 命令按钮类的事件:1) 单击事件Click事件(1) 触发与适用此事件是在一个命令按钮对象上按下然后释放一个鼠标按钮时发生。命令按钮的Click事件仅对当单击鼠标时发生。(2) 事件处理过程按钮单击事件的处理过程为:Private Sub object-Click(Index As Integer)其中Object为引发该事件的对象名称。如果是命令按钮的控件是数组,则需要使用Index参数标识该控件。2) 获得焦点GotFocus事件触发与适用 当命令按钮获得焦点产生该事件,获得焦点可以通过诸如Tab切换或单击对象之类的用户动作,或在代码中用SetFocus方法改变焦点来实现。事件处
10、理过程命令按钮GotFoucs事件处理过程为:Private Sub Object-GotFocus(Index As Integer)3) LostFocus事件:当一个对象失去焦点时发生4) KeyDown事件:当命令按钮具有焦点时按下一个键时发生5) KeyUp事件:当命令按钮具有焦点时释放一个键时发生。u 标签框类的控件类的控件:1) Caption属性:在应用程序界面上加入说明。2) Autosize属性:决定控件是否自动改变大小以显示其全部内容。3) Backstyle属性:用以指示标签是否透明.4) Bordstyle属性:用以设定控件是否有边框。u 文本框类的控件:1) Tex
11、t属性:通过像text属性赋值的方法来改变该属性的值。2) Maxlength属性:该属性设定在文本框控件中能够输入的最大字符数。3) Multline属性:该属性设定text字符串中是否接受换行符。4) Scrollbars属性:该属性决定是否为文本框加滚动条。5) Passwordchar属性:该属性设定输入文本的特殊显示字符,在设计密码程序时非常有用。6) Change事件属性:文本框的内容发生改变时,相应的控件之间发生相应的改变,具有即时性。7) Keypress:事件由用户在文本框控件中按任意键触发。8) Alignment属性:设定控件中的文本对其方式9) Appearance属性
12、:设定一个对象在运行时是否可以3D效果显示。10) BackColor属性:设置返回背景色u 文本框类的事件:1) Change事件:当改变文本框内容时发生2) Click事件:鼠标单击控件时发生3) DblClick事件:用鼠标左键双击控件时发生4) DragDrop事件:在一个完整的拖放动作完成或使用Drag方法,并将其Action参数设置为2时发生u 单选按钮类的控件:1) Caption属性:显示在控件上的文本,是单选按钮的标题。2) Alignment属性:决定单选按钮的标题在控件上的位置。3) Enable属性:该控件为灰色时为false,表示运行时不可用。4) Index属性:属
13、性值表示为单选按钮组成的控件中某个按钮的索引值。5) Tabindex属性:建立控件时,vb自动为其分配一个tabindex值,利用tab键可以在控件之间切换焦点。6) MaskColor 属性:设置/返回一个在控件的图片中作为掩码的颜色。7) MousePointer 属性:设置/返回一个值,该值指示在运行时当鼠标移动到对象上时显示的指针类型。u 单选按钮类的常用事件:1) Click 事件:鼠标单击控件时发生。2) DbClick事件: 当在一个对象上按下和释放鼠标按钮并再次按下和释放按钮时,该事件发生。复选按钮类的控件:2) Caption属性:缺省为check1。3) Index属性:
14、该属性值为复选框控件数组的下标.4) Value属性:value为0表空白,为1表勾号,为2表示灰色勾号.5) Container属性:Form控件上的容器。6) DataChangeed属性:设置/返回一个值,指出被绑定的控件中的数据已经被某进程修改。u 复选按钮类的控件的基本事件:1) Click事件:鼠标单击控件时发生。2) DragDrop事件:在一个完整的拖放动作完成或使用Drag方法,并将其Action参数设置为2时发生。3) DragOver事件:在拖放操作正在进行时发生。u 框架类的控件:1) List属性:列表框控件的表项是使用数组的方式保存,数组的每一个元素存储列表控件的一
15、个表项u 滚动条类的控件:1) Value属性:滚动条上滑块所在位置由value值所决定。2) Max和min属性:对value值的最大,最小进行限制。3) Largechange属性:用户点击滚动条与键头之间的区域时,value的改变量。4) OnClick事件:用来添加按钮的单击事件所执行的程序代码。u 定时器类类的控件:1) Interval属性:表示定时的时间间隔,以毫秒为单位。2) Enable属性:为true时(缺省值),激活定时器开始计时;为false时处于休眠状态.数据库连接方式选择Visual basic6.0连接数据库的主要方式以下几种方式:一是:用data控件进行数据库链
16、接 ,二是利用adodc(ADO Data Control)进行数据库链接 。三是: 利用DataEnvironment进行数据库链接.四是利用ADO(ActiveX Data Objects)进行编程:现在我们来大致对这几种技术应用介绍:一、 用data控件进行数据库链接.第一步:给窗体添加一个Data控件。第二步:用Access建立一个名为Pad的数据库,在库中建立一个表Myset,给表添加四个字段:backcolor(数据),forecolor(文本),fontname(文本),fontsize(文本)。注意:请将库文件存入程序所在目录。 如果你的机器没安装有Access,可通过VB建库
17、。二、 利用adodc(ADO Data Control)进行数据库链接:使用adodata控件访问数据库可以完全不用编写代码,只需要通过简单的设置和操作其属性就可以实现与数据库的连接,通过绑定数据感知控件,就能提供一个访问数据库的界面,用来实现对数据库的浏览,贴加,删除,修改等操作.三、 利用DAO对数据库进行操纵:在visual basic 中提供了两种与jet数据引擎接口的方法:data控件与数据访问对象(DAO)DAO是database object的英文缩写,要访问数据库一方面数据库要提供访问接口,另一方面要在编程环境中有对数据库的支持.DAO模型是设计关系数据库系统结构的对象类的集
18、合.他们提供了管理关系型数据库系统所需要的全部操作属性和方法,这其中包括建立数据库,定义表,字段和建立表间关系,定位和查询数据库等.关系数据库介绍:关系数据库是目前各类数据库中最重要、最流行的数据库,他应用数学方法来处理数据库数据,是目前使用最广泛的数据库系统。20世纪70年代以后开发的数据库管理系统产品几乎都是基于关系的。在数据库发展的历史上,最重要的成就就是关系模型。 关系数据库系统与非关系数据库系统的区别是:关系系统只有“表“这一种数据结构;而非关系数据库系统还有其他数据结构,对这些数据结构有其他的操作。结构化查询语言SQL(Structured Query Language)是一种介于
19、关系代数与关系演算之间的语言,其功能包括查询、操纵、定义和控制四个方面,是一个通用的、功能极强的关系数据库语言。目前已成为关系数据库的标准语言 Microsoft Access介绍:使用 Microsoft Access,可以在单一的数据库文件中管理所有的信息。在这个文件中,用户可以将自己的数据分别保存在各自独立的存储空间中,这些空间称作表;可以使用联机窗体来查看、添加及更新表中的数据;使用查询来查找并检索所要的数据;也可以使用报表以特定的版面布置来分析及打印数据。如果要保存数据,请为每一种类型的信息创建一个表。如果要从查询、窗体或报表中的多个表中将数据
20、合并在一起,就要定义各个表之间的关系。 如果要搜索并检索符合指定条件的数据,包括来自多个表中的数据,就要创建查询。查询的同时也可以更新或删除多条记录,并对数据执行内嵌或自定义的计算。如果要简单地直接在某个表中查看、输入及更改数据,请创建一个窗体。在打开一个窗体时,Microsoft Access 将从一个或多个表中检索数据,并使用用户在“窗体向导”选择的版面布局或所创建的版面布局,将窗体显示在屏幕上。 如果要分析数据或将数据以特定的方式打印出来,请创建一个报表。例如,可以打印一份将数据分组并计算数据总和的报表,也可以打印另一份带有各种数据格式的打印邮件标签的报表。第三章 图
21、书管理系统的设计与实现3.1 系统的设计3.1.1系统的概要设计该系统考虑将整个系统分解成如下模块:主界面图书管理图书信息管理读者类别管理读者信息管理图书借阅管理借书管理还书管理系统管理登录图书类别管理读者管理3.1.2 系统的详细设计1.读者类别表 2.读者信息表: 3. 借阅信息表: 4. 书籍信息表: 5.图书类别表: 6.系统管理表: 3.2 系统的设计与实现3.2.1 系统的主界面的设计与实现主界面代码:Private Sub add_admin_Click()frmadduser.ShowEnd SubPrivate Sub add_back_book_Click()frmback
22、bookinfo.ShowEnd SubPrivate Sub add_book_info_Click()frmaddbookinfo.ShowEnd SubPrivate Sub add_book_style_Click()frmaddbookstyle.ShowEnd SubPrivate Sub add_lend_book_Click()frmfindbook.ShowEnd SubPrivate Sub add_reader_info_Click()frmaddreaderinfo.ShowEnd SubPrivate Sub add_reader_style_Click()frmad
23、dreaderstyle.ShowEnd SubPrivate Sub change_pwd_Click()frmchangepwd.ShowEnd SubPrivate Sub del_book_info_Click()frmmodifybookinfo.ShowEnd SubPrivate Sub del_book_style_Click()frmmodifybookstyle.ShowEnd SubPrivate Sub del_reader_info_Click()frmreaderinfo.ShowEnd SubPrivate Sub del_reader_style_Click()
24、frmmodifyreaderstyle.ShowEnd SubPrivate Sub exit_sys_Click()EndEnd SubPrivate Sub find_book_info_Click()frmfindbook.ShowEnd SubPrivate Sub find_lend_book_Click()frmfindborrowinfo.ShowEnd SubPrivate Sub find_reader_info_Click()frmfindreader.ShowEnd SubPrivate Sub modify_book_info_Click()frmmodifybook
25、info.ShowEnd SubPrivate Sub modify_book_style_Click()frmmodifybookstyle.ShowEnd SubPrivate Sub modify_reader_info_Click()frmreaderinfo.ShowEnd SubPrivate Sub modify_reader_style_Click()frmmodifyreaderstyle.ShowEnd Sub3.2.2 图书管理模块的设计与实现图书管理模块主要由:图书类别管理,图书信息管理.图书类别管理又分别由以下几个界面构成:1. 添加图书类别添加图书类别代码:Priv
26、ate Sub Command1_Click()Dim rs_bookstyle As New ADODB.RecordsetDim sql As StringIf Trim(Text1.Text) = "" Then MsgBox "图书种类不能为空", vbOKOnly + vbExclamation, "" Text1.SetFocus Exit SubEnd IfIf Trim(Text2.Text) = "" Then MsgBox "种类编号不能为空", vbOKOnly + vbE
27、xclamation, "" Text2.SetFocus Exit SubEnd Ifsql = "select * from 图书类别 where 类别名称='" & Text1.Text & "'"rs_bookstyle.Open sql, conn, adOpenKeyset, adLockPessimisticIf rs_bookstyle.EOF Then rs_bookstyle.AddNew rs_bookstyle.Fields(0) = Trim(Text1.Text) rs_bo
28、okstyle.Fields(1) = Trim(Text2.Text) rs_bookstyle.Update MsgBox "添加图书类别成功!", vbOKOnly, "" rs_bookstyle.CloseElse MsgBox "读者类别重复!", vbOKOnly + vbExclamation, "" Text1.SetFocus Text1.Text = "" rs_bookstyle.Close Exit SubEnd IfEnd Sub2. 修改图书类别:修改图书类别代码:
29、Private Sub Form_Load()Dim sql As StringOn Error GoTo loaderrorsql = "select * from 图书类别"rs_reader.CursorLocation = adUseClientrs_reader.Open sql, conn, adOpenKeyset, adLockPessimistic '打开数据库cmdupdate.Enabled = False'设定datagrid控件属性DataGrid1.AllowAddNew = False '不可增加DataGrid1.Al
30、lowDelete = False '不可删除DataGrid1.AllowUpdate = FalseIf userpow = "guest" Then '权限相关 Frame2.Enabled = FalseEnd IfSet DataGrid1.DataSource = rs_readerExit Subloaderror: MsgBox Err.DescriptionEnd Sub3.2.3 读者管理模块的设计与实现1.添加读者类别界面:Private Sub Command1_Click()Dim sql As StringIf Trim(Text
31、1.Text) = "" Then MsgBox "读者种类不能为空", vbOKOnly + vbExclamation, "" Text1.SetFocus Exit SubEnd IfIf Trim(Text2.Text) = "" Then MsgBox "借书数量不能为空", vbOKOnly + vbExclamation, "" Text2.SetFocus Exit SubEnd IfIf Trim(Text3.Text) = "" The
32、n MsgBox "借书期限不能为空", vbOKOnly + vbExclamation, "" Text3.SetFocus Exit SubEnd IfIf Trim(Text4.Text) = "" Then MsgBox "有限期限不能为空", vbOKOnly + vbExclamation, "" Text4.SetFocus Exit SubEnd Ifsql = "select * from 读者类别 where 种类名称='" & Text
33、1.Text & "'"rs_readerstyle.Open sql, conn, adOpenKeyset, adLockPessimisticIf rs_readerstyle.EOF Then rs_readerstyle.AddNew rs_readerstyle.Fields (0) = Trim(Text1.Text) rs_readerstyle.Fields (1) = CInt(Text2.Text) rs_readerstyle.Fields (2) = CInt(Text3.Text) rs_readerstyle.Fields (3
34、) = CInt(Text4.Text) rs_readerstyle.Update MsgBox "添加读者类别成功!", vbOKOnly, "" rs_readerstyle.CloseElse MsgBox "读者类别重复!", vbOKOnly + vbExclamation, "" Text1.SetFocus Text1.Text = "" rs_readerstyle.Close Exit SubEnd IfEnd Sub3. 查询读者信息代码分析:Private Sub Com
35、mand1_Click()Dim rs_findreader As New ADODB.RecordsetDim sql As StringIf Check1.Value = vbChecked Then sql = "读者编号='" & Trim(Text1.Text & " ") & "'"End IfIf Check2.Value = vbChecked Then If Trim(sql) = "" Then sql = "读者姓名='" &
36、amp; Trim(Text2.Text & " ") & "'" Else sql = sql & "and 读者姓名='" & Trim(Text2.Text & " ") & "'" End IfEnd IfIf Check3.Value = vbChecked Then If Trim(sql) = "" Then sql = "读者类别='" & Trim(C
37、ombo1.Text & " ") & "'" Else sql = sql & "and 读者类别='" & Trim(Combo1.Text & " ") & "'" End IfEnd Ifsql = "select * from 读者信息 where " & sqlrs_findreader.CursorLocation = adUseClientrs_findreader.Open sq
38、l, conn, adOpenKeyset, adLockPessimisticDataGrid1.AllowAddNew = FalseDataGrid1.AllowDelete = FalseDataGrid1.AllowUpdate = FalseSet DataGrid1.DataSource = rs_findreader'rs_findreader.CloseEnd Sub3.2.4 图书借阅管理模块的设计与实现代码实现:Private Sub Command1_Click()Dim sql As StringDim rs_find As New ADODB.Records
39、etIf Option1.Value = True Then sql = "select * from 书籍信息 where 是否被借出='是'"End IfIf Option2.Value = True Then sql = "select * from 书籍信息 where 是否被借出='否'"End IfIf Option3.Value = True Then sql = "select * from 借阅信息 where 读者姓名='" & Text1.Text & &q
40、uot;'"End If rs_find.CursorLocation = adUseClient rs_find.Open sql, conn, adOpenKeyset, adLockPessimistic DataGrid1.AllowAddNew = False DataGrid1.AllowDelete = False DataGrid1.AllowUpdate = False Set DataGrid1.DataSource = rs_findEnd Sub3.2.5系统管理模块的设计与实现Private Sub Command1_Click()Dim sql A
41、s StringDim rs_add As New ADODB.RecordsetIf Trim(Text1.Text) = "" Then MsgBox "用户名不能为空", vbOKOnly + vbExclamation, "" Exit Sub Text1.SetFocusElse sql = "select * from 系统管理" rs_add.Open sql, conn, adOpenKeyset, adLockPessimistic While (rs_add.EOF = False) If Tr
42、im(rs_add.Fields(0) = Trim(Text1.Text) Then MsgBox "已有这个用户", vbOKOnly + vbExclamation, "" Text1.SetFocus Text1.Text = "" Text2.Text = "" Text3.Text = "" Combo1.Text = "" Exit Sub Else rs_add.MoveNext End If Wend If Trim(Text2.Text) <>
43、 Trim(Text3.Text) Then MsgBox "两次密码不一致", vbOKOnly + vbExclamation, "" Text2.SetFocus Text2.Text = "" Text3.Text = "" Exit Sub ElseIf Trim(Combo1.Text) <> "system" And Trim(Combo1.Text) <> "guest" Then MsgBox "请选择正确的用户权限&quo
44、t;, vbOKOnly + vbExclamation, "" Combo1.SetFocus Combo1.Text = "" Exit Sub Else rs_add.AddNew rs_add.Fields(0) = Text1.Text rs_add.Fields(1) = Text2.Text rs_add.Fields(2) = Combo1.Text rs_add.Update rs_add.Close MsgBox "添加用户成功", vbOKOnly + vbExclamation, "" Unload Me End IfEnd IfEnd Sub第四章 图书管理系统运行环境4.1运行环境 硬件平台:CPU Intel P4 1.5G主板:Intel 850芯片组的GA-8TX-C内存2×128M的三星Rambus内存硬盘Seagate Barracuda 7200.7 80G显卡Unika 小妖G9800显示器美格770PF,17寸纯平显示器软件环境操作系统Microsoft WindowsXP简体中文专业版SP1致 谢总
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 海关出口报关合同
- 合同采用fidic条文
- 幼儿园《哈哈小孩》教学课件设计
- 煤矿工会管理相关制度汇编
- 农村临时救助申请书3篇
- 路演活动策划方案(共6篇)
- 2024劳动合同保密协议
- 2024车辆汽车买卖合同
- 生物谷解决方案
- 深圳大学《音乐剪辑与制作》2023-2024学年第一学期期末试卷
- 《耳穴疗法治疗失眠》课件
- 询盘分析及回复
- 氯化工艺安全培训课件
- 指导巡察工作精细科学
- 企业法律知识培训消费者权益保护实务
- 快乐读书吧-读后分享课:《十万个为什么》教学案列
- 2024年 贵州茅台酒股份有限公司招聘笔试参考题库含答案解析
- 河上建坝纠纷可行性方案
- 第五单元学雷锋在行动(教案)全国通用五年级下册综合实践活动
- 2024年华融实业投资管理有限公司招聘笔试参考题库含答案解析
- 2024年1月普通高等学校招生全国统一考试适应性测试(九省联考)历史试题(适用地区:贵州)含解析
评论
0/150
提交评论