企业考勤信息管理系统设计_第1页
企业考勤信息管理系统设计_第2页
企业考勤信息管理系统设计_第3页
企业考勤信息管理系统设计_第4页
企业考勤信息管理系统设计_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

论绪 11.1应用背景 11.2开发工具的选择 1VisualC++6.0简介 1运用VisualC++编程的理由 2面对对象的应用服务层设计 21.3论文的工作介绍 32系统总体设计 42.1

系统需求分析 42.2

系统概要设计 52.2.1

系统结构设计 52.2.2

数据库设计 72.3

系统具体设计 143系统应用程序设计 163.1

系统程序框架的组成 163.2登录认证对话框的实现 173.3

主对话框窗体功能的实现 183.4

上班时间设置窗体功能的实现 193.5

考勤修改窗体功能的实现 203.6添假出勤记录属性页的实现 213.7加班记录属性页功能的实现 223.8请假和出差属性页功能的实现 233.9考勤统计模块功能的实现 254系统开发总结 264.1结束语 264.2参考文献 264.3致谢 265附录 281绪论1.1应用背景随着经济的发展,企业的规模不断扩大,人员流淌日趋频繁,人员出入考勤管理的工作量也随之增加,以往的人工处理方式对于员工许多的企业来说就显得力不从心,利用现代计算机技术可使考勤人员管理从繁重的劳动中解脱出来,特殊是对于人员出勤档案的查询可做到更刚好,更精确。便利员工的出勤统计状况等各方面的工作。考勤制度是每个企业单位所必需的,计算机的出现使员工出勤状况的记录和统计工作变的特别简洁。通过开发一个企业企业员工管理系统,可使企业员工的出勤管理工作系统化,规范化和自动化,从而达到全面提高企业员工考勤管理效率的目的。1.2开发工具的选择本系统是在VC++6.0开发环境下,采纳Dialogbased的应用程序框架。由一个主对话框和若干个功能对话框组成。系统采纳microsoftoffice中的Access2000来设计数据库,再连接数据源。1.2.1VisualC++6.0简介

VisualC++6.0是Microsoft公司开发的基于C/C++的集成开发工具,它是VisualStudio中功能最为强大、代码效率最高的开发工具。

VisualC++6.0和以前的版本相比有了多方面的改进。它的编译器、调试器、连接器、编辑器、资源编辑器都有所加强,在编辑器中还供应了自动语句生胜利能,编辑器会像VisualBasic一样自动提示函数的参数、对象的成员。另外,VisualC++6.0还供应了许多向导。MFC供应了一些新的类,供应了更强大的数据访问功能。

用户可利用VisualC++6.0以两种方式编写Win32应用程序,一种方式是基于WindowsAPI的C编程方式,另一种是基于MFC的C++编程方式。C编程方式是传统的、久经考验的编程方式,代码的效率较高,但开发难度和开发的工作量大。C++编程方式代码运行效率相对较低,但开发难度小、开发工作量小、源代码效率高。C编程方式的用户己经很少,本书将以C++编程方式向用户介绍利用VisualC++6.0的程序设计。运用VisualC++编程的理由VisualC++的集成开发环境供应了一个快速的框架,很大地提高了编程效率,但是,要真正驾驭VisualC++6.0,还必需对C/C+语言编程有深化地了解,理解MFC库和Windows下的编程方法.在Windows下编程,通常是调用WindowsAPI得以实现.VisualC++6.0将大量地WindowsAPI以C++格式进行封装,通MPFC方式供应应开发人员,大大简化了开发人员地编程工作,供应了工作效率.因而,要学好VisualC++,MFC地驾驭是关键.VisualC++6.0中,我们可以运用MFC完成大多熟地工作,也可以干脆调用WindowsAPI完成一些底层地开发.用VisualC++6.0开发的程序代码简练,运行速度快.VisualC++6.0中,供应了两个功能强大的编程工具:AppWizard和ClassWizard.利用VisualC++6.0的AppWizard可以在很短的时间内创建出Windows应用程序的框架;二ClassWizard,则可以在应用程序框架之上快速增加新的类,成员变量和函数,使Windows编程得以快速实现,两者结合,让Windows下的编程变得特别简洁.面对对象的应用服务层设计N层的应用软件系统,由于其众多的优点,已经成为典型的软件系统架构,也已经为广阔开发人员所熟知。在一个典型的三层应用软件系统中,应用系统通常被划分成以下三个层次:数据库层、应用服务层和用户界面层。如下图所示:本系统也是采纳三层应用服务设计,分别是数据库层、应用服务层和用户界面层,分三层逐步绽开具体的设计。1.3论文的工作介绍绪论部分介绍了本系统的应用背景以及对数据库开发工具的选择。其次章是本文的主体,依据软件工程的要求,从需求分析起先,经过概要设计最终到具体设计,完成对整个系统的设计。

第三章依据其次章的设计结果利用Access2000和VisualC++6.0进行了具体的窗体和应用程序设计。

总结部分介绍了设计体会和编程体会,并指出了系统设计中的不足和改进的方向3系统总体设计

软件系统的总体设计大约要经验可行性分析和项目开发安排,需求分析,概要设计,具体设计,编码,测试以及维护等七个阶段。可行性分析和项目开发安排在前面已经叙述,下面所要做的是进行软件需求分析,概要设计和具体设计。编码过程将在下一节论述,而测试和维护过程不在本文叙及.3.1

系统需求分析在经过前一阶段的分析之后,我确定了我的开发课题为企业员工考勤管理系统。现在所要做的是要精确定义系统必需做什么以及系统必需具备的功能。

软件需求分析中我采纳结构化分析方法(structuredanalysis,简称sa),sa是面对数据流进行需求分析的方法,像全部的软件分析方法(如面对对象分析方法、idef方法等等)一样,sa也是一种建模活动,它运用简洁易读的符号,依据软件内部数据传递、变换的关系,自顶向下逐层分解,描绘满意功能要求的软件模型。

在系统中我采纳数据流图(dfd)这种半形式化的描述方式表达需求。它是一种功能模型,以图形的方式描绘数据在系统中流淌和处理的过程,只反映系统必需完成的逻辑功能。它有四种基本图形符号:

◆→:箭头,表示数据流;

◆〇:圆或椭圆,表示加工;

◆═:双杠,表示数据存储;

◆□:方框,表示数据的源点或终点。,顶层流图仅包含一个员工,它代表被开发系统,它的输入流是该系统的输入数据了,输出流是该系统的输出数据;底层流图是指其加工不须要再做分解的数据流图,中间层流图表示对其上层父图的细化,它的每一步操作可能接着细化成子图。出勤的原始记录主要来源于考勤机,并且以固定格式保存在数据库中。考勤管理系统的任务是如何处理这些数据.系统的数据流程如下:

通过以上的数据流图之后,我们已大体地了解了系统的功能和目标,接下来所要做的就是系统功能模块的划分和数据库的设计,也就是系统的概要设计。3.2

系统概要设计在软件需求分析阶段,搞清晰了软件“做什么”的问题,形成了目标系统的逻辑模型。现在我们所要做的就是要把软件“做什么”的逻辑模型变换为“怎么做”的物理模型,即着手实现软件的需求。首先,我们须要描述的是系统的总的体系结构。2.2.1

系统结构设计系统的概要设计中最重要的就是系统的模块化。模块化是指解决一个困难问题时自项向下逐层把软件系统划分成若干个模块的过程。每个模块完成一个特定的功能,全部的模块按某种方法组织起来,成为一个整体,完成整个系统所要求的功能。

将系统划分为多个模块是为了降低软件系统的困难性,提高可读性、可维护性,但模块的划分不能是随意的,应尽量保持其独立性。也就是说,每个模块只完成系统要求的独立的子功能,并且和其他模块的联系最少且接口简洁,即尽量做到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。

在系统的概要设计中我采纳结构化设计(structuredesign,简称sd),sd以需求分析阶段产生的数据流图dfd为基础,按肯定的步骤映射成软件结构。我首先将整个系统化分为几个小问题,小模块,在系统中,我设计了上下班时间设置、出勤记录管理、和考勤统计管理3个小模块。然后,进一步细分模块,添加细微环节。比如,出勤记录管理我又将其分为添加修改出勤管理、加班管理、请假管理;出差管理(即是代理出勤管理)等等。

以下就是系统的结构图:(在这里为了表达便利我将结构图分开来表达。)出勤统计状况出勤状况记录考勤管理系统

出勤统计状况出勤状况记录考勤管理系统在得到系统的第一层功能模块图后,经过进一步地细化,得一系统的子功能模块图:出勤状况出勤状况记录出差状况记录添加出勤状况请假状况记录加班状况记录2.2.2

数据库设计

1

、er图设计

在系统设计的起先,我首先考虑的是如何用数据模型来数据库的结构和语义,以对现实世界进行抽象。目前广泛运用的数据模型可分为两种类型,一种是独立于计算机系统的“概念数据模型”,如“实体联系模型”;另一种是干脆面对数据库逻辑结构的“结构数据模型”。在本系统中我采纳“实体联系模型”(er模型)来描述数据库的结构和语义,以对现实世界进行第一次抽象。er模型干脆从现实世界抽象出实体类型及实体间联系,然后用er图来表示数据模型。它有两个明显的优点:接近于人的思维,简洁理解;和计算机无关,用户简洁接受。但er模型只能说明实体间语义的联系,不能进一步说明具体的数据结构,它只是数据库设计的第一步。

er图是直观表示概念模型的工具,它有四个基本成分:

◆矩形框,表示实体类型(考虑问题的对象)。

◆菱形框,表示联系类型(实体间的联系)。

◆椭圆形框,表示实体类型和联系类型的属性。对于关键码的属性,在属性名下划一横线。

◆直线,联系类型和其涉及的实体类型之间以直线连接。

本系统为企业员工考勤管理,主要管理员工的出勤、请假、出差和加班等事项。系统依据须要可以记录出勤人员的信息,同时还须要了解员工的请假、出差和加班等的记录状况。依据考勤管理的实际状况,考虑了多方面的因素以后,确定系统的er图。

考勤管理系统的E-R图如图所示

在该数据库中,我们设计了六个实体,分别是员工、出勤管理、加班管理、请假管理;出差管理,月度考勤统计管理。在本系统中员工是核心,也是基本,没有了员工其它的也就没有什么意义了。员工记录的添加是考虑到出勤记录问题,也就是说,在出勤管理的实际运用中,须要记录每个员工的具体状况这样才便利月度的统计,特殊是由于员工的工资要按工作时的多少发放,所以在设计数据库时,,员工记录这一实体特别重要。通过这一个er图我们可以比较清晰地了解员工工作时间的多少,及其具体的状况,从员工的出勤到请假,加班等状况的勤奋状况及其员工的素养,同时也可以为以后的查询或核对供应肯定有用的信息。

下面就是各实体及联系类型的属性即数据库的逻辑设计,所以考勤管理系统的E-R图转换为关系表为:员工(员工号,员工密码,权限,姓名)出勤记录(员工号,记录编号,出入状态,出入时间)加班记录(员工号,记录编号,加班时间,日期)请假记录(员工号,记录编号,起始时间,结束时间,缘由)出差记录(员工号,记录编号,起始时间,结束时间,具体描述)因为每一个基本表关系都是完全依靠且没有传递依靠,所以关系达到3NF范式2、数据库表格设计

在完成系统的er图之后,须要将er模型转化为关系模型,也就是说,要设计出数据库所须要的表格。在这里,我选用的是关系数据库。因为关系数据库中的二维表格可以很清晰地描述数据之间的联系。

我在系统中定义的表格都严格地依据范式的思想和要求去完成,数据库中的全部表格都达到了三范式的要求。依据系统er图,针对本系统的特点,在对所搜集的数据进行规范化之后,定义了如下六张表格,分别是ATTENDANCE出勤记录表,LEAVE请假记录表,OVERTIME加班记录表,ERRAND出差记录表,员工及密码信息表。通过对这六张表格的操作可以较好地完成系统设计的各项功能,六张表格之间有着不同程度的联系。ATTENDANCE出勤记录表字段名称

数据类型

说明

person

文本

员工编号

in_out

文本

出入状况

io_time

日期/时间

出入时间

图1ATTENDANCE出勤记录表出勤记录表主要用于记录员工出入状况和时间的具体信息,包括记录号、员工、出入状况和时间、各类信息,它即是该数据库的主表,是系统主界面的主要内容。

在该表中员工编号是主键,出入状况和时间为其属性成员。做为备注有一点说明,我的数据库中备注的数据类型是文本,而不是备注类型,主要考虑到该字段的长度并不大,而且在VisualC++中文本数据类型的处理也比较便利一点。

图2LEAVE请假记录表字段名称数据类型

说明

person

文本

员工编号

start_time

日期/时间

假期起先时间

end_time

日期/时间

假期结束时间

reason文本

请假缘由

LEAVE请假记录表主要是记录员工的请假状况,请假的起先时间和结束时间,以便利以后员工的统计状况。图3OVERTIME加班记录表person

文本

员工编号

work_hours

数字加班时间

work_date

日期/时间

加班日期

OVERTIME加班记录表主要是记录员工的加班时间长度和日期如图3所示。图4ERRAND出差记录表person

文本

员工编号

start_time

日期/时间

假期起先时间

end_time

日期/时间

假期结束时间

discription文本

具体描述ERRAND出差记录表主要是记录员工的出差起始时间/结束时间和具体描述。图5PERSON员工信息表

字段名称

数据类型

说明Person文本

员工编号passwd文本

密码

authority文本

用户权限

name文本员工姓名sex

文本性别

birthday

日期/时间

生日

job

文本

职务edu_level

文本

受教化程度specialty文本

专业技能address文本

家庭住址tel文本联系电话

PERSON员工信息表员工信息表主要用于记录有关员工的各类信息,包括姓名、职称、诞生日期、联系电话、联系地址等。它主要用来为系统供应员工的有关信息,因为在系统中,出勤管理、加班管理、请假管理;出差管理,月度考勤统计管理操作均和员工有着肯定的联系,须要查找有关此项记录有关的员工信息

等都要用到这个表。图6COUNTER信息表字段名称

数据类型

说明Counter_value数字计数值Descrtption文本描述COUNTER信息表主要是记录员工的统计工作。图7DEPARTMENT信息表字段名称

数据类型

说明Name文本部门名称Manager文本部门经理Intro备注简介

DEPARTMENT信息表主要是记录员工部门里面的各种信息。图8ATTENDANCE—STAT信息表字段名称

数据类型

说明Year_month文本统计月份Person文本员工号Work_hour数字累计工作时间Over_hour数字累计加班时间Leave_hour数字累计请假时间Errand_hday数字累计出差时间Late_times数字迟到次数Early_times数字早退次数Absent_times数字旷工次数ATTENDANCE—STAT信息表主要用于记录有关统计的具体信息,主要是按月度来统计包括员工的工作时间、加班时间,累计请假时间,累计出差时间,迟到和早退的次数等信息。通过以上设计已经完成了系统的概要设计,当我们有了系统的功能模块图和数据库之后,就须要着手去实现每一个模块,为每一个功能设计程序流程图,这也就是系统的具体设计。

3.3

系统具体设计在前面的概要设计中,已将系统划分为多个模块,并将它们依据肯定的原则组装起来,同时确定了每个功能及模块之间的外部接口。现在所要做的就是确定每个模块具体执行过程,也可以说是“过程设计”。

由前一阶段产生的系统功能模块图,我为系统的主要部分设计了如下程序模块图:

通过以上步骤,基本上完成了对整个系统的总体设计,接下来所要做的就是软件的编码工作。3系统应用程序设计3.1

系统程序框架的组成本实例采纳dialogbased的应用程序框架.由一个主对话框和若干个功能对话框组成,其中功能对话框登陆对话框和上下班时间设置对话框都是非模态对话框用AppWizard生成程序框架,加入数据库支持.在MFCAppWizar-Step1中选择DialogBased选项,其余均采纳缺省配置.本程序数据库的操作是通过MFC的ODBC类实现的,为了运用ODBC类,须要在stdafx.h中加入#include“afxdb.h”一行.因本程序只需连接一个数据库,所以定义了一个CDatadase型的全局变量db,一次性打开和关闭数据库,便利程序的编写.数据库的打开在登录认证对话框中.在主程序结束前关闭数据库,因此在App类的ExitInstance()函数中加入以下代码;if(db.Isopen())db.Close();运用全局数据库变量db,须要在其他地方运用他的文件中加入以下语句:ExternDatabasedb;为了访问数据库中的表格,本程序从CRecordset中派生8个类,分别用于封装所需访问的表格,如下列图表所示.这些类通过RFX(RecordFieldExchange)机制将成员变量也表格中的字段值联系起来,通过访问成员变量可以访问当前记录中字段的值.CRecordset派生类在Acess数据库中对应的表格:CRecordset表格CAttendanceRSATTENDANCE出勤记录表CCounterRSCOUNTER计数器表CdepattRSDEPARTMENT部门信息表CerrandRSERRAND出差记录表CerrandRSCLeaveRSCOvertimeRSOVERTIME加班记录表CPersonRSPERSON员工个人信息表CStatRSATTENDANCE_STAT月度考勤统计表3.2登录认证对话框的实现首先在限制面板中建立ODBC数据源,数据源名称为MISDB,运行程序Attendance.exe,进入登陆界面(界面一)。用户名为HONG,密码为123。登陆窗口对话框,包括三个输入框和两个按钮。主要控件类型,ID和对应的成员变量及说明见见表。登陆窗口对话框的封装类为CLoginDlg。界面一:登录认对话框其中两个Button采纳了缺省ID,即IDOK和IDCANCEL,其中对IDOK的点击加了登录代码,CLoginDlg类须要用到加密类,为了保证统一,加密类运用了CCrypt类,须要在cpp文件开头加入#include“CCrypt”一行。另外,为了运用全局变量数据库变量db,须要在cpp文件开头加入下面的语句:externCDatabasedb;变更"登录人事管理系统"字体的类型为华文彩云和须要在OnInitDialog()添加下面的代码。BOOLCLoginDlg::OnInitDialog(){ CDialog::OnInitDialog(); m_font.CreatePointFont(180,"华文彩云",NULL);GetDlgItem(IDC_STATIC_LOGINTEXT)->SetFont(&m_font,true); //如数据库为打开状态,则关闭 if(db.IsOpen())db.Close();}在用户的“登陆”按钮功能实现的代码在voidCLoginDlg::OnOK()函数中见附录最侯为了先运行登录认证对话框,还需在App类的InitInstance()函数中加代码://显示登录对话框 CLoginDlgLoginDlg; if(LoginDlg.DoModal()!=IDOK)returnFALSE;3.3

主对话框窗体功能的实现用户登录后即显示主对话框窗口,主对话框包括5个按钮,分别实现5项功能,封装主对话框的类是CAttendanceDlg,主要界面及说明如下:界面二:主对话框在CAttendanceDlg中定义以下成员变量:CBrushm_brush; CStatDlg*m_pStatDlg;CAttDlg*m_pAttDlg; CFontm_font; //变更标题字体类型 m_font.CreatePointFont(180,"华文彩云",NULL); GetDlgItem(IDC_STATIC_HEAD)->SetFont(&m_font,true); //初始化对话框指针为空m_pAttDlg=NULL; m_pStatDlg=NULL;对话框中的5个按钮的功能主要就是显示相应的功能对话框.。各按钮的功能主要是显示相应的功能对话框。各按钮的事务处理代码见附录。 3.4

上班时间设置窗体功能的实现点击“设置”进入界面三设置上下班时间。在界面三中,你可以修改上下班时间,点击“修改”,设置的时间会记录到配置文件“workplan.ini”中。假如配置文件不存在,上下班时间就被设定为程序中的默认值。界面三:上班时间设置窗体公司的上下班时间相当固定,而且须要在统计时频繁运用,所以不须要保存在数据库中.本例采纳标准的INI设置文件来保存这些数据;“修改”按钮的BN_CLICKEN事务处理程序用于保存当前的设置.“复原默认设置”按钮的BN_CLICKED事务处理程序用于复原原来的设置.这个函数也同时被OnInitDialog()函数引用,以实现初始化操作.OnWorkplanReset()函数则存放复原默认设置按钮的码3.5

考勤修改窗体功能的实现考勤修改对话框主要用来人工输入出勤状况.假如考勤机出现问题,这个功能刚好弥补数据.同时加班,请假,出差的记录都须要通过这个对话框来输入.对话框的布局如下图所示.为了区分不同的输入,在对话框中嵌入了CPropertySheet和4个CPropertyPage,4个CPropertyPage分别放置出勤,加班,请假和出差记录的修改界面.4个界面共用一个查询条件设置,下图中下方的空白界面即是用来放置CPropertySheet和CPropertyPage的,考勤修改对话框的封装类是CAttDlg。对话框界面如下:界面四在对话框中嵌入了CPropertySheet和4个CPropertyPage,就须要定义类的变量CPage1m_Page1(出勤页),CPage2m_Page2(加班页),CPage3m_Page3(请假页),CPage4m_Page4(出差页),和CPropertySheetm_Sheet。然后修改它的初始化函数BOOLCAttDlg::OnInitDialog()的代码,见附录。在输入员工号时,须要刚好检索员工姓名,以确定设置的条件有效.通过ClassWizard加入处理IDC_EDT_SEEKPERSONID的EN_CHANGE消息处理的函数OnChangeEdtSeekpersonid()。3.6添假出勤记录属性页的实现再加入一个对话框资源将其封装类设为CPropertyPage他的继承类为CPage1,对话框的界面如下界面五在界面五中,可以检索或修改出勤记录。检索考勤记录:在“记录检索条件”中,选中“时间范围”复选框,输入时间范围,或选中“员工”复选框,输入员工号,在右边的文本框中会自动显示员工号对应的员工名字,然后点击“按条件检索”,在“出勤记录列表”中会显示出选定时间范围或员工的出勤记录。:添加记录:在“添加记录”中输入出入时间,出入状况,部门缩写(输入后右边会显示部门名称),员工号(输入后右边会显示员工名字)。点击“全部员工”把全部员工每人一条出勤记录添加到数据库并在出勤列表中显示,点击“部门员工”为该部门的每位员工添加一条出勤记录到数据库并在出勤列表中显示,点击“单个员工”为该员工添加一条出勤记录到数据库并在出勤列表中显示。下面的进度条会显示添加记录的进度。删除记录:在“出勤记录列表”中选定记录编号,然后点击“删除所选记录”,把记录从列表和数据库中删除。他的属性页面的初始化函数为OnInitDialog()。为了更新列表框内容,编写的UpdateList()函数调用此函数可使列表框显示给定的数据表格,当输入部门编号时,自动检索部门名称.他的实现函数为OnChangeEdtDepartid()。在输入员工号时,也须要刚好检索员工姓名,以确定设置的条件有效,在函数OnChangeEdtPersonid()中实现。添加部门和全体员工出勤记录的过程最终客分解为添加单个员工记录的过程.通过添加出勤记录函数IO_Add(CStringstrPersonID)实现。添加记录的3个按钮的处理程序分别调用以上的函数。:OnBtnAddall()为添加全部员工出勤记录,OnBtnAdddepart()为追加部门员工考勤记录,OnBtnAddperson()为追加单个员工考勤记录。3.7加班记录属性页功能的实现这个属性页的创建以上面的添假出勤记录属性页的创建类似,封装类都为CPropertyPage类他的继承类为CPage2,对话框的界面如下。同时也要对他的初始化函数OnInitDialog(),UpdateList()函数,OnChangeEdtOvertimePersonid()略做修改。添加按钮的实现如下函数为OnBtnOvertimeAdd(),下面的“删除所以记录”按钮和”按条件检索”按钮的功能和添加修改出勤记录中的相应按钮功能类似,代码不再重复出现,可见源程序界面六3.8请假和出差属性页功能的实现这两个属性爷的创建基本相同,请假记录的封装类为CPropertyPage继承的CPage3类,出差记录的封装类为CPropertyPage继承的CPage4类界面的初始化,列表的更新,员工姓名的

温馨提示

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

评论

0/150

提交评论