版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、PAGE PAGE 35课 程 设 计 报 告课程名称 C语言课程设计 课题名称 工资管理系统 专 业 汽车服务工程 班 级 学 号 姓 名 指导教师 王宁 肖伟平 郭芳 2014年 1月 3 日湖南工程学院课 程 设 计 任 务 书课程名称 C课程设计 课 题 工资管理系统 专业班级 汽车服务1202班 学生姓名 学 号 指导老师 王宁 肖伟平 郭芳 审 批 任务书下达日期 2013 年 12 月 27日任务完成日期 2014年 1 月 3 日一、设计内容与设计要求1设计内容:设计与发开一个工资管理系统,对工号、姓名、编号、姓名、基本工资、扣款、应发工资、税金、实发工资等信息进行管理。主要完
2、成以下功能:1)显示所有数据2)单条显示3)计算实发工资4)查找职工信息数据5)删除记录6)插入记录7)追加记录8)保存文件9)读取文件10)按实发工资升序排序 2设计要求:1)设计正确,方案合理。2)界面友好,使用方便。3)程序精炼,结构清晰。4)设计报告5000字以上,含程序设计说明、系统的功能框图、流程图、源程序清单等。5)实际操作过程中遇到的问题及解决方法:设计总结及心得体会.6)上机演示。二、进度安排第十七周 周五 上午 8:0012:00 (查阅相关资料并 开始编写源程序) 第十七周 周五 晚上 18:3022:30 (完成源程序编写调试运行 课程设计报告) 第十七周 周六 下午
3、13:3017:30 (完成课程设计报告以及答辩)附:课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。 正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现(至少要有一个主要模块的流程图);四、程序调试;五、总结;六、附件(所有程序的原代码,要求对程序写出必要的注释)。正文总字数要求在5000字以上(不含程序原代码)。一、课题的主要功能主要实现对职工工资信息实现工资的显示,工资的追加,工资的查询,职工的删除,职工的插入,应发工资
4、的计算等功能。工资管理系统具体提供以下功能:a、工资显示:完成全部职工工资信息的显示,以表格形式显示出来,并带有表头。b、工资追加:新增职工工资记录,在追加过程中有相应的提示信息并实现连续追加的功能。c、工资查询:对指定的姓名进行定位查询,并能显示出符合条件的查询结果。查询的信息不存在时,系统提示:List no * SALARY d、删除职工:对指定的编号进行定位删除,删除成功时不显示任何信息。若此职工不存在时,系统显示:Not found!e、添加职工:对指定的编号前进行定位插入,有相应的提示信息。f、计算应发工资:对相应的职工输入相应的扣款,系统将自行计算出相应职工的应发工资并以表格形式
5、显示出来,并带有表头。二、课题功能模块的划分本程序由八个模块构成,其中主模块是由系统函数搭建而成,其重要功能是显示出功能主菜单,由用户作出选择进入子菜单。在子菜单中操作完毕后,能够准确返回到功能主菜单。2.1系统主要模块流程图:主函数初始化输入信息功能计算应发工资显示信息功能退出系统保存文件功能追加记录功能 查找信息功能删除信息功能插入信息功能2.2模块说明初始化模块 init() 将表格清零输入模块 create() 输入职工工资信息显示模块 list() 显示职工工资信息计算模块 calc() 计算职工的应发工资查找模块 search() 查询职工工资信息删除模块 dele() 删除职工工
6、资信息插入模块 insert() 插入职工工资信息追加模块 append() 追加职工工资信息保存模块 save() 保存信息退出模块 Quit() 退出系统三、主要功能的实现(下面以删除模块和查找模块为例)3.1删除模块的流程图开 始主 菜 单Delete a record输 入 职 工 编 号退 出 系 统3.2查找模块的流程图开 始主 菜 单Search record on name输 入 职 工 姓 名显 示 相 应 信 息退 出 系 统四、程序调试4.1功能主菜单选择界面4.2初始化功能在主菜单中选择“Init list”进行初始化。4.3输入功能在主菜单中选择“Enter list
7、”进入输入界面。在no列输入表示完成输入,然后系统会提示按任意键进入主菜单。4.4显示功能在主菜单中选择“List all”进入显示界面。这里的扣款、应发工资、税金、实发工资为零是因为还没有进行应发工资的计算。4.5计算应发工资在主菜单中选择“Calc the salary”进入计算应发工资界面。输入相应的扣款后,系统会提示按任意键继续,然后会提示按任意键进入主菜单。4.6查找功能在主菜单中选择“Search record on name”进入查找界面。根据系统提示按姓名查找职工工资信息,按任意键进入主菜单。4.7删除功能在主菜单中选择“Delete a record”进入删除界面。根据系统提
8、示按编号删除某一职工。若成功删除,系统显示下面的界面;若没有此编号的职工,则系统提示“Not found!”。然后,按任意键进入主菜单。4.8插入功能在主菜单中选择“Insert record to list”进入插入界面。要在某编号前插入一职工,根据系统的提示先输入编号,再输入此职工的信息。然后按任意键进入主菜单。4.9追加功能在主菜单中选择“Append record to file”进入追加界面。输入一组需要追加的信息后,输入追加到哪个文件,系统显示追加成功。然后按任意键进入主菜单。4.10保存文件在主菜单中选择“Save data to file”进行保存文件操作。根据系统提示输入保存
9、的文件名,然后按任意键进入主菜单。4.11读取文件在主菜单中选择“Load data from the file”读取文件。根据系统提示输入需要读取的文件名,然后按任意键进入主菜单。4.12退出系统在主菜单中选择“Quit”退出系统。界面消失。五、总结 机械工程学院课程设计评分表课程名称: 工资管理系统 项 目评 价设计方案的合理性与创造性设计与调试结果设计说明书的质量答辩陈述与回答问题情况课程设计周表现情况综合成绩 教师签名: 日 期: 六、附件源程序代码:/*头文件(.h)*/#include stdio.h /*I/O函数*/# include bios.h /*ROM基本输入输出函数*
10、/#include dos.h /*dos接口函数*/#include conio.h /*屏幕操作函数*/#include stdlib.h /*其它说明*/#include string.h /*字符串函数*/#include mem.h /*内存操作函数*/#include ctype.h /*字符操作函数*/#include alloc.h /*动态地址分配函数*/*变量定义*/typedef struct z1 /*定义数据结构*/ char no11; /*编号*/ char name15; /*姓名*/ float jbgz; /*基本工资*/ float koukuan; /*
11、扣款*/ float yfgz; /*应发工资*/ float shuijin; /*税金*/ float sfgz; /*实发工资*/ struct z1 *next;/*后继指针*/SALARY; /*结构体类型名*/struct z1 *head; /*链表头指针*/*函数原型*/void init(); /*初始化*/void create(); /*创建链表*/void calc(); /*计算应发工资*/void delete(); /*删除*/void search(); /*查找*/void save(); /*保存文件*/void load(); /*读取文件*/void i
12、nsert(); /*插入*/void append(); /*追加*/void list(); /*显示所有数据*/void print(SALARY *p); /*输出单条记录*/float fax(float x); /*计算税金*/int menu_select(); /*主菜单*/*主函数开始*/main() int i; clrscr(); for(;) switch(menu_select() /*调用菜单函数返回一个整数值*/ case 0:init();break; /*初始化*/ case 1:create();break; /*输入数据创建双链表*/ case 2:lis
13、t();break; /*显示所有数据*/ case 3:calc();break; /*计算实发工资*/ case 4:search();break; /*查找职工信息数据*/ case 5:delete();break; /*删除记录*/ case 6:insert();break; /*插入记录*/ case 7:append();break; /*追加记录*/ case 8:save();break; /*保存文件*/ case 9:load(); break; /*读取文件*/ case 10:exit(0); /*退出*/ /*菜单函数,函数返回值为整型,代表所选的菜单项*/men
14、u_select() char *f= /*定义菜单字符串数组*/ *MENU*, /*菜单的标题行*/ 0. init list, /*初始化双链表*/ 1. Enter list, /*输入数据,创建链表*/ 2. List all n, /*显示所有记录*/ 3. Calc the salary, /*计算实发工资*/ 4. Search record on name, /*查找记录*/ 5. Delete a record, /*删除记录*/ 6. Insert record to list, /*插入记录*/ 7. Append record to file, /*追加记录*/ 8.
15、 Save data to the file, /*保存文件*/ 9. Load data from the file,/*读取文件*/ 10. Quit ; /*退出*/ char s80; int i; int key=0; /*记录所压键值*/ int c=0; gotoxy(1,25); /*移动光标*/ printf(press any key enter menun);/*压任意键进入主菜单*/ getch(); clrscr(); /*清屏*/ textcolor(YELLOW); /*设置文本颜色为黄色*/ textbackground(BLUE); /*设置背景颜色为兰色*/
16、 gotoxy(10,2); putch(0 xda); /*输出左上角边框*/ for(i=1;i44;i+) putch(0 xc4); /*输出上边框水平线*/ putch(0 xbf); /*输出右上角边框 */ for(i=3;i22;i+)/*输出左右两边的垂直线*/ gotoxy(10,i);putch(0 xb3); gotoxy(54,i);putch(0 xb3); gotoxy(10,22);putch(0 xc0); /*输出左上角边框*/ for(i=1;i44;i+) putch(0 xc4); /*输出下边框水平线*/ putch(0 xd9); /*输出右下角边
17、框*/ window(11,3,53,21); /* 制作显示菜单的窗口,大小根据菜单条数设计*/ clrscr(); /*清屏*/ for(i=0;i8; /*对所压的键进行判断*/ gotoxy(10,i+1); textbackground(BLUE);/*设置背景颜色为蓝色*/ cprintf(%s,fi); /*输出菜单项*/ if(key=72) i=i=1?11:i-1; /*如压向上光标键,i减1,如已到第一行再上移,则到最后一行*/ if(key=89) i=i=11?1:i+1;/*如压向下光标键,i加1,如已到最后一行再下移,则到第一行*/ gotoxy(10,i+1);
18、 /*光标移动i的下一项*/ textbackground(LIGHTGREEN); /*将背景颜色设为浅绿*/ cprintf(%s,fi); /*输出菜单项*/ c=i-1; /*给代表菜单选项的整数赋值*/ textbackground(BLACK); /*设置背景颜色为黑色*/ window(1,1,80,25); /*恢复原窗口大小*/ return c; /*返回代表菜单选项的整数值*/*初始化函数*/void init() head=NULL;/*输入数据,创建链表*/void create() int x; /*记录行坐标*/ int i; /*记录输入记录数*/ int fl
19、ag=0; /*做结束标记*/ float temp; /*定义临时变量*/ SALARY *info,*p; /*定义临时变量*/ if(head!=NULL) init(); /*如果头指针为空,调用初始化函数*/ p=head; /*从头指针开始*/ for(;) if(flag=1) break; /*如果flag=1,结束输入*/ i=0; x=0; /*确定移动的行坐标*/ clrscr(); /*清屏*/ gotoxy(1,3); printf(*gongziguanli*);/*输出标题*/ gotoxy(1,4); printf( -Enter end-);/*提示输入结束*
20、/ gotoxy(1,5); printf(|);/*输出表格的起始线*/ gotoxy(1,6); printf(| no | name | jbgz |);/*输出字段标题,注意空格数*/ for(;) gotoxy(1,7+x); printf(|);/*输出表格的水平线*/ info=(SALARY *)malloc(sizeof(SALARY);/*申请一个记录空间*/ if(!info) printf(nout of memory);/*如没有得到空间,输出内存溢出信息*/ exit(0);/*退出程序*/ info-next=NULL;/*新结点的后继为空*/ gotoxy(1,
21、8+x);printf(|); /*输出数据间的分割线*/ gotoxy(12,8+x);printf(|); gotoxy(29,8+x);printf(|); gotoxy(38,8+x);printf(|); gotoxy(2,8+x);/*光标到输入编号位置*/ inputs(info-no,10);/*输入编号,并验证长度不超过10*/ if(info-no0=) flag=1; break; /*编号首字符为结束输入*/ gotoxy(13,8+x); /*光标到输入姓名位置*/ inputs(info-name,14); /*输入姓名,并验证长度不超过14*/ gotoxy(30
22、,8+x); /*光标到输入基本工资位置*/ scanf(%f,&temp); /*输入基本工资到临时变量*/ info-jbgz=temp; /*基本工资赋值*/ info-koukuan=0; /*初始扣款为0,待计算工资时输入*/ info-sfgz=0; /*初始实发工资为0,待计算工资时计算*/ info-shuijin=0; /*初始税金为0,待计算工资时计算*/ info-yfgz=0; /*初始应发工资为0,待计算工资时计算*/ if(p=NULL)/*如果p为空,说明输入的是第一个结点*/ head=info;/*头指针*/ info-next=NULL; /*info的后继
23、是空*/ else /*插入的结点不是第一结点,则插入在头结点之前*/ info-next=p;/*新结点的后继指向原来的头结点*/ p=info; /*新结点变为p结点,暂时的头结点*/ head=info; /*新结点变为头结点*/ x+=2; /*因为水平线,将光标下移两行*/ gotoxy(1,8+x); i+; /*输入记录数加1*/ if(i%9=0) break; /*输入9个记录,换一页输入*/ gotoxy(1,8+x); printf(|);/*输出结尾水平线*/*字符串输入和验证函数*/inputs(char *s, int count) char p255; do sc
24、anf(%s,p);/*输入字符串*/ if(strlen(p)count)printf(n too long! n);/*进行长度校验,超过count值重输入*/ while(strlen(p)count); strcpy(s,p); /*将输入的字符串拷贝到字符串s中*/*显示链表*/void list() int i=0,n; /*记录输出行数*/ SALARY *p; /*定义移动指针*/ clrscr(); /*清屏*/ p=head; /*从头指针开始*/ if(head!=NULL) clrscr(); /*清屏*/ printf(nnn); /*换行*/ printf(*SAL
25、ARY*n);/*输出标题信息*/ printf(|no | name | jbgz | koukuan| yfgz | shuijin | sfgz |n); /*输出字段标题*/ printf(|n); do printf(|%-10s|%-15s|%9.2f|%9.2f|%9.2f|%9.2f|%9.2f|n, p-no,p-name, p-jbgz,p-koukuan,p-yfgz,p-shuijin,p-sfgz); printf(|n); p=p-next; while(p!=NULL);/*显示所有内容*/ printf(*end* *n); getch(); /*输出指针所指结
26、点信息*/void print(SALARY *p) if(p) /*如果指针不为空,则显示信息*/ clrscr(); /*清屏*/ printf(nnn); /*换行*/ printf(*SALARY*n); /*输出标题信息*/ printf(|no | name | jbgz | koukuan| yfgz | shuijin | sfgz |n); /*输出字段标题*/ printf(|n); /*输出分割线*/ printf(|%-10s|%-15s|%9.2f|%9.2f|%9.2f|%9.2f|%9.2f|n, p-no,p-name, p-jbgz,p-koukuan,p-y
27、fgz,p-shuijin,p-sfgz);/*输出结点信息*/ printf(*end* *n); /*输出结束标记*/ /*计算实发工资*/void calc() int x; /*行坐标*/ int i=0; /*记录数*/ float temp; /*临时变量扣款*/ SALARY *p; /*移动指针*/ clrscr(); /*清屏*/ p=head; /*从头指针开始*/ while(p!=NULL) /*当p不为空时,也就是有记录时,外循环控制换页*/ x=0; clrscr(); gotoxy(1,3); printf(*gongziguanli*); /*输出标题*/ go
28、toxy(1,5); printf(|); gotoxy(1,6);/*下面输出字段标题*/ printf(| no | name | jbgz | koukuan | yfgz |shuijin | sfgz |); while(p!=NULL) /*当p不为空时,也就是有记录时,内循环控制处理9条*/ gotoxy(1,7+x); printf(|); gotoxy(1,8+x);printf(|); gotoxy(12,8+x);printf(|); gotoxy(29,8+x);printf(|); gotoxy(38,8+x);printf(|); gotoxy(49,8+x);pr
29、intf(|); gotoxy(58,8+x);printf(|); gotoxy(67,8+x);printf(|); gotoxy(76,8+x);printf(|); gotoxy(2,8+x); printf(%-10s,p-no); /*输出编号*/ gotoxy(13,8+x); printf(%-15s,p-name); /*输出姓名*/ gotoxy(30,8+x); printf(%.2f,p-jbgz); /*输出基本工资*/ gotoxy(39,8+x); scanf(%f,&temp); /*输入扣款*/ p-koukuan=temp; /*扣款字段赋值*/ p-yfg
30、z=p-jbgz-p-koukuan; /*计算应发工资=基本工资-扣款*/ gotoxy(50,8+x); printf(%.2f,p-yfgz); /*输出应发工资*/ gotoxy(59,8+x); p-shuijin=(p-yfgz-1000)*fax(p-yfgz); /*否则按税率计算税金*/ printf(%.2f,p-shuijin); /*输出税金*/ gotoxy(68,8+x); p-sfgz=p-yfgz-p-shuijin; /*计算实发工资*/ printf(%-8.2f,p-sfgz); /*输出实发工资*/ x+=2; /*行坐标下移两行*/ i+; /*记录数
31、加1*/ if(i%9=0)break; /*记录数超过9条,跳出内循环*/ p=p-next; /*指针后移,处理下一条*/ gotoxy(1,7+x); printf(|n); /*输出结束行*/ printf(Press any key congtinue.n); getch(); /*根据应发工资,计算税率*/float fax(float x) float f1; if(xno) return p; /*比较相等,查找成功,返回指针*/ p=p-next; /*不相等指针后移*/ printf(not foundn); /*没有找到*/ return NULL; /*返回为空指针*/
32、*删除结点*/void delete() SALARY *p,*q=NULL; /*定义临时变量,p指向要删除的结点p*/ char s11; /*要删除结点的编号*/ clrscr(); /*清屏*/ printf(please deleted non); /*提示输入信息*/ scanf(%s,s); /*输入要删除的职工编号*/ p=q=head; /*从头指针开始*/ while(p!=NULL) if(!strcmp(s,p-no) if(p=head)head=p-next; else q-next=p-next; break; else q=p;p=p-next; if(p=NU
33、LL)printf(Not found!); else free(p); getch(); /*按姓名查找结点*/void search() SALARY *p; /*移动指针*/ char s15; /*保存姓名*/ clrscr(); /*清屏*/ printf(please enter name for searchn); /*提示输入*/ scanf(%s,s); /*输入要查找人的姓名*/ p=head; /*移动指针从头指针开始*/ while(strcmp(p-name,s)&p!=NULL) /*做比较判断*/ p=p-next; /*没找到,指针后移继续查找*/ if(p=N
34、ULL) /*指针为空,说明没有找到*/ printf(nlist no %s SALARYn,s); /*显示没找到信息*/ else printf(nn); /*换行*/ print(p); /*查找成功,调用输出函数输出指针p所指记录*/ /*插入结点*/void insert() SALARY *p,*q=NULL,*info; /* info为新结点,p为新结点的后继*/ char s11; /*保存查找的姓名*/ float temp; /*临时变量*/ clrscr(); /*清屏*/ printf(please enter location before the non); /
35、*提示输入在哪个结点之前插入*/ scanf(%s,s); /*输入指定结点的编号*/ printf(nplease new recordn); /*提示输入记录*/ clrscr();/*清屏*/ gotoxy(1,3); /*定位光标,按表格形式输入新结点信息*/ printf(*gongziguanli*); gotoxy(1,5); printf(|); gotoxy(1,6); printf(| no | name | jbgz | ); gotoxy(1,7); printf(|); info=(SALARY *)malloc(sizeof(SALARY); /*申请空间*/ if
36、(!info) printf(nout of memory); /*如没有得到空间,内存溢出*/ exit(0); /*退出程序*/ info-next=NULL; /*新结点的后继为空*/ gotoxy(1,8);printf(|); gotoxy(12,8);printf(|); gotoxy(29,8);printf(|); gotoxy(38,8);printf(|); gotoxy(2,8); inputs(info-no,10); /*输入新结点的编号,并校验*/ gotoxy(13,8); inputs(info-name,14); /*输入新结点的姓名,并校验*/ gotoxy
37、(30,8); scanf(%f,&temp); /*输入基本工资*/ info-jbgz=temp; /*给基本工资字段赋值*/ info-koukuan=0; /*扣款初始为0*/ info-yfgz=0; /*应发工资初始为0*/ info-shuijin=0; /*税金初始为0*/ info-sfgz=0; /*实发工资初始为0*/ printf(|); p=q=head; /*移动指针从头指针开始*/ while(strcmp(p-no,s)&p!=NULL) /*查找结点确定插入位置*/ q=p; p=p-next; /*指针后移,继续查找*/ if(p=NULL) /*如p为空*
38、/ if(p=head) /*如p为头指针,说明链表为空*/ head=info; /*新结点为头指针*/ else /*新结点插在尾部*/ p-next=info; else if(p=head) /*p不为空,但p为头指针,新结点插在第一个结点位置*/ info-next=p; /*新结点的后继为p*/ head=info; /*修改头指针指向新结点*/ else /*新结点插入在中间某一个位置p之前*/ info-next=p; /*新结点的后继是p*/ q-next=info; /*新结点的前驱是p的前驱*/ printf(nnn have inserted %s SALARYn,in
39、fo-name); printf(nDont forget saven); /*提醒调用保存文件存盘*/*保存文件*/void save() FILE *fp; /*定义指向文件的指针*/ SALARY *p; /*定义移动指针*/ char outfile10; /*保存输出文件名*/ clrscr();/*清屏*/ printf(Enter outfile name,for example c:f1te.txt:n);/*提示输入文件名格式信息*/ scanf(%s,outfile); if(fp=fopen(outfile,wb)=NULL) /*为输出打开一个二进制文件*/ print
40、f(can not open filen); return; /*返回*/ printf(nSaving filen); p=head; /*移动指针从头指针开始*/ while(p!=NULL) /*如p不为空*/ fwrite(p,sizeof(SALARY),1,fp); /*写入一条记录*/ p=p-next; /*指针后移,处理下一条记录*/ fclose(fp); /*关闭文件*/ printf(save success!n);/*显示保存成功*/*读文件*/void load() SALARY *p; /*定义记录指针变量*/ FILE *fp; /* 定义指向文件的指针*/ c
41、har infile10; /*保存文件名*/ clrscr();/*清屏*/ printf(Enter infile name,for example c:f1te.txt:n);/*输入文件名格式*/ scanf(%s,infile); /*输入文件名*/ if(fp=fopen(infile,rb)=NULL) /*打开一个二进制文件,为读方式*/ printf(can not open filen); /*如不能打开,则结束程序*/ return; /*返回*/ while(head) /*当表不为空时,清空链表*/ p=head; /*从头指针开始*/ head=head-next; /*删除头结点*/ free(p); /*释放空间*/ printf(n Loading file!n); /*显示正在读文件*/ head=(SALARY *)malloc(sizeof(SALARY); /*为头指针申请空间*/ if(!head) /*如果没有得到空间 显示内存溢出*/ printf(out of memory!n); return; /*返回*/ p=head; /*将头指针赋值给p*/ while(!feof(fp) /*当文件不空时*/ if(1!=fread(p,sizeof(SALARY),1,fp)break; /
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024届河南省部分地区高三年级上册10月语文试卷分类汇编文言文阅读(含答案)
- 2025年梧州驾驶资格证模拟考试
- 二零二五年度实习实训实习协议书3篇
- 2025年抚州道路运输货运从业资格证考试项目
- 2024水电安装与智能建筑系统集成合同样本3篇
- 2025版循环贷款借款合同2篇
- 二零二五年度建筑节能改造项目技术员聘用合同范本2篇
- 二零二五年度环境修复工程场地勘查与合同服务采购合同3篇
- 2024版方管购销协议格式版B版
- 2024版建筑钢管架安装工程协议版
- 采工作面初采、初放安全技术措施
- 中华人民共和国劳动合同法
- 英语听力考场建设方案
- 义务教育教科书英语Go for it七年级上册单词表
- ICU常用镇静药物介绍及药学监护
- 粉末丁腈橡胶使用方法
- 大气课程设计-—袋式除尘器
- 苏科版七年级生物学(上)教学工作总结
- 阿特拉斯拧紧机技术方案
- 中国人民财产保险股份有限公司理赔稽查管理暂行办法
- 钢管、管件表面积计算公式(精编版)
评论
0/150
提交评论