




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 ?软件工程课程设计?报告 员工信息管理系统 2021/2021学年 第一学期2021年12月09日目录第一章 系统概述11.1 编写目的11.2 选题背景及意义11.3 说明性定义1第二章 系统概述22.1 系统目标22.2 运行环境22.3 需求分析22.3.1 功能需求22.3.2 性能需求52.3.3 系统集成需求5第三章 信息管理系统总体设计63.1 编写目的63.2 模块定义63.2.1 录入信息模块63.2.2 查询信息模块63.2.3 删除信息模块63.2.4 修改信息模块73.2.5 文件导入导出模块73.2.6 打印信息模块73.2.7 退出系统7第四章 系统物理结构84.
2、1 系统流程图84.2 用户界面设计9第五章 系统详细设计105.1 编写目的105.2 系统描述105.3 数据库设计105.4 程序的类设计11第六章 信息管理系统编码实现126.1 系统界面实现126.2 编码实现16结束语17参考文献18附录:程序清单19第一章 系统概述1.1 编写目的明确该系统的软件需求,搞清该系统的数据流向和数据结构,为设计阶段做好准备。确定系统功能,设计时应遵循的原那么,约束条件及性能等要求。和用户明确需求内容,撰写需求规格说明。1.2 选题背景及意义随着企业信息蓬勃开展,各种信息的分类、管理显得尤为重要,为不断提高管理水平,单独对企业的员工信息进行管理。员工信
3、息管理就是对企业员工情况的全方位管理,它关系到企业的平稳开展与壮大。由于企业从小型规模往大开展,不断增加与扩大业务规模,不断招纳人才,因此员工信息管理的工作量和工作难度增大,手工方式管理文件档案已不能满足提高管理水平的需要,而且随着时间的推移,将会积累大量的员工档案和数据,手工方式的查询、修改和维护档案和数据会变得非常困难。我们所需的员工信息管理系统有下特点:要保证信息库是平安的,保证数据一致性拥有友好的用户界面,能方便用户使用;完整的添加,查询,修改,删除等维护系统,起到计算机辅助管理的作用;员工信息管理系统的存在为管理人员提供了简单、准确、快捷、高效的资源效劳。因此,开发管理信息系统是一项
4、急需的工作。 说明性定义员工信息管理系统是一套帮助企业管理人员完成对员工从入职到离职的所有数据用计算机进行辅助管理的信息系统。第二章 系统概述2.1 系统目标A 为了员工信息管理更完善;B 企业人事部对员工的管理更方便;C 提高自己的动手编程能力。2.2 运行环境硬件:奔腾四处理器及以上,内存最低1G。软件:Ubuntu Linux系统。2.3 需求分析 员工信息管理系统使企业对员工管理更加方便,提升了企业对员工管理的能力和品质。使员工管理中数据量过多,数据收集复杂,数据回馈过慢,数据出错率高的问题不复存在。划分员工信息管理系统的各功能模块,对各项功能进行描述,并对数据需求、性能需求、系统集成
5、需求进行描述。 功能需求 A. 模块划分 企业可以通过系统录入员工的信息,删除信息、修改信息、查询信息。系统还需实现讲信息从文件导入与导出到文件。该系统可以打印员工信息,退出系统时,保存所有数据。B. 系统功能系统的主要功能如下: a. 根本信息管理模块:员工根本信息包括编号、姓名、性别、身份证号、生日、籍贯、学历、地址、 、工龄以及薪水。通过该功能模块,将信息录入,系统管理员工的信息。b. 员工信息查询模块: 此模块实现多种条件查询,如根据姓名、身份证号查询单人信息。根据籍贯、年龄段查询多人信息。c. 删除信息模块:通过多种信息提供方式删除一条或多条信息。d. 修改信息:如上所述,可通过多种
6、方式找到所需用户,对其信息进行修改。e. 从文件导入、导出:员工的详细信息可以从文件导入系统,方便批量管理。也可以讲系统中的信息数据导出到文件,作为备份。f. 打印信息:通过用户的操作,对信息的查找结果,信息列表进行打印。e. 退出系统:系统应具有良好的退出程序,退出系统保存所有数据,防止数据丧失。C. 数据需求 a. 数据流图数据流图描述了系统中数据从输入到输出变换的过程。现将员工信息管理系统数据流向数据流图表示如图2.1。b. 数据字典数据字典是关于数据信息的集合,也就是对数据流图中包含的元素的定义的集合,它能够供人查阅对不了解的条目的解释。信息的录入员工信息表用户操作显示打印员工信息存储
7、图2.1 系统数据流图名字:员工信息描述:员工的根本情况定义:员工根本信息 = 员工编号 + 员工姓名 + 性别 + 生日 + 籍贯 + 学历 + 地址 + + 工龄 + 薪水位置:员工根本信息表图2.2 数据字典 c. 用例图员工档案录入及维护各类信息查询、排序登录系统新生图2.3 用例图2.3.2 性能需求 A. 员工信息管理系统使用简单、方便、人性化设计。B. 本系统采用多层架构设计,使系统结构更清楚,分工更明确,有利于后期的维护。C. 系统程序应该精简,减少数据冗余,提高运行效率。D. 界面的设计应该以用户为中心,简洁,美观,容易使用。E. 用户界面的风格保持一致,使用户使用起来方便上
8、手。2.3.3 系统集成需求 A. 各子模块的集成 员工信息管理系统由各个子模块结合而成。在程序的运行过程中,各个模块能够相互交换数据,进行信息处理。 B. 软件接口 本信息管理系统采用Linux平台下C语言编程、以文件作为数据平台,除了导入导出数据信息外,无其他的连接。第三章 信息管理系统总体设计3.1 编写目的A 掌握系统总体结构的设计;B 掌握系统接口设计,数据结构设计;C 掌握系统总体设计的步骤和方法。3.2 模块定义各模块的根本功能描述如下: 3.2.1 录入信息模块系统运行后,可以通过两种方式与外界进行数据交换,一种是直接录入,用户通过键盘的输入来添加新员工的管理数据内容;另一种是
9、通过文件导入的方式将数据添加到系统中,这是另一个模块。在这里,我们要考虑的是如何让用户能够高效,简便的录入信息,录入的内容能够被系统识别,而不是垃圾信息。控制好数据的格式与数据类型,让其能够区分哪一条录入的是哪个个信息,不会出现偏差。同时做好出错处理,比方:输入生日,防止出现非数字的数据。3.2.2 查询信息模块员工信息管理系统提供的更多的功能是管理,如何快速、有效、方便的管理,是我们所追求的,也是企业需要的。查询信息要做到方便、高效,就要做多种查询方式,根据姓名查询,根据性别分类查询,根据年龄段做查询,这样有利于用户根据的信息快速找出索要找的对象,再继续做深一步的处理。3.2.3 删除信息模
10、块 该模块主要是对离职员工、无用信息、错误的信息进行删除处理。删除、首先是要明确删除哪条信息,在确定该条信息的为之前,还是得先查找到,因此,该模块是建立在查询信息模块之上,调用该功能前,借助查询信息模块找到要删除的信息,然后做删除操作。3.2.4 修改信息模块该模块同删除信息模块类似,修改之前同样要通过查询,找到要修改的记录,然后做相应的修改操作。3.2.5 文件导入导出模块该模块的主要功能是辅助系统的可用性与平安性。为方便员工信息的管理,系统的文件导出,可以将系统内存储的数据导出到文件,方便拷贝或作为备份。导入那么可以将批量的信息插入到系统的数据中,方便批量的管理与操作,给系统带来一定的灵活
11、性。3.2.6 打印信息模块该模块为显示信息提供一个可视的渠道,用户查找到的信息,批量处理信息,调出来的局部信息,都可以打印出来,方便观看,操作。3.2.7 退出系统该模块处理系统的退出工作。一个好系统有开始,就有结束,结束系统的生命之前,要做好退出保存工作,处理好与客户的交互,保存好数据记录,防止丧失数据等平安事件的发生。第四章 系统物理结构4.1 系统流程图管理系统用户交互录入信息查询信息删除信息修改信息导入导出打印信息退出系统图4.1 员工管理系统流程图在设计该系统时,考虑到模块的复用,充分利用开发好的模块,积累成果和知识经验,开发新的模块,防止软件开发中的重复劳动。模块复用可降低软件测
12、试过程的难度,提高系统的稳定性,因此,在设计时将可以复用的地方进行整合,形成架构如图4.2所示。系统外部应用录入信息导入导出打印信息退出系统查询删除修改图4.2 模块结构图4.2 用户界面设计本系统使用的界面文字精练,为用户提供有效的使用保证。并且用户界面直观,易于操作,使得用户能够方便使用系统。第五章 系统详细设计5.1 编写目的在逻辑上实现每个模块的功能,对每个模块的实现细节和数据结构进行分析设计,并对各个子模块功能加以详细描述。当前工作是系统模块流程实现的细节局部,是系统构建的必要环节。5.2 系统描述本系统分为输入、输出、查询、修改、删除、导入导出、打印等功能,各种操作的最终对象都是员
13、工的信息数据,因此设计好数据存储方法,便于操作即可,因此将列出数据存储,运行的格式。5.3 数据库设计表5-1 员工信息数据表字段名类型长度是否为空说明nochar5否员工编号,设为主键namechar21员工姓名idchar19员工身份证号sexchar2员工性别birthchar9员工生日hometownchar11员工籍贯educationchar2员工学历addresschar31员工地址telchar16员工 senioritychar3员工工龄salarychar11员工薪水5.4 程序的类设计员工信息类属性:名称:员工编号类别:字符串名称:员工姓名类别:字符串名称:员工身份证号类
14、别:字符串名称:员工性别类别:字符串名称:员工生日类别:字符串名称:员工籍贯类别:字符串名称:员工学历类别:字符串名称:员工地址类别:字符串名称:员工 类别:字符串名称:员工工龄类别:字符串名称:员工薪水类别:字符串第六章 信息管理系统编码实现6.1 系统界面实现本局部展示了员工信息管理系统的界面,操作过程。首先,启动系统,显示系统界面,给用户的操作提供显而易见的提示,能够干些什么,如下图。图6.1 系统主界面图本次显示主要是在打印模块文件中实现,用printf语句,输出系统的主界面,并且通过获得用户输入的选项,进行各个分支的相应操作。这里,用到case语句进行选择,并且给用户提供良好的操作余
15、地。例如,用户现在想选择A选项进行录入信息,这时,用户可以输入“A 或“a,系统都能够识别,调用录入信息的函数,进行录入信息的处理。当用户要录入信息时,系统提供了录入信息的专有通道,设计录入信息,用到了fgets函数,抛弃了scanf的用法,之所以这么做,就是因为scanf让系统不受控,如果让输入一个整形数,但是用户误操作的输入了字母,这就会造成系统的崩溃。输入内容见图6.2。当用户需要打印信息时,比方查询某段的数据,进行打印,或是直接要显示所有员工信息的内容,我们需要一个打印信息的模块来给用户呈现他所要看到的信息,这里,主要是查看链表中对应的信息,然后将其输出到屏幕,如图6.3所示。图6.2
16、 信息的录入图6.3 打印信息当用户需要查询信息时,系统根据用户选择查询信息的选项,调用查询函数,并且给用户提供几种选择,供用户提供不同的条件来给出的数据,以此获得查询的内容。查询的结果分为两种,一种是找到,一种是没找到,即系统中不存在此信息。那么,找到了,就将信息打印到屏幕,假设未找到,不能不了了之,要为用户提供必要的信息,提示用户数据文件中没有此条记录信息,或是输入有误。通过查询信息,未找到索要的结果,如图6.4所示。图6.4 信息查询未找到假设找到了要查询的信息,那么输出到屏幕,如图6.5所示。图6.5 信息查询找到结果当用户想删除信息时,也需要先找到要删除的员工,对其进行删除操作,删除
17、具体界面与使用见图6.6。当用户想将系统的文件导出来作为备份或进行其它处理时,可以选择文件导出,来实现想操作的要求,见图6.7.图6.6 信息删除图6.7 导出到文件假设用户要关闭系统,系统在退出前询问用户是否要保存当前修改的数据,通过选择y/n来告诉是否保存,最终退出系统,如图6.8所示。图6.8 退出系统6.2 编码实现信息系统的设计已经完成,现在已经明确了根本思路和要做什么,具体实现的内容也设计好了,剩下的工作是用代码把明确的内容实现出来。 下面划分为几个模块,分别用于处理不同的局部,首先,要将系统启动所需的数据加载到链表里面,这就需要翻开数据文件,对文件内容做相应的解析,对应的填写到每
18、个节点的内容中去。另一个模块是实现对链表的各种操作,包括录入、查询等。还需要一个模块来输出不同需要的界面,来提示用户可以进行哪些操作。最终,在主函数中列出按需启动的函数,控制程序正常运行。结束语3周的软件工程课程设计结束了,总结这些时间里我做的东西,应该是最有意义的事情。重要的是做设计的过程,和做完设计的总结,从过程中,得到的是历练,从总结中,得到的是经验和教训。员工信息管理系统是在普遍不过的设计了,选题并不一定有多么创新,所做出的东西也并不一定要超越别人,要做的是用个人的思维、智慧、想法来构建一个系统。这个经过,迫使我重新温习了软件工程的各个流程和所需的知识,并且通过运用,得以深化。系统的设
19、计是个复杂的问题,本次的系统设计,存在很多的问题值得改良。目前做出的系统仅仅处于理想状态的系统,是试验成果,真正企业所使用的员工信息管理系统绝不会是如此简单和不可靠的,对员工信息的管理,重要的是数据的内容,保护已有的数据资源。而真正用于员工信息管理的系统通常都是有标准图形界面的,并且当涉及的员工数量比拟大的时候,通过链表的操作显然是不适宜的,要想表达出更高的效率,必须要用到数据库的接连,来保证数据查询等操作的速率和平安性。如今,信息管理系统已经走向成熟化,真正用于企业的信息管理系统也不是罕见的情况,无非根据硬件的提升与网络的开展,向更优质、更方便、更简单的路线走去。参考文献 1 2 附录:程序
20、清单1 实现功能#include "system.h"/*初始化链表*/struct node *init(struct node *head) head = (struct node *)malloc (sizeof(struct node); if (head = NULL) printf("头结点创立失败n"); exit(1); strcpy(head->no, "9999"); head->next = NULL; return head;/*完全匹配*/int inside_match(char *src, c
21、har *dest) while (*src != '0') if (*dest = *src) src+; dest+; else return 1; /end of while (*src != '0') if (*src = *dest) return 0; else return 1; /*匹配字符串*/int match(char *src, char *dest) while (*src != *dest && *dest != '0') dest+; if (inside_match(src, dest) = 0)
22、return 0; else return 1; /*打印指定一条信息*/void print_line(struct node *pt) printf("|%4s| |%20s| |%18s| |%1s| ", pt->no, pt->name, pt->id, pt->sex); printf("|%8s| |%10s| |%1s| |%30s| ", pt->birth, pt->hometown, pt->education,pt->address); printf("|%15s| |%2
23、s| |%10s|n", pt->tel, pt->seniority, pt->salary); /*修改信息*/void change(struct node *pt) int num; char bufMAX = 0; num = change_menu(); switch (num) case 1: printf("请输入正确的编号:"); fgets(buf, MAX, stdin); process_buf(buf); strcpy(pt->no, buf); break; case 2: printf("请输入正确的
24、名字:"); fgets(buf, MAX, stdin); process_buf(buf); strcpy(pt->name, buf); break; case 3: printf("请输入正确的身份证号:"); fgets(buf, MAX, stdin); process_buf(buf); strcpy(pt->id, buf); break; case 4: printf("请输入正确的性别:"); fgets(buf, MAX, stdin); process_buf(buf); strcpy(pt->sex,
25、 buf); break; case 5: printf("请输入正确的生日:"); fgets(buf, MAX, stdin); process_buf(buf); strcpy(pt->birth, buf); break; case 6: printf("请输入正确的籍贯:"); fgets(buf, MAX, stdin); process_buf(buf); strcpy(pt->hometown, buf); break; case 7: printf("请输入正确的学历:"); fgets(buf, MAX
26、, stdin); process_buf(buf); strcpy(pt->education, buf); break; case 8: printf("请输入正确的地址:"); fgets(buf, MAX, stdin); process_buf(buf); strcpy(pt->address, buf); break; case 9: printf("请输入正确的 :"); fgets(buf, MAX, stdin); process_buf(buf); strcpy(pt->tel, buf); break; case
27、10: printf("请输入正确的工龄:"); fgets(buf, MAX, stdin); process_buf(buf); strcpy(pt->seniority, buf); break; case 11: printf("请输入正确的薪水:"); fgets(buf, MAX, stdin); process_buf(buf); strcpy(pt->salary, buf); break; default: printf("没有此选项n"); return; break; /*删除找到的节点*/void
28、del(struct node *tmp) struct node *pt = head, *pre = head; while (pt != tmp) pre = pt; pt = pt->next; if (pt->next = NULL) pre->next = NULL; else pre->next = pt->next; if (pt != NULL) free(pt); pt = NULL;/*查找*/void find(char ch, char type) struct node *pt = head, *pre = head; char *si
29、gn; int sum = 0; int tmp; char bufMAX = 0; fgets(buf, MAX, stdin); process_buf(buf); printf("n"); /*第一个节点为空节点,没保存信息,略过*/ if (pt->next != NULL) pt = pt->next; /*根据所需,分析按哪种类型进行查找*/ while (pt != NULL) switch(ch) case '1': tmp = match(buf, pt->name); break; case '2': t
30、mp = match(buf, pt->no); break; case '3': tmp = match(buf, pt->id); break; case '4': tmp = match(buf, pt->hometown); break; default: printf("不知道比拟哪类n"); return; break; /*找出结果*/ if (tmp = 0) if (type = 's') /*执行查找结果打印*/ print_line(pt); else if (type = 'c
31、') /*执行更改信息*/ change(pt); else if (type = 'd') /*删除选定信息*/ del(pt); sum+; pre = pt; pt = pt->next; /*遍历链表结束,没有发现要找的信息*/ if (sum = 0) printf("n没有找到您要的信息n"); /*处理缓存器,将"n"替换文"0" */char *process_buf(char *buf) char *re = buf; while (*buf != 'n') buf+;
32、*buf = '0' return re;/*录入信息*/void type_in(struct node *pt) char buf100; getchar(); /*找到链表尾*/ while (pt->next != NULL) pt = pt->next; /*创立新节点*/ pt->next = (struct node *)malloc(sizeof(struct node); pt = pt->next; if (pt = NULL) printf("节点创立失败n"); pt->next = NULL; /*输入
33、信息*/ printf("请输入编号:n"); fgets(buf, MAX, stdin); process_buf(buf); strcpy(pt->no, buf); printf("请输入姓名:n"); memset(buf, 0, sizeof(buf); fgets(buf, MAX, stdin); process_buf(buf); strcpy(pt->name, buf); printf("请输入身份证号n"); memset(buf, 0, sizeof(buf); fgets(buf, MAX, s
34、tdin); process_buf(buf); strcpy(pt->id, buf); printf("请输入性别:n"); memset(buf, 0, sizeof(buf); fgets(buf, 3, stdin); process_buf(buf); strcpy(pt->sex, buf); printf("请输入生日:n"); memset(buf, 0, sizeof(buf); fgets(buf, MAX, stdin); process_buf(buf); strcpy(pt->birth, buf); pri
35、ntf("请输入籍贯:n"); memset(buf, 0, sizeof(buf); fgets(buf, MAX, stdin); process_buf(buf); strcpy(pt->hometown, buf); printf("请输入学历:n"); memset(buf, 0, sizeof(buf); fgets(buf, MAX, stdin); process_buf(buf); strcpy(pt->education, buf); printf("请输入地址:n"); memset(buf, 0,
36、sizeof(buf); fgets(buf, MAX, stdin); process_buf(buf); strcpy(pt->address, buf); printf("请输入 :n"); memset(buf, 0, sizeof(buf); fgets(buf, MAX, stdin); process_buf(buf); strcpy(pt->tel, buf); printf("请输入工龄:n"); memset(buf, 0, sizeof(buf); fgets(buf, MAX, stdin); process_buf(
37、buf); strcpy(pt->seniority, buf); printf("请输入薪水:n"); memset(buf, 0, sizeof(buf); fgets(buf, MAX, stdin); process_buf(buf); strcpy(pt->salary, buf);/*打印信息*/void print_info(struct node *pt) /*滤去空节点*/ pt = pt->next; /*打印信息*/ while (pt != NULL) printf("|%4s| |%20s| |%18s| |%1s| &
38、quot;, pt->no, pt->name, pt->id, pt->sex); printf("|%8s| |%10s| |%1s| |%30s| ", pt->birth, pt->hometown, pt->education,pt->address); printf("|%15s| |%2s| |%10s|n", pt->tel, pt->seniority, pt->salary); pt = pt->next; /*保存信息*/int save_info(struct
39、 node *pt) char buf4 = 0; /用户输入 getchar(); /*退出时提醒是否保存信息*/ printf("是否保存信息? (y/n)n"); fgets(buf, 4, stdin); process_buf(buf); /*不保存信息,直接退出*/ if (buf0 = 'n' | buf0 = 'N') return 0; pt = pt->next; /*保存信息,翻开数据文档*/ FILE *fp = fopen("data.txt", "w"); if (pt
40、 = NULL) printf("文件翻开失败n"); exit(1); /*将数据写入文档*/ while (pt != NULL) fprintf(fp, "%4s_%20s_%18s_%1s_%8s_%10s_%1s_%30s_%15s_%2s_%10sn", pt->no, pt->name, pt->id, pt->sex, pt->birth, pt->hometown, pt->education2 系统启动设置#include "system.h"int main() /*初始
41、化链表*/ head = init(head); /*加载数据到系统*/ start(head);/*进入用户界面*/Print_menu();Return 0; 3 启动加载数据库#include "system.h"/*启动系统,从文档加载数据*/int start(struct node *pt) int sum = 0; /记录编号,姓名. 顺序号 char bufMAX = 0; /用来存放拆分后的信息 char *sign = buf; char get_lineMAX; /从文档中读取一个人的信息 char *str = get_line; /*翻开存放数据的
42、文档*/ FILE *fp = fopen("data.txt", "r"); if (fp = NULL) printf("数据库翻开失败n"); /*从文档中读取记录*/ while (fgets(get_line, 131, fp) != NULL) /*初始化变量*/ str = get_line; sign = buf; sum = 0; /*创立一个节点,存放信息*/ pt->next = (struct node *)malloc(sizeof(struct node); pt = pt->next; if
43、(pt = NULL) printf("系统加载数据创立节点失败n"); pt->next = NULL; /*拆分信息,加载到系统中*/ while (*str != 'n') *sign+ = *str+; if (*str = '_') *sign = '0' /存放在文档中的每条信息中间用"_"隔开 /遇到符号"_"就断开 str+; sum+; /*将对应的信息加载到链表中*/ if (1 = sum) strcpy(pt->no, buf); if (2 = su
44、m) strcpy(pt->name, buf); if (3 = sum) strcpy(pt->id, buf); if (4 = sum) strcpy(pt->sex, buf); if (5 = sum) strcpy(pt->birth, buf); if (6 = sum) strcpy(pt->hometown, buf); if (7 = sum) strcpy(pt->education, buf); if (8 = sum) strcpy(pt->address, buf); if (9 = sum) strcpy(pt->
45、tel, buf); if (10 = sum) strcpy(pt->seniority, buf); memset(buf, 0, sizeof(buf); sign = buf; *sign = '0' strcpy(pt->salary, buf); /*关闭文档*/ if (fclose(fp) != 0) printf("数据库关闭失败n"); return 0;/*从文件导入*/int in_from_file() int sum = 0; /记录编号,姓名. 顺序号 char bufMAX = 0; /用来存放拆分后的信息 char *sign = buf; char get_
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 河南水利与环境职业学院《机械工程材料及其成形技术》2023-2024学年第二学期期末试卷
- 沈阳医学院《机械工程基础》2023-2024学年第二学期期末试卷
- 河北建材职业技术学院《化工原理理论》2023-2024学年第二学期期末试卷
- 毕节工业职业技术学院《中高考语文试题研究》2023-2024学年第二学期期末试卷
- 三亚城市职业学院《管理工程数学基础1》2023-2024学年第二学期期末试卷
- 云南三鑫职业技术学院《媒介公关与危机管理》2023-2024学年第二学期期末试卷
- 辽宁大学《人工智能与机器学习课程设计》2023-2024学年第二学期期末试卷
- 安徽医学高等专科学校《司法文书写作与法律文献检索》2023-2024学年第二学期期末试卷
- 中国劳动关系学院《大气污染控制技术》2023-2024学年第二学期期末试卷
- 苏州高博软件技术职业学院《护理学基础实验(1)》2023-2024学年第二学期期末试卷
- 殡葬人员劳务合同协议
- 国内外著名幼儿教育家及其教育理念
- 2024年生物医学工程试题及答案
- 6.3 国家行政机关-八年级《道德与法治》下册教学设计(统编版)
- 浙江省宁波市2024学年第二学期高考与选考模拟考试化学试卷及答案(宁波二模)
- 2025年江苏省新高考高三联考数学试卷试题(含答案详解)
- 造价咨询进度管理制度
- 工程第一次监理例会会议纪要
- 初中防电信诈骗课件
- 2022长大桥梁养护指南 第 2 部分:机电系统维护管理指南
- 第六单元名著导读《钢铁是怎样炼成的》课件【知识精研】统编版语文八年级下册
评论
0/150
提交评论