目录
概述: 5
1 需求分析 5
11 用户需求: 5
12 业务流程分析: 6
13 信息需求分析 6
14 功能需求分析: 7
2 (数据库)概念(模型)设计 8
21构思ERD的四条原则及根据这些原则相应得出的实体、联系及其属性: 9
22、系统具体E-R图: 9
3 (数据库)逻辑(模型)设计 10
31 一般逻辑模型设计: 10
32 具体逻辑模型设计: 11
4 数据库物理设计与数据库保护设计 12
5 处理功能设计 12
51 主控模块设计: 12
52 子模块设计: 13
6 数据库应用系统的实现 14
61 数据库及其表结构的建立: 14
62 创建表的相关视图: 16
63 各表关系图, 16
64 数据输入:利用系统录入数据,如下图为各表内容: 17
65 模块实现: 18
7 数据库应用系统运行 26
71 写出系统 *** 作使用的简要说明。 26
72 按使用说明运行系统并打印出运行结果。 26
73 系统评价: 27
报告内容
概述:
随着国民经济快速发展, 人们出行、交通越来越频繁, 对服务的快捷、便利性要求也越来越高。从而对客运行业的建设与管理提出了更高的要求。为适应和推动客运行业的发展, 各种交通公司和部门开始广泛采用使用日趋成熟的计算机技术和数据库技术来实现票务信息的现代化管理,具有手工管理所无法比拟的优点,如:检索迅速,查找方便,可靠性高,存储量大,保密性好,寿命长,成本底等。这些优点能够极大地提高信息管理和业务管理的效率。
本学生火车订票系统正是通过数据库存储信息实现高效率管理。该实验设计首先进行需求分析,然后在需求文档的指导下实现系统的功能,如 *** 作员的信息管理功能及普通学生的火车信息查询、订票、退票等功能,最终实现的是学生购得一张自己满意的票券,同时力求通过数据库系统及计算机在其中的运用达到提高工作效率,节约人力资源的效果。
1 需求分析
11 用户需求:
(一)、问题描述:
学生火车票定票系统
(1)背景:一年两次的火车票订票管理
(2)主要实现以下功能:
1)学生基本信息的管理,尤其是所在地
2)学生购票的基本信息,尤其是价钱和车票目的地
3)购票以后的分发管理
4)退票的管理
5)信息的统计和查询
6) *** 作员管理
(二)、目的及现状:
1)、实验目的:
数据库设计就是要使学生采用本课程中学习的数据库设计方法,运用其基本思路与主要图表工具完成一个自己所了解的业务的数据库应用系统信息需求分析与数据库的概念设计、逻辑设计、物理设计以及处理功能设计,用自己熟悉的数据库管理系统、程序设计语言及其相关开发工具实现该系统,并运行、评价、改进之;在此基础上严格按本大纲所附报告提纲撰写课程设计报告。通过本设计进一步弄懂数据库系统及其相关的基本概念,理解数据库系统的系统结构、主要特点,掌握数据库设计的原理、方法及其基本过程,初步具备数据库应用设计的能力,初步形成运用数据库应用系统解决管理决策中的实际问题的基本素质。
2)、现状和系统要求:
在传统模式下利用人工进行火车订票业务,存在着较多的缺点,如:效率底,保密性差,时间一长将产生大量的文件和数据,更不便于查找,更新,维护等。诸如这些情况,给各相关部门工作人员带来了很大困难,严重影响了他们的工作效率。运用计算机技术和数据库技术来实现票务信息的现代化管理,具有手工管理所无法比拟的优点,如:检索迅速,查找方便,可靠性高,存储量大,保密性好,寿命长,成本底等。这些优点能够极大地提高信息管理和业务管理的效率。
在本系统中,系统用户共有两种, 并根据用户权限的不同而实现不同的功能,如 *** 作员
拥有添加、修改、删除某火车相关信息及修改自己的个人信息的功能。学生有对车票信息、、哪一车次哪天还剩余多少张票和自己所订票券的查询功能,订票功能及退票功能。系统利用计算机和数据库的高效率大大减轻了学校票点工作人员的劳动强度, 提高了各部门的工作效率。
12 业务流程分析:
(一)、描述系统的业务流程:
本系统共有两种用户, 根据用户权限的不同而实现不同的功能。
*** 作员的权限最大,他进入系统必须先登录。 *** 作员可以添加、修改、删除某车票的相关信息,可以修改自己的个人信息;查询、删除学生的订票情况,确认学生是否已付款取票等。
学生可以按目的地的车次对车票信息进行查询,可以订票,订票时须录入自己的信息及所选择的车次,系统将检查该车次票数是否已订完或不足,若已订完或不足则提示错误信息并返回到订票界面,订票成功后将生成订票单。学生还可以对自己所订的票券即订票单进行查询,以及查询哪一车次哪天还剩余多少张票。用户付款和取票可在学校票点完成。
(二)、初步业务流程图:
13 信息需求分析
131 资料收集
132 事项分析:
在本火车票订票系统中,各资料的基本数据项列举如下:
学生资料:学号,姓名,密码,所在学院,专业,班级,电话,目的城市
车票基本信息:车次号,出发站,开车时间,到达站,到达时间,车票种类,余票数
车次详细信息:ID号,车次号,途径站,票价,
订票单信息:订单号,订票人学号,订单时间,付款取票与否
订票具体信息:ID号,订单号,所得车次号,目的城市,订票数,总票价,取票时间
订票点信息:票点号,票点主任的员工号,联系电话,所在校区
*** 作员资料:员工号,票点号,密码,姓名,性别,电话
14 功能需求分析:
(一)、完善业务流程图:
(二)、功能层次图:
本系统共有两种用户, 根据用户权限的不同而实现不同的功能,如 *** 作员查询、添加、修改、删除某火车相关信息及查询、修改自己的个人信息的功能。学生对车票信息、、哪一车次哪天还剩余多少张票和订票功能以及对自己所订票券的查询功能、退票功能。
2 (数据库)概念(模型)设计
21构思ERD的四条原则及根据这些原则相应得出的实体、联系及其属性:
① 原则1 (确定实体):能独立存在的事物,例如人、物、事、地、团体、机构、活动、事项等等,在其有多个由基本项描述的特性需要关注时,就应把它作为实体。
在本系统中,实体主要有学生、 *** 作员、车票信息、车票详细信息表、订票单,订票详细信息表,订票点。
②原则2 (确定联系):两个或多个实体间的关联与结合,如主管,从属,组成,占有,作用,配合,协同等等,当需要予以关注时,应作为联系。实体间的联系可分为一对一、一对多、多对多等三类,在确定联系时还要确定其类型。
在本系统中,学生、车票信息、订票单和订票详细信息表之间存在“订购”的联系,一个车票信息可以被多个学生购买,而一个学生只可以购买多个车次所属的一到两张车票,它们之间的联系是一对多的“购买”联系,同时一次登录无论订多少车次只生成一张订票单。订票点和 *** 作员之间存在“隶属”的联系,它们之间的联系是一对多的“隶属”联系;车票信息和车票详细信息表之间存在“包含”与被包含的关系;订票单和订票详细信息表之间也存在“包含”与被包含的关系。
③原则3 (确定属性):实体的属性是实体的本质特征。实体应有标识属性(能把不同个体区分开来的属性组),并指定其中一个作为主标识。联系的属性是联系的结果或状态。
从这条原则可得到实体和联系的属性如下:
学生(学号,姓名,密码,所在学院,专业,班级,电话,目的城市)
车票基本信息(车次号,出发站,开车时间,到达站,到达时间,车票种类,余票数)
车次详细信息(ID号,车次号,途径站,票价)
订票单信息(订单号,订票人学号,订单时间,付款取票与否)
订票具体信息(ID号,订单号,所得车次号,目的城市,订票数,总票价,取票时间)
订票点(票点号,票点主任的员工号,所在校区,电话)
*** 作员(员工号,票点号,密码,姓名,性别,电话)
④原则4(一事一地):信息分析中得到的基本项要在且仅在实体联系图中的一个地方作为属性出现。
根据以上的分析,可以画出本系统的原始ERD的基本结构。如
22、系统具体E-R图:
3 (数据库)逻辑(模型)设计
31 一般逻辑模型设计:
(一)、由ERD导出一般关系模型的四条原则:
原则1(实体转换为关系模式):ERD中每个独立的实体转换为一个关系模式,实体的属性组成关系的属性,实体的主标识转换成关系的主码。
原则2(从实体及其主从联系转换为关系模式):ERD中一个从实体及其主从联系转换为一个关系,从实体的属性及其主实体关系的属性组成的属性,其主实体关系的主码,在主从关系联系为一对多联系时还要加上可把同一主实体个体所对应的从实体个体区分开来的,从实体的一组属性,作为该关系的主码。对子类实体可作类似一对一联系的从实体的转换。
原则3(一对多联系在关系模式中的表示):ERD中的一个一对多联系通过在其“多”实体关系上增加“1”实体关系的主码(作为外码)和联系本身的属性来表示。
原则4(多对多联系转换为关系):ERD中的一个多对多联系转换为一个关系,其被联系实体关系的主码和该联系本身的属性一起组成的属性,被联系关系的主码组成该关系的复合主码。
(二)、数据库初步构思的关系框架:
通过ERD转换为一般关系模型四条原则分析,得到须在数据库中进行存储的一般关系模型如下(带下划线的为主码,带#的为外键):
学生(学号,姓名,密码,所在学院,专业,班级,电话,目的城市)
车票基本信息(车次号,出发站,开车时间,到达站,到达时间,车票种类,余票数)
车次详细信息(ID号,车次号#,途径站,票价)
订票单信息(订单号,订票人学号#,订单时间,付款取票与否)
订票具体信息(ID号,订单号#,所得车次号#,目的城市,订票数,总票价,取票时间)
订票点(票点号,票点主任的员工号#,所在校区)
*** 作员(员工号,密码,姓名,性别,电话)
32 具体逻辑模型设计:
(1)、Student表:用来保存学生信息:
项名 类型 长度 小数位 值域 主键 外键 空键
学号 字符 12 是 非空
姓名 字符 20 非空
密码 字符 12 非空
学院 字符 40 非空
专业 字符 30 非空
班级 数据 4 0 >0 非空
电话 字符 12 非空
目的城市 字符 30 非空
(2)、Ticket表:用来保存车票信息表
项名 类型 长度 小数位 值域 主键 外键 空键
车次号 字符 20 是 非空
出发站 字符 30 非空
开车时间 日期 8 非空
到达站 字符 30 非空
到达时间 日期 8 非空
车票种类 字符 20 非空
余票数 数据 8 0 >0 非空
(3)、Citysite表:用来保存车票详细信息表:
项名 类型 长度 小数位 值域 主键 外键 空键
ID号 整数,自动编号 8 是 非空
车次号 字符 20 是 非空
途径城市 字符 30 非空
票价 decimal 非空
(4)、Ticketsite表:用来保存订票点表:
项名 类型 长度 小数位 值域 主键 外键 空键
票点号 整数,自动编号 8 0 是 非空
票点主任员工号 整数,自动编号 8 0 是 非空
联系电话 字符 12 非空
所在校区 字符 40 非空
(5)、Admin表:用来保存 *** 作员表:
项名 类型 长度 小数位 值域 主键 外键 空键
员工号 整数,自动编号 8 0 是 非空
用户名 字符 20 非空
密码 字符 12 非空
姓名 字符 20 非空
性别 字符 4 非空
电话 字符 12 非空
(6)、Book表:用来保存订单表:
项名 类型 长度 小数位 值域 主键 外键 空键
订单号 整数,自动编号 8 0 是 非空
学号 字符 是 非空
订单时间 字符 非空
付款取票与否 整数 2 0 非空
(7)、Ticket表:用来保存取票单表:
项名 类型 长度 小数位 值域 主键 外键 空键
ID号 整数,自动编号 8 0 是 非空
取票号 字符 8 0 是 非空
车次号 字符 是 非空
目的城市 字符 非空
订票数 数据 8 0 >0 非空
总票价 Decimal 非空
取票时间 日期 8 非空
4 数据库物理设计与数据库保护设计
根据表的结构关系,本系统采用SQL Server 2000数据库。SQL Server 2000是微软公司关系型数据库产品,它是在由MS SQL Server 70建立的坚固基础之上产生的。客户的需求极大的推动了该产的革新,SQL Server2000在易用性、可缩放性和可靠性,以及数据仓库等诸多方面有了很大的增强。这使得SQL Server 2000在很多数据库产品发展最快的应用领域(如电子商务、移动计算、分支自动化、商业级应用和数据交换中心等)中成为领先者
在数据库中创建表的同时须创建相关的索引。索引就是加快检索表中数据的方法。数据库的索引类似于书籍的索引。在书籍中,索引允许用户不必翻阅完整个书就能迅速地找到所需要的信息。在数据库中,索引也允许数据库程序迅速地找到表中的数据,而不必扫描整个数据库。本数据库表较为简单,且每个表中定义主键约束或者唯一性键约束,已经间接创建了索引,故无需再创建索引。
5 处理功能设计
51 主控模块设计:
(1)、登录系统模块:
在登录窗体界面中,你可以输入代码和密码,选择你的身份( *** 作员或系统管理员),确认后就可进入主界面窗体。如果你是学生,且还没注册,可以在此窗体界面上点击“注册”,在注册界面输入所要求的项,确定后重新返回登录界面,用你刚注册的账号登录进入主界面。
在主界面中包含上述模块图的几部分,根据身份,即是用户或者管理员,对应权限不同,分为不同的主界面,即用户主界面和管理员主界面。
(2)、系统设置模块图:
用户:在此模块用户可以查询、修改自身注册信息以及退出登录,退出系统后将返回登录界面。
管理员模块:在此模块管理员除了拥有用户的各项设置外还可以注册新的管理员,但为了安全起见,此功能只有当登录人是票点主任时才可执行。
52 子模块设计:
521、管理员模块
1、车票信息管理模块:在此模块,管理员可以执行车票信息录入、查询、删除和修改功能,不过删除和修改功能须当该车次没有被预订的情况下才可执行。
2、订票管理模块:在此模块,管理员可以查询所有订单情况、已付款取票和未付款取票的订单情况,还可以按学号查询某学生的订票情况以及各种统计信息,并在学生来付款取票时执行“付款” *** 作。另外还可以在订单已付款或学生取消订单时删除订单。
522、用户模块:
1、订票管理模块:在此模块,用户可以查询车票信息和自身订票情况。查询车票情况分为按车次、按目的地、按起始站—目的站查询,当查询到自身所想要的车票时即可订票,但注意预定票的目的地须与学生家乡所在城市相符,否则系统不允许订票;查询自身订票情况包括订单信息及金额统计,还须注意订票信息上要求的取票期限,订票人须在规定期限内去所在校区的票点付款取票,逾期票点工作人员将不予处理。
2、用户小贴士模块:在这里,用户将了解本订票系统的订票流程及相关规定及用户订票后付款取票地点的信息等。
6 数据库应用系统的实现
61 数据库及其表结构的建立:
利用SQLServer企业管理器创建数据库Tickets,然后创建表:
1、学生表Book
create table Student
(Sno varchar(12) primary key, Sname varchar(20) not null,
Ssex varchar(4) not null, Spw varchar(12) not null, //密码
Sadm varchar(40) not null, //学院
Sdept varchar(30) not null, Sclass numeric(4) not null,
Stel varchar(12) not null, //电话
Semail varchar(50) not null, Shcity varchar(30) not null //所在地
);
2、车票信息表Ticket
create table Ticket
(Tno varchar(20) primary key, //车次号
Startcity varchar(30) not null, Starttime varchar(20) not null,
Endcity varchar(100) not null, Endtime varchar(20) not null,
Ttype varchar(20) CHECK (Ttype IN('硬座','软座','硬卧','软卧')),
Tickets int not null //票数
);
3、车次站次信息表Citysite
create table Citysite
(Cityno numeric(8) identity(1,1), //票点号
Tno varchar(20), City varchar(100),
Tprice decimal not null, //票价
primary key (Cityno,Tno),
foreign key (Tno) references Ticket(Tno) on delete cascade
)
4、订票单表Book
create table Book
(Bno numeric(8) identity(1,1) primary key, Sno varchar(12),
Maketime datetime not null, judge int,
foreign key (Sno) references Student(Sno),);
5、订票详细信息表Bookno
create table Bookno
(ID numeric(8) identity(1,1) primary key,
Bno numeric(8), Tno varchar(20), City varchar(100),
Booktime varchar(20) not null, Ticketnums int not null,
Price decimal not null, //票价
Pickdate datetime not null, foreign key (Tno) references Ticket(Tno),
foreign key (Bno) references Book(Bno));
6、 *** 作员表Operater
create table Operater
(Adname varchar(20) primary key, //登录用户名
Adpw varchar(12) not null, //登录密码
Opname varchar(20) not null, //员工真实姓名
Opsex varchar(4) not null, Optel varchar(12) not null,
Opemail varchar(50) not null);
7、订票点表Ticketsite
create table Ticketsite
(Siteno numeric(8) primary key identity, //票点号
Adname varchar(20), // 票点主任登录名
Sitetel varchar(12) not null, Siteaddr varchar(40),
foreign key (Adname) references Operater(Adname));
//为安全起见,学校各校区订票点内容的添加要以直接输入数据库的方式进行
insert into Ticketsite(Adname,Sitetel,Siteaddr) values('linyp','870432','龙洞校区行政楼205')
insert into Ticketsite(Adname,Sitetel,Siteaddr) values('admin','87084432','大学城校区E区205')
62 创建表的相关视图:
1、创建V_Book视图,得到对于某种车票的订票人数和订票张数
create view V_Book(Tno,stu_no,sumticket)
as
select Tno,count(distinct Sno),sum(Ticketnums) from Bookno,Book
where BooknoBno=BookBno group by Tno
2、创建W_Book视图,得到对于所有订票学生的人数和订票总张数
create view W_Book(stu_nums,sumtickets)
as select count(distinct Sno),sum(Ticketnums) from Bookno,Book
where BooknoBno=BookBno
3、创建P_Book视图,得到对于已付款取票的人数和车票总张数
create view P_Book(cout_no,cout_nums)
as select count(distinct Sno),sum(Ticketnums) from Bookno,Book
where BooknoBno=BookBno and judge=1
4、创建M_Book视图, 得到对于某一订票的总金额
create view M_Book(Allprice)
as select sum(TpriceTicketnums) from Book,Bookno,Citysite
where BooknoBno=BookBno and BooknoTno=CitysiteTno and BooknoCity=CitysiteCity
63 各表关系图,
易知表Ticket与表Citysite之间是父表与子表的关系:
表Book与表Bookno之间也是父表与子表的关系:
它们之间都是父表对子表的一对多的关系。
根据表之间的结构关系图,可以得出各表的完整性约束条件如下图:
表名 主键列名 外键
外键列名 参照表
Student Sno 无
Ticket Tno 无
Citysite Cityno Tno Ticket
Book Bno Sno Student
Bookno ID Bno,Tno Book,Ticket
Operater Adname 无
Ticketsite Siteno Adname Operater
64 数据输入:利用系统录入数据,如下图为各表内容:
65 模块实现:
本次系统设计我前台采用JSP技术,后台采用SQL Server 2000, *** 作系统采用Windows XP。
JSP(JavaServer Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准,它是在传统的网页HTML文件(htm,html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(jsp)。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。
那是加密过的信息,说明如下
利用手机上内置的二维码识别软件(例如:诺基亚手机内置的“读码器”)或者在手机上安装第三方提供的二维码识别软件,例如:QuickMark。
在进入这些软件之后,会自动启动您手机的摄像头,对准二维码即可自动进行识别,无论是用电脑的摄像头,还是手机相机的微距模式或普通模式(有时用微距模式不一定很好识别)即可识别出二维码信息。
注意:以下内容适用于大部分铁路局发行的车票。但有个别铁路局发售的车票读出的二维码并不适用如下规则。
从火车票识别后得到一串很长很长的数字信息,例如:
270414331369769984588773015074980463607536633354045441486507179
943200000000000000000000053897628805389762880538976288053897628805389762881519000
这些数字有何含义呢?
1-2位:27
3-8位:041433
9-63位:1369769984588773015074980463607536633354045441486507179
(加密信息)
64-87位:9432000000000000000000000
88-137位:05389762880538976288053897628805389762880538976288
138-144位:1519000
除了9到63位之间是加密的信息外,其他都是可以读取的
● 第1-2位(2位):车票左下角最后一排数字的倒数第七位,这一位字符一般在车票上显示英文字母。(A=26,B=27,…),
● 第3-8位(6位):车票左下角最后一排数字的最后六位数字。一般也对应车票左上角的最后几位的红字。041433车票上的红字:B041433(票号)
● 第9-63位(55位,票号后到9432前这一段):加密后的数字,包含买票的时间,地点,窗口
● 第64-87位(24位,9432这段):预留位,用于存储身份z号。
● 第88-137位(50位):预留位,用于存储乘客姓名。默认未实行实名制的情况下,0538976288重复5次。其转换方式为:0538976288(十进制)→0×20202020(十六进制)→从右到左的换位置20202020→从ANSI中里面对应0×20
就是一个空格。因此0538976288这个数字就对应四个半角空格。如果没有实行实名制的车票会有五组这个数字,因此就可以包含20个空格。
当然如果存储了乘客的姓名,一般中国人的姓名多数是两个汉字或者三个汉字,也有少数人有四五个汉字。对于这段文字来说,已经够用。这段可以存储10个双字节字符或20个单字节字符。
例如:某人的姓名为“刘陈旭”
则这一段会显示为:05389762880538976288053897628841230745924056990387
其中最后两组数字发生了变化。每一组数字可对应四个单字节字符或两个双字节字符(包括汉字)
4123074592(十进制)→f5c12020(十六进制)→2020c1f5(从右到左换位),可以得出2020对应ANSI的两个半角空格,而C1F5对应ANSI的“刘”。
4056990387(十进制)→f1d0c2b3(十六进制)→b3c2d0f1(从右到左换位),可以得出b3c2对应ANSI的“陈”,而d0f1对应ANSI的“旭”。
● 第138-144位(7位):1519000,开车时间15:19分,由于没有精确到秒,一般最后三位都是000。
另外车票左下的一组21位数字字母所代表的含义:
● 前5位为车站码。例如北京站:10001;北京西站:21152;清华园:12710;成都站:45584;成都东:46543;自贡站:46883;重庆站:46814;宜宾站:46907……
● 接后2位为售票方法码,售票方法码编码范畴00 - 99(00 - 09 车站发售;10 - 19 预约预订;20 - 29
代售;30 - 39 自动售票;40 - 49 备用;90-98 管理;99 技术维护)。
● 8-10位为售票窗口码,3位数字,售票窗口码编码范畴(非您到火车站售票处看到的第XX售票窗口)001 - 255(1 -
200 售票、退票、预约预订窗口;201 - 255 管理窗口,对于售票方法码为 20 - 29 的,窗口号通常为代售处编号)
● 11-14位是售票记账日期(不一定等同于售票日期,可能比发售日要晚一天。这是为铁路局记账使用的,也叫做收入管理的计算日期,通常在每天下午交班后改为第二天日期。也有部分铁路局会错后一天)。
● 15-21位是车票号码,应当和左上角的红色数码票号一样。除了I和O以外的大写英文字母 +
6位数字,计7位,票号编码范围A000001 –
Z100000。规定每一票卷由1000张票底卷成,票面左上方印有票号。由于部分铁路局还会在左上角的票号前面加印窗口号,票号部分应与客票左上角印刷的票号中字母开始的部分一致。这个也是一票一号。
另外,在车站“始发站”和“终到站”:行程400公里以内使用魏碑体,400公里以上使用黑体。
根据你给的客票号有两个可能
第一 输入有误 姓名输LIUBING 不要MR
第二 你这个是国内的航空公司吗 印象里005不是中国航空公司, 信天游只支持中国民航航空和加盟中航信的的外航,所以可能是你选的航空公司是外航,不在中航信数据库里。
好吧 我承认我比较无聊
select
from **表, **票表, 厅表, 顾客表, 订单表
where **票表厅号 = 厅表厅号
and **票表**编号 = **表**编号
and **票表**编号 = 订单表**编号
and 订单表顾客编号 = 顾客表顾客编号
以上就是关于那个我也想要一个数据库设计事例,就是火车售票管理SQL全部的内容,包括:那个我也想要一个数据库设计事例,就是火车售票管理SQL、微信的二维码扫描火车票上的怎么就是一串数字、信天游机票验真的时候票号和旅客姓名怎么填啊等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)