欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOCX文档下载  

    2员工管理系统0001.docx

    • 资源ID:4881309       资源大小:242.28KB        全文页数:40页
    • 资源格式: DOCX        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2员工管理系统0001.docx

    课程设计(论文)任务书信息学院学 院16诵信卓越专 业 班一、课程设计(论文)题目员工管理系统二、课程设计(论文)工作自2 2017年06月19日起至2017年06月25日三、课程设计(论文)地点: 信息机房205四、课程设计(论文)内容要求:1. 本课程设计的目的(1) 熟练掌握C语言的基本知识和技能;(2) 掌握线性表的链式存储结构;(3) 掌握线性链表的创建算法;(4) 熟悉掌握多线性链表的增加、删除算法;(5) 培养分析、解决问题的能力;提高学生的科技论文写作能力。2. 课程设计的任务及要求每个员工的信息包括:编号、姓名、性别、出生年月、学历、职务、电话、住址等。系统能够完成员工信息的查询、更新、插入、删除、排序等功能。1) 基本要求:(1) 排序:按不同关键字,对所有员工的信息进行排序。(2) 查询:按特定条件查找员工。(3) 更新:按编号对某个员工的某项信息进行修改。(4) 插入:加入新员工的信息。(5) 删除:按编号删除已离职的员工的信息。2) 创新要求:提高算法效率,降低时间复杂度和空间复杂度3) 课程设计论文编写要求(1) 要按照课程设计模板的规格书写课程设计论文(2) 论文包括目录、正文、心得体会、参考文献等(3) 课程设计论文用A4纸统一打印,装订按学校的统一要求完成4) 答辩与评分标准:(1) 完成原理分析:20分;(2)完成设计过程:40分;(3)完成调试:20分;(4)回答问题:20分。5)参考文献:(1)严蔚敏,吴伟民。数据结构。北京:清华大学出版社,2012.(2)严蔚敏、吴伟民、米宁.数据结构题集.北京:清华大学出版社,2009。(3) 谭浩强。C程序设计(第4版)北京:清华大学出版社,2013。(4)何钦铭、冯雁、陈越.数据结构课程设计。杭州:浙江大学出版社,20136)课程设计进度安排内容天数地点构思及收集资料2图书馆编程设计与调试5实验室撰写论文3图书馆、实验室学生签名:2017年06 月19日课程设计(论文)评审意见(1)完成原理分析(20分):优()、良()、中()、一般()、差();(2)设计分析(20 分):优()、良()、中()、一般()、差();(3)完成调试(20 分):优()、良()、中()、一般()、差();(4)翻译能力(20 分):优()、良()、中()、一般()、差();(5)回答问题(20 分):优()、良()、中()、一般()、差();(6)格式规范性及考勤是否降等级:是()、否()评阅人:职称: 2017年06 月25日目录一、问题描述4二、内容简介52.1基本要求:42.2. 算法思想:42.3。模块划分:62.4。数据结构:72.5. 源程序:72。6。测试情况:34三、小结38四、参考文献39一、问题描述(描述要求编程解决的问题)本次课程设计所制作的员工管理系统,选择用C+语言、利用链表、函数等知识对员 工的信息、数据进行收集管理,具有手工管理所无法比拟的优点,例如:检索迅速、查找 方便、可靠性高、存储量大、成本低、充足的信息、快捷的查询手段等优点这些优点能够 极大地提高员工管理的效率,也是企业的科学化、正规化管理和与世界接轨的重要条件 本次课程设计的是一个基于员工数据信息的数据管理系统,通过这个员工管理系统,对员工 的数据信息进行管理,企业的管理员就可以按照菜单选择相应的操作,快捷高效地对员工信 息执行查询、更新、插入、删除、排序等基本功能。本次课程设计建立的一个“员工管理系统”,如图1所示,该员工管理系统需要我们利用 编程知识解决以下几点问题:(1)该员工管理系统可以编写存放一定量的员工基本信息,存放的员工的人数应该在 100人以内,每个员工的信息应该包括:员工编号、员工姓名、员工性别、员工出生年月、 员工学历、员工职务、员工电话、员工家庭住址、员工的工资等。(2)该员工管理系统在保证能满足录入职工号不出现重复的情况下,录入的职工号信 息可以按照要求以文件形式保存.(3)该员工管理系统是建立职工信息管理的文件的情况下,并且可以实现对其按照不 同关键字,如出生年月、员工的编号、员工的工资、员工的电话号码等对所有员工的信息进 行从大到小的排序。(4)该员工管理系统还应该可以按照特定条件查找员工、按编号对某个员工的某项信 息进行修改、加入新员工的信息、按编号删除已经离职的员工的信息,在满足这些基本功 能的情况下,本程序尽可能地对其进行简化算法并提高算法效率,降低时间复杂度和空间 复杂度.员工管理系统图1:员工管理系统系统功能结构图二、内容简介2。1基本要求:(给出程序要达到的具体的要求。)该员工管理系统能够管理员工的编号、姓名、性别、出生年月、学历、职务、电话号码、 住址、工资等这些基本信息,除此之外,系统还可以实现员工信息的查询、更新、插入、 删除、排序等功能,该功能的具体要求如下所示。(1)排序:按不同关键字,如出生年月排序、员工工资排序、电话号码排序、员工编 码这些关键字对所有员工的信息进行排序。(2)查询:从员工管理文件中查询符合某些条件的员工,可以通过关键字查询的信息有: 员工部门查询、出生年月查询、员工学历查询、员工职务查询、员工住址查询、电话号码 查询、员工编码查询、员工性别查询。(3)修改:先按编号检索某个需要修改信息的员工对象,对其某些属性进行修改,这 些属性包括:员工的编号、姓名、性别、出生年月、学历、职务、电话号码、住址、工资 等.(4)插入:新增一名员工,将新增员工信息加入员工管理文件当中。(5)删除:按编号删除已离职的员工的信息。2。2.算法思想:(描述解决相应问题算法的设计思想。)(1)排序算法在排序算法中,员工管理系统提供了四种排序操作,实现了系统的基本排序操作。这 些排序操作分别为:对员工出生年月进行排序,对员工电话号码进行排序,对员工工资进行 排序,对员工编号进行排序.在排序算法中,利用链表的指针的移动遍历整个职工信息表, 利用if语句判断链表上两两之间排序数据的大小,再从大到小的排序.(2)删除算法在删除算法中,创新点事将删除算法拆分为查找要删除职工信息所在的节点位置为一个算 法,删除节点为另一个算法,这样做不仅使算法更为简单清晰,还将一个函数可以被删除函 数、修改函数两个函数调用,提高了算法的效率。(3)链式存储算法因为员工的编码是不可重复的,所以锁定信息时,只需要从职工的编码确定职工的节点, 节省了算法的时间复杂度和空间复杂度。(4)查询算法:在查询算法中,职工管理系统提供了其中多种查询操作,实现了系统的人性化查询操 作,这些操作分别为:对姓名进行查询、对性别进行查询、对出生年月进行查询、对工作年月进行查询、对学历进行查询、对职位进行查询、对住址进行查询、对电话进行查询等 一系列操作。在查找算法中,利用链表的指针的移动扫描整个员工信息表,利用if语句判 断字符串是否匹配,将匹配的员工信息全部输出,如图2所示。图2:查询算法程序流程(5)排序算法在排序算法中,员工管理系统提供了四种查询操作,实现了系统的基本排序操作,这些排 序操作分别为:对姓名进行排序,对性别进行排序,对出生年月进行排序,对工作年月进 行排序。排序算法中,利用链表的指针的移动扫描整个员工信息表,将需要比较的两个数 据拆分成一个算法,其余数据为另一个算法,利用if语句判断同一链表相邻数据的大小,图3:排序算法程序流程2。3.模块划分:(描述所设计程序的各个模块(即函数)功能。)根据员工管理系统问题的分析和设计需求,可以得到该员工管理系统可以分为五个模块分 别为菜单选择模块、信息输入模块、信息游览模块、信息修改模块、信息删除模块。其系 统功能结构如下图所示(1)菜单选择:用于完成接受管理人员的命令,是职工信息管理的入口,用户所进行的各 种操作均需要在此模块中进行选择,并且进而调用其他模块,从而实现相应的功能。(2)信息输入模块:完成职工信息的输入功能,输入职工的信息,包括姓名、出生年月、 职工号、性别、职务、工资、地址、电话、工资等。(3)信息游览模块:完成一件录入的员工信息的查询,查询方式有按编号查询、按姓名查 按学历查询、按员工职务查询、按员工部门进行查询、按出生年月进行查询、按员工住址 进行查询、按员工电话号码、按员工性别进行查询等八种查询方式(4)信息修改模块:查询要修改员工数据所对应的节点,完成员工信息的修改功能。(5)信息删除模块:查询要删除员工数据所对应的节点,完成对员工信息的删除功能。2.4. 数据结构:(给出所使用的基本抽象数据类型,所定义的具体问题的数据类型,以及新定义 的抽象数据类型。)根据系统功能结构图的描述,可以构造出该系统的抽象数据类型和相对应的函数,其 方法名和功能如下表1所示模块函数或数据结构功能链表数据类型Typedef struct node定义链表节点struct Employee定义职工信息Link Create (Link Head)初始化链表系统处理模块Link Add(Link Head)插入职工信息Link Del(Link Head)删除职工信息Link Modify(Link Head)修改职工信息Void Save_ByFile(Link Head, fstream& ofile)保存职工信息bool Search (Link Head)Link Search_Unique_Front (Link Head)查询职工信息Link Sort(Link Head)职工信息排序输出模块void Display_List (Link Head)显示职工信息表1:系统功能结构表2.5。源程序:(给出所有源程序清单,要求程序有充分的注释语句,至少要注释每个函数参 数的含义和函数返回值的含义。)/大员工管理系统*/*头文件*/#include <iostream>#includestring>/字符串头文件# includefstream>/写入、读出操作文件的头文件#include iomanip>/*控制cin、cout之类的一些操纵运算子比如 setfill, setw, setbase, setprecision等I / O流控制头文件大/#includememory。h> /将文件中的函数声明放到工程中头文件# include <conio。h>/大调用 getch()cprintf()cputs () kbhit ()之类的函数的头文件大/#includestdlib。h/malloc、free、exit 等常用函数的头文件using namespace std;struct Employee定义结构体类型Employee,声明职工的结构作为链表节点。string m_Code; /定义字符串 m_ Code 为职工代码string m_Name ; /定义字符串 m_Name 为职工姓名string m_Sex;/定义字符串m_Sex为职工性别string m_Post;/定义字符串m_Post为职工职称string m_Degree; /定义字符串m_Degree为职工的学历string m_Home;/定义字符串m_Home为职工住址string m .Department;/定义字符串m_Department为职工部门unsigned int m_Wage; /定义无符号整型m_Wage为职工工资unsigned short int m_Year;/定义无符号短整型m_Year为职工出生年份unsigned long int m_Tel; /定义无符号长整型m_Tel为职工的电话号码struct Employee大Next;/定义链表节点的指针*Next;/取别名typedef struct Employee Node;/Node 类型等同于 struct Employeetypedef Node* Link; /定义 typedef Employee *为一种新类型,即指针类型函数声明Link Create (Link Head) ;/创建带有头结点的链表void Release (Link Head);/释放带有头结点的链表Link Add (Link Head) ; /添加员工信息到链表里bool Search (Link Head) ; /查询满足姓名和部门条件的员工信息Link Search_Unique (Link Head) ;/大查询满足“员工代码“的职工信息(职工代码必需 唯一)*/void Display_List (Link Head) ; /打印职工信息void Display_Node (Link pNode) ;/在标准输出设备上输出。Link Modify (Link Head) ; /修改员工信息Link Del (Link Head); /删除员工信息void Save_ByFile(Link Head, fstream& ofile) ;/保存员工信息Link Sort (Link Head) ; /员工信息排序函数实现Link Create(Link Head)/创建一个带头节点的空链表。Head =(Link) new Node;/每次动态分布给Node 内存大小if (!Head)cout << ”分配内存失败!”< endl;return NULL;/初始化头节点HeadHead一>m_Code = ”:Head- m_Name ="";Head->m_Year = 0;Head->m_Sex ="";Head->m_Post = ” ;Head- m_Department ="”;Head>m_Wage = 0;Head>m_Home =""Head- m_Degree ="”;Head- m_Tel = 0;Head- Next = NULL;return Head;void Release (Link Head)释放链表Link ptr; /声明一个操作用的指针。while (Head ! = NULL)ptr = Head;Head = Head->Next;delete ptr; /释放节点资源。Link Add (Link Head)前插法添加数据。Link pNew;/声明一个新节点。char again;string code, name, sex, post, department, home, degree;unsigned short int year;unsigned int wage;unsigned long int tel;dopNew = (Link) new Node;cout< ”请输入职工代码:"cin code;cout ”请输入职工姓名:"cin > name;cout ”请输入职工出生年份:;cin >> year;cout << ”请输入职工性别:”;cin sex;cout 请输入职工职称:”;cin > post;cout 请输入职工部门:”;cin >> department;cout< 请输入职工工资:”;cin wage;cout< ”请输入职工学历:"cin >> degree;cout ”请输入职工住址:”;cin > home;cout << 请输入职工电话号码:”;cin > tel;pNew->m_Code = code;pNew->m_Name = name;pNew- m_Year = year;pNew->m_Sex = sex;pNew->m_Post = post;pNew->m_Department = department;pNew- m_Wage = wage;pNew->m_Degree = degree;pNew->m_Home = home;pNew->m_Tel = tel;指针域。pNew Next = Head Next;Head>Next = pNew;cout < < ”数据添加成功!是否继续添加?(Y/N) < < endl;cin >again; while (again = Y| I again = 'y'); /大小写均能运行return Head;bool Search(Link Head)/查询职工信息。Link ptr;string department, name, home, code, sex, degree;int i, year, tel,j=0;ptr = Head>Next;cout < < ” 大*大大大*大大*大*大*大大*大*大*大*大大大大大*大*大大*大*大 *大*大*大*大大*大大*大大大大*大*” < < endl;cout << " *=员工信息查询系统=大” << endl;cout<"大=*"< endl ;cout< ”* 1。员工部门查询2.出生年月查询3。员工学历查询4.员工职务查询*” endl;cout < ”* 5.员工住址查询6.电话号码查询7.员工编码查询8.员工性别查询 大*" endl;cout < ” 大大*大大大*大*大*大大*大*大大大大大*大大大大大*大大*大*大*大 大大*大*大大大*大大*大大大*大大大*大” << endl ;cout < ”请选择相应操作菜单项: <endl;while (1)cout 根据菜单栏,输入你的选择:;cin i;if (i = 1) /对部门进行查询cout << ”请输入部门:”;cin department;cout < endl << ”查询结果”<< endl;while (ptr)if (ptr一 m_Department = department)Display_Node(ptr);/打印满足条件的节点。cout << ”查询成功,继续操作”;j+;break;ptr = ptr一>Next;/查询下一节点。if (j = 0)cout< "无此职工的信息。”endl;return false;if (i = 2) /对出身年月进行查询cout << 请输入出身年月:"cin > year;cout endl "查询结果”< endl;while (ptr)if (ptr->m_Year = year)Display_Node(ptr);/打印满足条件的节点。cout< 查询成功,继续操作;j+;ptr = ptrNext;/查询下一节点。if (j = 0)cout< "无此职工的信息。” << endl;return false;if (i = 3)/对学历进行查询cout << ”请输入学历:;cin > degree;cout << endl << ”查询结果"<endl;while (ptr)if (ptr>m_Degree = degree)Display_Node(ptr) ; /打印满足条件的节点。cout << ”查询成功,继续操作”;j+;ptr = ptr-Next;/查询下一节点。if (j = 0)cout 无此职工的信息。"<< endl;return false;if (i = 4) 对职务进行查询cout< ”请输入员工职务:”;cin > department;cout endl "查询结果<< endl;while (ptr)if (ptr->m_Department = department)Display_Node(ptr);/打印满足条件的节点。cout << 查询成功,继续操作;j+;ptr = ptr一>Next;/查询下一节点。if (j = 0)cout< "无此职工的信息。”< endl;return false;if (i = 5) /对住址进行查询 cout << 请输入员工住址:”;cin > home;cout endl << ”查询结果一< endl;while (ptr)if (ptr- m_Home = home)Display_Node(ptr); /打印满足条件的节点。cout< 查询成功,继续操作”;j+;ptr = ptr-Next; /查询下一节点.if (j = 0)cout < ”无此职工的信息。"<< endl;return false;if (i = 6) /对电话号码进行查询cout < ”请员工的电话号码:”;cin > tel;cout << endl << "查询结果” <<endl;while (ptr)if (ptr- m_Tel = tel)Display_Node (ptr) ;/打印满足条件的节点。cout "查询成功,继续操作";j+;ptr = ptr-Next; /查询下一节点。if (j = 0)cout << ”无此职工的信息。” << endl;return false;if (i = 7) /对员工编码进行查询cout << ”请输入员工编码:”;cin >> code;cout endl< ”查询结果”<< endl; while (ptr)if (ptr m_Code = code)Display_Node(ptr);/打印满足条件的节点。cout < ”查询成功,继续操作;j+;ptr = ptr->Next;/查询下一节点。if (j = 0)cout << ”无此职工的信息。” << endl;return false;if (i = 8) 对员工性别进行查询cout < ”请输入员工性别:"cin > sex;cout<endl< ”查询结果-"endl;while (ptr)if (ptr一 m_Sex = sex)Display_Node(ptr); /打印满足条件的节点.cout << 查询成功,继续操作;j+;ptr = ptrNext; /查询下一节点。if (j = 0)cout ”无此职工的信息。"<endl;return false;else if (i ! = 1 && i ! = 2 && i ! = 3 && i != 4 && i ! = 5 && i ! = 6 & & i != 7 && i ! = 8)cout 输入出错,请再次输入:";Link Search_Unique_Front (Link Head)查询满足“职工代码“的职工信息(职工代码必需唯一),为删除职工信息和修改职工信 息这两个算法做准备。Link ptr;string code;ptr = Head;cout ”请输入职工代码:” ;cin code;cout endl << ”查询结果” <endl;while (ptr- Next)if (ptr->Next>m_Code = code)return ptr;/注意,是返回的查询到的节点的直接前趋节点。ptr = ptr>Next ; /查询下一节点.return ptr;void Display_List (Link Head)Link ptr;ptr = Head>Next;cout ” =所有职工信息=”endl;while (ptr)Display_Node(ptr);ptr = ptr->Next;void Display_Node (Link pNode)在标准输出设备上输出.cout << 员工代码员工名字出生年月 员工性别员工职称员工部门员工名字员工学位电话号码 员工工资 << endl;cout << setw(12) < < left << pNode一 m_Code< < setw(12)<< left << pNode- m_Name<< setw(12)<< left < < pNode>m_Year<< setw(12) < < left < < pNode>m_Sex< < setw(12) << left < < pNode- m_Post<< setw(12)<< left << pNode- m_Department<< setw(12) << left < < pNode m_Home<< setw(12) << left < < pNode->m_Degree<< setw(12) << left << pNode->m_Tel/九个空格和一个员工信息共占是个字符位置<< setw (12)<< left << pNode->m_Wage < < endl;/setw (10)表示 占10个字符位置.Link Modify (Link Head)/修改单一个节点。Link ptr;ptr = Search_Unique_Front (Head); /利用 Search_Unique_Front (Head)函数查找特 点的要修改信息的职工的节点string code, name, sex, post, department, degree, home;unsigned short int year;unsigned int wage;unsigned long int tel;if (ptr>Next)cout ”你现在可以修改此职工的信息了" << endl;cout< 请输入职工代码:”;cin >code ;cout < 请输入职工姓名:;cin name;cout< ”请输入职工出生年份:”;cin > year;cout < ”请输入职工性别:"cin > sex;cout ”请输入职工职称:;cin >> post;cout < 请输入职工部门:”;cin > department;cout< 请输入职工工资:;cin > wage;cout< ”请输入职工学历:";cin > degree;cout< 请输入职工住址:”;cin >> home;cout << ”请输入职工电话号码:”;cin >> tel;cout< "修改成功,请继续操作! " << endl;ptr->Next-m_Code = code; /因 ptr 是前趋节点,所以要用 ptr->Next;ptr Next m_Name = name;ptr- Next>m_Year = year;ptr>Next->m_Sex = sex;ptr- Next>m_Post = post;ptr Next- m_Department = department;ptr Next m_Wage = wage;ptr-Nextm_Name = name;ptr- Next m_Home = home;ptr Next->m_Tel = tel;elsecout << ”没找到此职工的记录,无法修改."< endl;return Head;Link Del(Link Head) /员工信息的删除Link ptr;Link ptr_front;ptr_front = Search_Unique_Front(Head); /通过 Search_Unique_Front(Head)函数找到特定的要删除职工的节点ptr = ptr_frontNext;if (ptr)ptr_front Next = ptr-Next;delete ptr;/删除此节点。cout ”删除成功,请继续操作! endl;elsecout ”没找到此职工的记录,无法删除." endl;return Head;void Save_ByFile (Link Head, fstream& ofile) /员工信息的保存Link pNode;pNode = HeadNext;ofile.clear() ; /清除文件结束状态。while (pNode)ofile setw (10) left pNode- m_Code setw (10) left pNode一m_Name setw (10) left pNode-m_Year setw(10) left pNodem_Sex setw (10) left pNode-m_Postsetw(10)< left < pNode->m_Department< setw (10) < left < pNode->m_Name< setw (10) left pNode->m_Degree< setw (10) << left< pNode-m_Tel/九个空格和一个员工信息共占是个字符位置<< setw(10) left pNode->m_Wage < endl; /setw(10)表示占 10 个字符位置.pNode = pNode->Next;cout "数据文件保存成功!” < endl;Link Sort(Link Head)/排序算法。if (Head一Next = NULL)I | (Head->Next-Next = NULL) )/此步条件判断非常有价值。cout< 数据节点数少于2个,不用排序! " << endl;return Head;Link ptr;Link ptr_F;Link ptr_N;int i;ptr = Head Next- Next;ptr_F = Head;Head->Next-Next = NULL; /到此,分成了两个链表 ptr 和 ptr_F cout < " *大*大*大大*大大*大*大大大*大大大*大*大大大*大*大大*大大 *大大*大大*大大大*大大大*大*大大大” <endl;cout< " 大=员工信息排序系统= 大"endl;cout << "大= 大"endl ;cout < < "* 1。出生年月排序2.员工工资排序3.电话号码排序4.员工编码排序*大"<< endl;cout << " 大大*大大*大*大*大*大*大大大大*大大大*大*大*大大*大大*大*大大* 大*大*大大*大*大*大*大大大大* << endl;cout ”请选择相应操作菜单项:"< < endl;cout < ”根据菜单栏,输入你的选择:"cin > i;while (ptr)ptr_N = ptr一 Next;ptr_F = Head;/ptr_F 的归位。while (ptr_F->Next)if (i = 1) 对员工出生年月进行排序if (ptr- m_Year ptr_F->Next一>m_Year)ptr Next = ptr_F->Next;ptr_F->Next = ptr; break;/ifelseptr_F = ptr_F->Next;if (i = 2) /对员工工资进行排序if (ptr- m_Wage > ptr_F Next- m_Wage)ptr Next = ptr_F- Next;ptr_F Next =

    注意事项

    本文(2员工管理系统0001.docx)为本站会员(小飞机)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开