计算机软件技术基础课程设计-工资管理系统的设计_第1页
计算机软件技术基础课程设计-工资管理系统的设计_第2页
计算机软件技术基础课程设计-工资管理系统的设计_第3页
计算机软件技术基础课程设计-工资管理系统的设计_第4页
计算机软件技术基础课程设计-工资管理系统的设计_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

1、湖南文理学院课程设计报告课程名称: 计算机软件技术基础 系 部: 电气与信息工程学院 专业班级: 通信08102班 学 号: 学生姓名: 指导教师: 完成时间: 2010-12-28 报告成绩: 评阅意见: 评阅教师 日期 目录一设计要求2二设计作用与目的2三运行环境及工具软件3四系统设计31.需求分析32设计分析33.具体设计3(1)模块设计3(2)流程图4(3)源程序及注释6五系统调试271.调试结果272.设计中的问题及解决方法29六设计心得30七参考文献31工资管理系统的设计一.设计要求设计编写一个工资管理系统,该软件与实际应用还有很大的距离,但它涵盖了数据库设计的基本内容。根据实际工

2、作的需要,一般工资管理系统应有以下几个基本功能:1、启动软件时,进行密码校验。若出错三次,则自动退出系统。2、实现简易的提示菜单界面,刚运行时应显示版本信息。用所学的知识尽量实现良好的、美观的“人机界面”,便于软件的操作使用。3、要求把所有录入的数据以文件的形式,保存在硬盘上。4、系统包含以下基本功能:登陆功能、显示主菜单功能、职工信息输入信息输出、职工信息查询、职工信息修改、工资排序、工资统计、导出数据、导入数据、退出等。二.设计作用与目的1、通过这次专题实习,巩固和加深对所学相关知识点的理解。2、进一步熟悉基本流程控制结构实现分支的ifelse语句、switch语句和实现循环的for、wh

3、ile、dowhile语句、break、continue等。3、基本数据类型、数组、结构体、自定义类、函数的应用。4、加强对模块化程序设计和面向对象程序设计的理解。5、掌握CC+语言程序设计的基本思想,了解简单的系统分析和6、了解数据库系统的理论7、掌握数据库设计的基本方法,熟悉数据库设计的步骤;8、学习基本数据库编程方法9、进一步巩固、加深学生所学专业课程的基本理论知识,理论联系实际,进一步培养学生综合分析问题,解决问题的能力。10、全面考核学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生素质的最终目的。11、利用所学知识,开发小型应用系统,掌握运用C语言编写调试应用系统程序,训练

4、独立开发应用系统,进行数据处理的综合能力。12、对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。 13、掌握面向对象的程序设计方法。14、进一步掌握在集成环境下如何调试程序(单步调试,设置断点、观察表达式,分块调试)、修改程序和程序的测试。三.运行环境及工具软件Windows XP;Turbo C;四系统设计1.需求分析本次设计的工资管理系统的信息包括:工号、姓名、基本工资、扣款等信息。有浏览、查询、录入、编辑、删除等功能。2设计分析根据需求分析文档,初步提出问题的解决方案,以及软件系统的体系结构和数据结构的设计方案并写出书面文档总体设计说明,为下一步进行详细设计做准备。该系

5、统可以按功能进行模块划分,其系统结构框图如下:工资管理系统登陆功能用户管理职工信息输入信息输出职工信息输出工资职工信息查询计算职工信息修改工资排序工资统计导入数据退出导出数据3.具体分析(1)模块设计本次设计的模块包括输入模块、输出模块、计算实发工资模块、插入和追加记录模块、删除模块等。其各模块的分析如下:a.输入模块输入模块采用表格形式输入需要创建的数据。其中包括:输入职工编号、姓名、基本工资等。使用的函数和数据描述如下:void create(); /*创建链表*/char no11; /*编号*/ char name15; /*姓名*/float jbgz; /*基本工资*/b.输出模块

6、将输入的所有数据显示在运行界面,可以显示所有数据记录或者根据输入的编号显示所输编号的一条数据记录。其中所设计的函数如下:void list(); /*显示所有数据*/void print(SALARY *p); /*输出单条记录*/void display(); /*随意逐条显示*/c.计算实发工资模块应发工资=基本工资-扣款;税金=(应发工资-1000)*税率(当应发工资1000);实发工资=应发工资-税金;设计的函数有void calc(); /*计算应发工资*/和float fax(float x); d.插入和追加记录模块插入位置的确定通过输入节点的编号进行定位,追加记录直接加在所有记

7、录的最后。设计的函数为:void insert(); /*插入*/和void append(); /*追加*/e.删除模块删除一条记录,要删除记录首先要查找记录,所以本模块设计了两个函数:一个查找函数find(),实现按编号查找的功能;一个是删除查找到的记录 delete( )。(2)流程图YYYYYYYYYYYYYYNNNNNNNNNNNN开始主菜单选择操作选择1选择0选择3选择2选择5选择4选择7选择6选择9选择8选择11选择10选择13选择12初始化表单输入数据显示数据分类合计读取文件退出计算实发工资查找记录插入记录删除记录保存文件追加记录排序索引结束 (3).源程序及注释#includ

8、e stdio.h /*I/O函数*/# include bios.h /*ROM基本输入输出函数*/#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 nam

9、e15; /*姓名*/ float jbgz; /*基本工资*/ float koukuan; /*扣款*/ float yfgz; /*应发工资*/ float sfgz; /*实发工资*/ struct z1 *prior;/*前驱指针*/ struct z1 *next;/*后继指针*/SALARY; /*结构体类型名*/struct z1 *First; /*双链表头指针*/struct z1 *Last; /*双链表尾指针*/*函数原型*/void init(); /*初始化*/void create(); /*创建链表*/void calc(); /*计算应发工资*/void de

10、lete(); /*删除*/void search(); /*查找*/void save(); /*保存文件*/void load(); /*读取文件*/void insert(); /*插入*/void append(); /*追加*/void sort(); /*排序*/void index(); /*索引*/void total(); /*分类合计*/void list(); /*显示所有数据*/void print(SALARY *p); /*输出单条记录*/int menu_select(); /*主菜单*/*主函数开始*/main() int i; clrscr(); for(;)

11、 switch(menu_select() /*调用菜单函数返回一个整数值*/ case 0:init();break; /*初始化*/ case 1:create();break; /*输入数据创建双链表*/ case 2:list();break; /*显示所有数据*/ case 3:calc();break; /*计算实发工资*/ case 4:search();break; /*查找职工信息数据*/ case 5:delete();break; /*删除记录*/ case 6:insert();break; /*插入记录*/ case 7:append();break; /*追加记录*

12、/ case 8:save();break; /*保存文件*/ case 9:load(); break; /*读取文件*/ case 10:sort();break; /*按实发工资升序排序*/ case 11:index();break; /*按职工号索引*/ case 12:total();break; /*按部门求合计*/ case 13:exit(0); /*退出*/ /*菜单函数,函数返回值为整型,代表所选的菜单项*/menu_select() char *f= /*定义菜单字符串数组*/ *MENU*, /*菜单的标题行*/ 0. init list, /*初始化双链表*/ 1.

13、 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. Save data to the file, /*保存文件*/ 9. Load data from the file,/*读取文件*/ 10. Sort o

14、n sfgz, /*排序*/ 11. Index on number, /*索引*/ 12. Total on number, /*分类合计*/ 13. Quit ; /*退出*/ char s80; int i; int key=0; /*记录所压键值*/ int c=0; gotoxy(1,25); /*移动光标*/ clrscr(); /*清屏*/ textcolor(YELLOW); /*设置文本颜色为黄色*/ textbackground(BLUE); /*设置背景颜色为兰色*/ gotoxy(10,2); putch(0xda); /*输出左上角边框*/ for(i=1;i44;i

15、+) putch(0xc4); /*输出上边框水平线*/ putch(0xbf); /*输出右上角边框 */ for(i=3;i22;i+)/*输出左右两边的垂直线*/ gotoxy(10,i);putch(0xb3); gotoxy(54,i);putch(0xb3); gotoxy(10,22);putch(0xc0); /*输出左上角边框*/ for(i=1;i44;i+) putch(0xc4); /*输出下边框水平线*/ putch(0xd9); /*输出右下角边框*/ window(11,3,53,21); /* 制作显示菜单的窗口,大小根据菜单条数设计*/ clrscr(); /

16、*清屏*/ for(i=0;i8; /*对所压的键进行判断*/ gotoxy(10,i+1); textbackground(BLUE);/*设置背景颜色为蓝色*/ cprintf(%s,fi); /*输出菜单项*/ if(key=72) i=i=1?13:i-1; /*如压向上光标键,i减1,如已到第一行再上移,则到最后一行*/ if(key=80)i=i=13?1:i+1; /*如压向下光标键,i加1,如已到最后一行再下移,则到第一行*/ gotoxy(10,i+1); /*光标移动i的下一项*/ textbackground(LIGHTGREEN); /*将背景颜色设为浅绿*/ cpri

17、ntf(%s,fi); /*输出菜单项*/ c=i-1; /*给代表菜单选项的整数赋值*/ textbackground(BLACK); /*设置背景颜色为黑色*/ window(1,1,80,25); /*恢复原窗口大小*/ return c; /*返回代表菜单选项的整数值*/*初始化函数*/void init() First=NULL; Last=NULL;/*输入数据,创建双链表*/void create() int x; /*记录行坐标*/ int i; /*记录输入记录数*/ int flag=0; /*做结束标记*/ float temp; /*定义临时变量*/ SALARY *i

18、nfo,*p; /*定义临时变量*/ if(First!=NULL) init();/*如果头指针为空,调用初始化函数*/ p=First; /*从头指针开始*/ for(;) if(flag=1) break; /*如果flag=1,结束输入*/ i=0; x=0; /*确定移动的行坐标*/ clrscr(); /*清屏*/ gotoxy(1,3); printf(*gongziguanli*);/*输出标题*/ gotoxy(1,4); printf( -Enter end-);/*提示输入结束*/ gotoxy(1,5); printf(|-|);/*输出表格的起始线*/ gotoxy(

19、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;/*新结点的后继为空*/ info-prior=NULL;/*新结点的前驱为空*/ gotoxy(1,8+x);print

20、f(|); /*输出数据间的分割线*/ 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,8+x); /*光

21、标到输入基本工资位置*/ scanf(%f,&temp); /*输入基本工资到临时变量*/ info-jbgz=temp; /*基本工资赋值*/ info-koukuan=0; /*初始扣款为0,待计算工资时输入*/ info-sfgz=0; /*初始实发工资为0,待计算工资时计算*/ info-yfgz=0; /*初始应发工资为0,待计算工资时计算*/ if(p=NULL)/*如果p为空,说明输入的是第一个结点*/ First=Last=info;/*头指针和尾指针*/ First-prior=NULL; /*头指针的前驱是空*/ Last-next=NULL; /*尾指针的后继是空*/ e

22、lse /*插入的结点不是第一结点,则插入在头结点之前*/ info-next=p;/*新结点的后继指向原来的头结点*/ info-prior=p-prior;/*新结点的前驱指向原来的头结点的前驱*/ p-prior=info;/*原来结点的前驱指向新结点*/ p=info; /*新结点变为p结点,暂时的头结点*/ First=info; /*新结点变为头结点*/ x+=2; /*因为水平线,将光标下移两行*/ gotoxy(1,8+x); i+; /*输入记录数加1*/ if(i%9=0) break; /*输入9个记录,换一页输入*/ gotoxy(1,8+x); printf(|-|-

23、|-|);/*输出结尾水平线*/*字符串输入和验证函数*/inputs(char *s, int count) char p255; do scanf(%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=First; /

24、*从头指针开始*/ while(i%10=0&p!=NULL) /*外循环控制换页*/ i=0; /*记录一页的输出行数*/ clrscr(); /*清屏*/ printf(nnn); /*换行三次*/ printf(*SALARY*n); /*输出大标题*/ printf(|nO | name | jbgz | koukuan | yfgz | sfgz |n); /*输出字段标题*/ printf(|-|-|-|-|-|-|n); /*输出水平线*/ while(p!=NULL) /*当p不为空时*/ printf(|%-10s|%-15s|%9.2f|%9.2f|%9.2f|%9.2f|

25、n, p-no,p-name,p-jbgz,p-koukuan,p-yfgz,p-sfgz); p=p-next; /*指针后移*/ i+; /*输出行数加1 */ if(i%10=0) break; /*如果满10行,跳出内循环*/ printf(*end*n); /*输出本页的结束行*/ printf(Press any key congtinue.n); getch(); /*输出一页暂停一下,压任意键继续*/ /*返回到外循环,准备下一页的输出*/*输出指针所指结点信息*/void print(SALARY *p) if(p) /*如果指针不为空,则显示信息*/ clrscr(); /

26、*清屏*/ printf(nnn); /*换行*/ printf(*SALARY*n); /*输出标题信息*/ printf(|no | name | jbgz | koukuan| yfgz | sfgz |n); /*输出字段标题*/ printf(|-|-|-|-|-|-|n); /*输出分割线*/ printf(|%-10s|%-15s|%9.2f|%9.2f|%9.2f|%9.2f|n, p-no,p-name, p-jbgz,p-koukuan,p-yfgz,p-sfgz);/*输出结点信息*/ printf(*end* *n); /*输出结束标记*/ /*计算实发工资*/void

27、 calc() int x; /*行坐标*/ int i=0; /*记录数*/ float temp; /*临时变量扣款*/ SALARY *p; /*移动指针*/ clrscr(); /*清屏*/ p=First; /*从头指针开始*/ while(p!=NULL) /*当p不为空时,也就是有记录时,外循环控制换页*/ x=0; clrscr(); gotoxy(1,3); printf(*gongziguanli*); /*输出标题*/ gotoxy(1,5); printf(|-|); gotoxy(1,6);/*下面输出字段标题*/ printf(| no | name | jbgz

28、| koukuan | yfgz | 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);printf(|); gotoxy(58,8+x);printf(|); gotoxy(67,8+x);printf(|); gotoxy(2,

29、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-yfgz=p-jbgz-p-koukuan; /*计算应发工资=基本工资-扣款*/ gotoxy(50,8+x); printf(%.2f,p-yfgz); /*输出应发工资*/ gotoxy(59

30、,8+x); p-sfgz=p-yfgz; /*计算实发工资*/ printf(%-8.2f,p-sfgz); /*输出实发工资*/ x+=2; /*行坐标下移两行*/ i+; /*记录数加1*/ if(i%9=0)break; /*记录数超过9条,跳出内循环*/ p=p-next; /*指针后移,处理下一条*/ gotoxy(1,7+x); printf(|-|-|-|-|-|-|n); /*输出结束行*/ printf(Press any key congtinue.n); getch(); /*按编号查找记录*/SALARY *find(char *no) SALARY *p; /*定义

31、移动指针*/ p=First; /*从头指针开始*/ while(p) /*当p不为空时*/ if(!strcmp(no,p-no) return p; /*比较相等,查找成功,返回指针*/ p=p-next; /*不相等指针后移*/ printf(not foundn); /*没有找到*/ return NULL; /*返回为空指针*/*删除结点*/void delete() SALARY *p; /*定义临时变量,p指向要删除的结点p*/ char s11; /*要删除结点的编号*/ clrscr(); /*清屏*/ printf(please deleted non); /*提示输入信息

32、*/ scanf(%s,s); /*输入要删除的职工编号*/ if(p=find(s)!=NULL) /*调用查找函数,如果找到做下面的处理*/ if(First=p) /*如果是第一个结点*/ First=p-next; /*将头指针指向其后继结点*/ if(First) /*如头指针不为空*/ First-prior=NULL; /*将头结点的前驱设为空*/ else Last=NULL; /*否则头为空,尾也为空*/ else /*删除的不是第一个结点*/ p-prior-next=p-next; /*p的前驱的后继指向p原来的后继*/ if(p!=Last) /*如果p不是最后个结点*

33、/ p-next-prior=p-prior; /*p后继的前驱指向p原来的前驱*/ else Last=p-prior;/*如p是最后一个结点,修改尾指针为p的前驱*/ free(p); /*删除结点后,不要忘记释放空间*/ printf(n have deleted %s SALARYn,s); printf(Dont forget saven); /*按姓名查找结点*/void search() SALARY *p; /*移动指针*/ char s15; /*保存姓名*/ clrscr(); /*清屏*/ printf(please enter name for searchn); /*

34、提示输入*/ scanf(%s,s); /*输入要查找人的姓名*/ p=First; /*移动指针从头指针开始*/ while(strcmp(p-name,s)&p!=NULL) /*做比较判断*/ p=p-next; /*没找到,指针后移继续查找*/ if(p=NULL) /*指针为空,说明没有找到*/ printf(nlist no %s SALARYn,s); /*显示没找到信息*/ else printf(nn); /*换行*/ print(p); /*查找成功,调用输出函数输出指针p所指记录*/ /*插入结点*/void insert() SALARY *p,*info; /* in

35、fo为新结点,p为新结点的后继*/ char s11; /*保存查找的姓名*/ float temp; /*临时变量*/ clrscr(); /*清屏*/ printf(please enter location before the non); /*提示输入在哪个结点之前插入*/ scanf(%s,s); /*输入指定结点的编号*/ printf(nplease new recordn); /*提示输入记录*/ clrscr();/*清屏*/ gotoxy(1,3); /*定位光标,按表格形式输入新结点信息*/ printf(*gongziguanli*); gotoxy(1,5); pri

36、ntf(|-|); gotoxy(1,6); printf(| no | name | jbgz | ); gotoxy(1,7); printf(|-|-|-|); info=(SALARY *)malloc(sizeof(SALARY); /*申请空间*/ if(!info) printf(nout of memory); /*如没有得到空间,内存溢出*/ exit(0); /*退出程序*/ info-next=NULL; /*新结点的后继为空*/ info-prior=NULL; /*新结点的前驱为空*/ gotoxy(1,8);printf(|); gotoxy(12,8);print

37、f(|); gotoxy(29,8);printf(|); gotoxy(38,8);printf(|); gotoxy(2,8); inputs(info-no,10); /*输入新结点的编号,并校验*/ gotoxy(13,8); inputs(info-name,14); /*输入新结点的姓名,并校验*/ gotoxy(30,8); scanf(%f,&temp); /*输入基本工资*/ info-jbgz=temp; /*给基本工资字段赋值*/ info-koukuan=0; /*扣款初始为0*/ info-yfgz=0; /*应发工资初始为0*/ info-sfgz=0; /*实发工

38、资初始为0*/ printf(|-|-|-|); p=First; /*移动指针从头指针开始*/ while(strcmp(p-no,s)&p!=NULL) /*查找结点确定插入位置*/ p=p-next; /*指针后移,继续查找*/ if(p=NULL) /*如p为空*/ if(p=First) /*如p为头指针,说明链表为空*/ First=info; /*新结点为头指针*/ First-prior=NULL; /*头结点的前驱为空*/ Last=First; /*唯一结点,尾指针等于头指针*/ else /*新结点插在尾部*/ Last-next=info; info-prior=Las

39、t; Last=info; /*尾指针指向新结点*/ else if(p=First) /*p不为空,但p为头指针,新结点插在第一个结点位置*/ info-prior=NULL; /*新结点的前驱为空*/ info-next=p; /*新结点的后继为p*/ p-prior=info; /*p的前驱是新结点*/ First=info; /*修改头指针指向新结点*/ else /*新结点插入在中间某一个位置p之前*/ info-next=p; /*新结点的后继是p*/ info-prior= p-prior; /*新结点的前驱是p的前驱*/ p-prior-next=info; /*p的前驱的后继

40、是新结点*/ p-prior=info; /*p的前驱是新结点*/ printf(nnn -have inserted %s SALARY-n,info-name); printf(n-Dont forget save-n); /*提醒调用保存文件存盘*/*保存文件*/void save() FILE *fp; /*定义指向文件的指针*/ SALARY *p; /*定义移动指针*/ char outfile10; /*保存输出文件名*/ clrscr();/*清屏*/ printf(Enter outfile name,for example c:f1te.txt:n);/*提示输入文件名格式

41、信息*/ scanf(%s,outfile); if(fp=fopen(outfile,wb)=NULL) /*为输出打开一个二进制文件*/ printf(can not open filen); return; /*返回*/ printf(nSaving file.n); p=First; /*移动指针从头指针开始*/ while(p!=NULL) /*如p不为空*/ fwrite(p,sizeof(SALARY),1,fp); /*写入一条记录*/ p=p-next; /*指针后移,处理下一条记录*/ fclose(fp); /*关闭文件*/ printf(-save success!-n

42、);/*显示保存成功*/*读文件*/void load() SALARY *p,*q=NULL; /*定义记录指针变量*/ FILE *fp; /* 定义指向文件的指针*/ char 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(First) /*当表不为空时,清空链表*/ p=First; /*从头指针开始*/ First=First-next; /*删除头结点*/ free(p); /*释放空间*/ printf(n -Loading file!-n); /*显示正在读文件*/ First=(SALARY *)malloc(sizeof(SALARY); /*为头指针申请空间*/ if(!First) /*如果没有得到空间 显示内存溢出*/ printf(out of memory!n); return; /*返回*/ p=First; /*

温馨提示

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

评论

0/150

提交评论