C语言课程设计学生成绩管理系统

上传人:仙*** 文档编号:28198278 上传时间:2021-08-23 格式:DOC 页数:27 大小:175KB
收藏 版权申诉 举报 下载
C语言课程设计学生成绩管理系统_第1页
第1页 / 共27页
C语言课程设计学生成绩管理系统_第2页
第2页 / 共27页
C语言课程设计学生成绩管理系统_第3页
第3页 / 共27页
资源描述:

《C语言课程设计学生成绩管理系统》由会员分享,可在线阅读,更多相关《C语言课程设计学生成绩管理系统(27页珍藏版)》请在装配图网上搜索。

1、课程设计名称:高级语言程序设计 专 业 班 级 :学 生 姓 名 : 学 号 : 指 导 教 师 : 课程设计时间: 专业课程设计任务书学生姓名专业班级学号题 目学生成绩管理系统课题性质课题来源指导教师同组姓名主要内容学习掌握并熟练运用C语言进行程序设计;学习使用数组、指针、结构体和文件等数据结构;根据具体题目进行简单的需求分析,给出设计方案。任务要求综合运用和融化所学理论知识,提高分析和解决实际问题的能力,使用C语言设计一个简单的学生成绩管理系统;完成需求分析报告,报告中对关键部分给出图表说明。要求格式规范,工作量饱满。参考文献C语言程序设计(第三版)谭浩强 清华大学出版社数据结构(C语言版

2、)严蔚敏 清华大学出版社审查意见指导教师签字:教研室主任签字: 年 月 日 说明:本表由指导教师填写,由教研室主任审核后下达给选题学生,装订在设计(论文)首页1 需求分析1.1本程序实现一个小型的学生成绩管理系统。利用C语言编制程序,实现学生成绩信息的输入、调入、查询、删除、追加、显示、统计、保存、排序、退出等功能。2.1本题我选择了最简单的顺序存储结构,而且九个功能再加上一个菜单功能,则共要七个部分。 因为有以往的经验,可以预知本次的量是很大的,而且还限制了很多的元素,因此源程序应该不会变化太大,实现起来还是比较简单的。2 概要设计2.1函数creat功能:创建链表,此函数带回一个指向链表头

3、的指针。在该函数中完成学生成绩信息的输入。2.2函数load功能:从文件读入学生记录。在该函数中完成从磁盘文件中录入学生成绩信息的功能。2.3函数add功能:追加学生资料,并且将所有学生资料按学号排序。在该函数中完成对学生成绩信息的插入,并把插入后的所有学生成绩信息按学号排序。2.4函数search功能:查询学生成绩。在该函数中完成对已有学生成绩信息的查询。2.5函数del功能:删除学生资料。在该函数中实现对已有学生成绩信息的删除。2.6函数print功能:显示学生成绩。以表格形式显示已有的学生成绩信息。2.7函数statistics功能:统计学生成绩。以个人总分和平均分、单科平均分、单科最高

4、分、单科最低分、单科分数段人数五种方式对学生成绩信息进行统计。2.8函数save功能:保存学生的资料。在该函数中实现把现有学生成绩信息保存到磁盘文件中。2.9函数taxis功能:排序。以按学生学号排序、按平均分排序、按语文成绩排序、按英语成绩排序、按数学成绩排序这五种排序方式对学生成绩信息进行排序。2.10函数menu功能:菜单选择界面。为用户提供一个友好的使用界面。2.11主函数main功能:通过调用以上所述的各个函数,实现学生成绩管理系统功能。3 运行环境3.1硬件环境:普通PC机。3.2软件环境 1)操作系统:Windows XP2)编程环境:VisualC+6.04 开发工具和编程语言

5、4.1开发工具:Microsoft Visual C+6.04.2编程语言:Visual C5 详细设计5.1创建链表,实现学生成绩信息的输入功能。score *creat(void)score *head; score *p1,*p2,*p3,*max; int i,j; float fen; char t10; n=0; p1=p2=p3=(score *)malloc(LEN);head=p3; /*开辟一个新单元*/ printf(请输入学生资料,输0退出!n); repeat1: printf(请输入学生学号(学号应大于0):); scanf(%d,&p1-number);/*输入学

6、号,学号应大于0*/ while(p1-numbernumber); /*输入学号为字符或小于0时,程序报错,提示重新输入学号*/ if(p1-number=0) goto end;/*当输入的学号为0时,转到末尾,结束创建链表*/ else p3=head; if(n0) for(i=0;inumber!=p3-number) p3=p3-next; else printf(学号重复,请重输!n); goto repeat1;/*当输入的学号已经存在,程序报错,返回前面重新输入*/ printf(请输入学生姓名:); scanf(%s,&p1-name);/*输入学生姓名*/ printf(

7、请输入语文成绩(0100):);/*输入语文成绩,成绩应在0-100*/ scanf(%f,&p1-yuwen); while(p1-yuwenyuwen100) printf(输入错误,请重新输入语文成绩:); scanf(%f,&p1-yuwen);/*输入错误,重新输入语文成绩直到正确为止*/ printf(请输入英语成绩(0100):);/*输入英语成绩*/ scanf(%f,&p1-yingyu); while(p1-yingyuyingyu100) printf(输入错误,请重新输入英语成绩); scanf(%f,&p1-yingyu);/*输入错误,重新输入*/ printf(请

8、输入数学成绩(0100):);/*输入数学成绩*/ scanf(%f,&p1-shuxue); while(p1-shuxueshuxue100) printf(输入错误,请重新输入数学成绩); scanf(%f,&p1-shuxue);/*输入错误,重新输入*/ p1-ave=(p1-shuxue+p1-yingyu+p1-yuwen)/3; head=NULL; while(p1-number!=0) n=n+1; if(n=1) head=p1; else p2-next=p1; p2=p1; p1=(score *)malloc(LEN); printf(请输入学生资料,输0退出!n)

9、; repeat2:printf(请输入学生学号(学号应大于0):); scanf(%d,&p1-number);/*输入学号,学号应大于0*/ while(p1-numbernumber); /*输入学号为字符或小于0时,程序报错,提示重新输入学号*/ if(p1-number=0) goto end;/*当输入的学号为0时,转到末尾,结束创建链表*/ else p3=head; if(n0) for(i=0;inumber!=p3-number) p3=p3-next; else printf(学号重复,请重输!n); goto repeat2; /*当输入的学号已经存在,程序报错,返回前

10、面重新输入*/ printf(请输入学生姓名:); scanf(%s,&p1-name);/*输入学生姓名*/ printf(请输入语文成绩(0100):); scanf(%f,&p1-yuwen);/*输入语文成绩,成绩应在0-100*/ while(p1-yuwenyuwen100) printf(输入错误,请重新输入语文成绩); scanf(%f,&p1-yuwen);/*输入错误,重新输入到正确为*/ printf(请输入英语成绩(0100):); scanf(%f,&p1-yingyu);/*输入英语成绩,成绩应在0-100*/ while(p1-yingyuyingyu100) p

11、rintf(输入错误,请重新输入英语成绩); scanf(%f,&p1-yingyu);/*输入错误,重新输入*/ printf(请输入数学成绩(0100):); scanf(%f,&p1-shuxue);/*输入数学成绩,成绩应在0-100*/ while(p1-shuxueshuxue100) printf(输入错误,请重新输入数学成绩); scanf(%f,&p1-shuxue);/*输入错误,重新输入*/ p1-ave=(p1-shuxue+p1-yingyu+p1-yuwen)/3; end: p1=head;p3=p1; for(i=1;in;i+) for(j=i+1;jnext

12、; if(max-numberp1-number) k=max-number; max-number=p1-number; p1-number=k; /*交换前后结点中的学号值,使得学号大者移到后面的结点中*/ strcpy(t,max-name); strcpy(max-name,p1-name); strcpy(p1-name,t);/*交换前后结点中的姓名,使之与学号相匹配*/ fen=max-yuwen; max-yuwen=p1-yuwen; p1-yuwen=fen; /*交换前后结点中的语文成绩*/ fen=max-yingyu; max-yingyu=p1-yingyu; p1

13、-yingyu=fen;/*交换前后结点中的英语成绩*/ fen=max-shuxue; max-shuxue=p1-shuxue; p1-shuxue=fen; /*交换前后结点中的数学成绩*/ fen=max-ave; max-ave=p1-ave; p1-ave=fen; /*交换前后结点中的平均成绩*/ max=head;p1=head;/*重新使max,p指向链表头*/ p2-next=NULL;/*链表结尾*/ printf(输入的学生数为:%d个!n,n); return(head);5.2从文件读取学生成绩信息。score *load(score *head) score *p

14、1,*p2; int m=0; char filepn10; FILE *fp; printf(请输入文件路径及文件名:); scanf(%s,filepn);/*输入文件路径及名称*/ if(fp=fopen(filepn,r)=NULL) printf(不能打开文件!n); return 0; fscanf(fp, 考试成绩管理系统 n); fscanf(fp, 欢迎使用 n); fscanf(fp,-n); fscanf(fp,|学号t|姓名t|语文t|英语t|数学t|平均分t|n);fscanf(fp,-n); printf( 考试成绩管理系统 n); printf( 欢迎使用 n);

15、 printf(-n); printf(|学号t|姓名t|语文t|英语t|数学t|平均分t|n); printf(-n); n=0; p1=p2=(score *)malloc(LEN); /*开辟一个新单元*/fscanf(fp,%d%s%f%f%f%f,&p1-number,p1-name,&p1-yuwen,&p1-yingyu,&p1-shuxue,&p1-ave); head=NULL; while(!feof(fp) n=n+1; if(n=1) head=p1; else p2-next=p1; p2=p1; p1=(score *)malloc(LEN); /*开辟一个新单元*

16、/ fscanf(fp,%d%s%f%f%f%f,&p1-number,p1-name,&p1-yuwen,&p1-yingyu,&p1-shuxue,&p1-ave); p2-next=NULL; printf(-n);/*表格下线*/ fclose(fp);/*结束读入,关闭文件*/ print(head); return (head);5.3查询学生成绩信息。score *search(score *head)int number; score *p1,*p2; printf(输入要查询的学生的学号:); scanf(%d,&number); while(number!=0) if(he

17、ad=NULL) printf(n没有任何学生资料!n);return(head); printf(-n); printf(|学号t|姓名t|语文t|英语t|数学t|n); printf(-n); p1=head; while(number!=p1-number&p1-next!=NULL) p2=p1;p1=p1-next; if(number=p1-number) printf(|%dt|%st|%.1ft|%.1ft|%.1ft|n,p1-number,p1-name,p1-yuwen,p1-yingyu,p1-shuxue); printf(-n); else printf(%d不存在

18、此学生!n,number); printf(输入要查询的学生的学号:); scanf(%d,&number); printf(已经退出了!n); return(head);5.4删除学生成绩信息。score *del(score *head)/*函数del功能:删除学生资料*/ score *p1,*p2; int number; printf(输入要删除的学生的学号(输入0时退出):); scanf(%d,&number); while(number!=0)/*输入学号为0时退出*/ if(head=NULL) printf(n没有任何学生资料!n); return(head); p1=he

19、ad; while(number!=p1-number&p1-next!=NULL) p2=p1;p1=p1-next;/*p1后移一个结点*/ if(number=p1-number) /*找到了*/ if(p1=head) head=p1-next;/*若p1指向的是首结点,把地二个结点地址赋予head*/ else p2-next=p1-next;/*否则将下一个结点地址 赋给前一结点地址*/ printf(删除:%dn,number);n=n-1; else printf(%d不存在此学生!n,number);/*找不到该结点*/ printf(输入要删除的学生的学号:); scanf

20、(%d,&number); printf(已经退出了!n); printf(现在的学生数为:%d个!n,n); return(head);5.5追加某学生成绩信息。score *add(score *head,score *stu)score *p0,*p1,*p2,*p3,*max; int i,j; float fen; char t10; p3=stu=(score *)malloc(LEN);/*开辟一个新单元*/ printf(n输入要增加的学生的资料!); repeat4: printf(请输入学生学号(学号应大于0):); scanf(%d,&stu-number);/*输入学号

21、,学号应大于0*/ while(stu-numbernumber);/*输入错误,重新输入学号*/ if(stu-number=0) goto end2;/*当输入的学号为0时,转到末尾,结束追加*/ else p3=head; if(n0) for(i=0;inumber!=p3-number) p3=p3-next; else printf(学号重复,请重输!n); goto repeat4; /*当输入的学号已经存在,程序报错,返回前面重新输入*/ printf(输入学生姓名:); scanf(%s,stu-name);/*输入学生姓名*/ printf(请输入语文成绩(0100):);

22、 scanf(%f,&stu-yuwen);/*输入语文成绩,成绩应在0-100*/ while(stu-yuwenyuwen100) printf(输入错误,请重新输入语文成绩); scanf(%f,&stu-yuwen);/*输入错误,重新输入*/ printf(请输入英语成绩(0100):); scanf(%f,&stu-yingyu);/*输入英语成绩,成绩应在0-100*/ while(stu-yingyuyingyu100) printf(输入错误,请重新输入英语成绩); scanf(%f,&stu-yingyu);/*输入错误,重新输入*/ printf(请输入数学成绩(0100

23、):); scanf(%f,&stu-shuxue);/*输入数学成绩,成绩应在0-100*/ while(stu-shuxueshuxue100) printf(输入错误,请重新输入数学成绩); scanf(%f,&stu-shuxue);/*输入错误,重新输入*/ stu-ave=(stu-shuxue+stu-yingyu+stu-yuwen)/3; p1=head; p0=stu; if(head=NULL) head=p0;p0-next=NULL;/*当原来链表为空时,从首结点开始存放资料*/ else if(p1-next=NULL)/*找到原来链表的末尾*/ p1-next=p

24、0;p0-next=NULL;/*将它与新开单元相连接*/ else while(p1-next!=NULL)/*还没找到末尾,继续找*/ p2=p1;p1=p1-next; p1-next=p0; p0-next=NULL; n=n+1; p1=head;p0=stu; for(i=1;in;i+) for(j=i+1;jnext; if(max-numberp1-number) k=max-number; max-number=p1-number; p1-number=k;/*交换前后结点中的学号值,使得学号大者移到后面的结点中*/ strcpy(t,max-name); strcpy(m

25、ax-name,p1-name); strcpy(p1-name,t);/*交换前后结点中的姓名,使之与学号相匹配*/ fen=max-yuwen; max-yuwen=p1-yuwen; p1-yuwen=fen;/*交换前后结点中的语文成绩*/ fen=max-yingyu; max-yingyu=p1-yingyu; p1-yingyu=fen; /*交换前后结点中的英语成绩*/ fen=max-shuxue; max-shuxue=p1-shuxue; p1-shuxue=fen;/*交换前后结点中的数学成绩*/ fen=max-ave; max-ave=p1-ave; p1-ave=

26、fen; /*交换前后结点中的平均成绩*/ max=head;p1=head;/*重新使max,p指向链表头*/ end2:printf(现在的学生数为:%d个!n,n); return(head);5.6以多种方式统计学生成绩。score *statistics(score *head) float sum1=0,sum2=0,sum3=0,ave1=0,ave2=0,ave3=0,maxyw,maxyy,maxsx,max1,max2,max3; score *p; int x,y=0,i=0; p=head; printf(1个人总分和平均分t2单科平均分t3单科最高分t4单科最低分t5

27、单科分数段人数n); scanf(%d,&x); switch(x)/*用switch语句实现功能选择*/ case 1: if(head=NULL) printf(n没有任何学生资料!n);return(head);/*链表为空*/ else printf(-n);printf(|学号t|姓名t|语文t|英语t|数学t|总分t|平均分t|n);printf(-n); while(p!=NULL)sum1=p-yuwen+p-yingyu+p-shuxue; /*计算个人总分*/ ave1=sum1/3;/*计算个人平均分*/printf(|%dt|%st|%.1ft|%.1ft|%.1ft|

28、%.1ft|%.1ft|n,p-number,p-name,p-yuwen,p-yingyu,p-shuxue,sum1,ave1);printf(-n);/*打印结果*/ p=p-next; return(head);break; case 2: if(head=NULL) printf(n没有任何学生资料!n);return(head);/*链表为空*/ while(p!=NULL) sum1=sum1+p-yuwen; sum2=sum2+p-yingyu; sum3=sum3+p-shuxue;/*计算总分*/ y=y+1; ave1=sum1/y; ave2=sum2/y; ave3

29、=sum3/y;/*计算平均分*/ p=p-next;/*使p指向下一个结点*/ printf(语文平均分是%.1fn,ave1); printf(英语平均分是%.1fn,ave2); printf(数学平均分是%.1fn,ave3);/*打印结果*/ return(head); break; case 3:if(head=NULL) printf(n没有任何学生资料!n);return(head);/*链表为空*/ maxyw=p-yuwen;maxyy=p-yingyu;maxsx=p-shuxue; while(iyuwen; max2=p-yingyu; max3=p-shuxue;

30、if(maxywmax1) maxyw=max1; if(maxyymax2) maxyy=max2; if(maxsxnext; printf(语文最高分:%.1fn,maxyw); printf(英语最高分:%.1fn,maxyy); printf(数学最高分:%.1fn,maxsx); return(head); break; case 4:if(head=NULL) printf(n没有任何学生资料!n);return(head);/*链表为空*/ maxyw=p-yuwen;maxyy=p-yingyu;maxsx=p-shuxue; while(iyuwen; max2=p-yin

31、gyu; max3=p-shuxue; if(maxywmax1) maxyw=max1; if(maxyymax2)maxyy=max2; if(maxsxmax3)maxsx=max3; p=p-next; printf(语文最低分:%.1fn,maxyw); printf(英语最低分:%.1fn,maxyy); printf(数学最低分:%.1fn,maxsx); return(head); break; case 5: if(head=NULL) printf(n没有任何学生资料!n);return(head);/*链表为空*/ statistics_level(head); retu

32、rn (head);break; default :printf(输入错误,请重试!n); return(head);5.7保存学生成绩信息到磁盘文件。save(score *p1) FILE *fp; char filepn20;/*用来存放文件保存路径以及文件名*/ printf(请输入文件路径及文件名:); scanf(%s,filepn); if(fp=fopen(filepn,w)=NULL) printf(不能打开文件!n); return 0; fprintf(fp, 考试成绩管理系统 n); fprintf(fp, 欢迎使用 n); fprintf(fp,-n); fprint

33、f(fp,|学号t|姓名t|语文t|英语t|数学t|平均分t|n); fprintf(fp,-n);/*打印表格域*/ while(p1!=NULL)fprintf(fp,%dt%st%.1ft%.1ft%.1ft%.1ftn,p1-number,p1-name,p1-yuwen,p1-yingyu,p1-shuxue,p1-ave); p1=p1-next;/*下移一个结点*/ fclose(fp); printf(文件已经保存!n); return 0;5.8以多种方式对学生成绩信息进行排序。score *taxis(score *head) score *p,*max; int i,j,

34、x; float fen; char t10; if(head=NULL) printf(n没有任何学生资料,请先建立链表!n);return(head);/*链表为空*/ max=p=head; for(i=0;i80;i+) printf(*); printf(1按学生学号排序t2按平均分排序t3按语文成绩排序n); printf(4按英语成绩排序t5按数学成绩排序tn); for(i=0;i80;i+) printf(*); printf(请选择操作:); scanf(%d,&x);/*选择操作*/ switch(x) /*用switch语句实现功能选择*/ case 1 :for(i=

35、1;in;i+) for(j=i+1;jnext; if(max-numberp-number) k=max-number; max-number=p-number; p-number=k; /*交换前后结点中的学号值,使得学号大者移到后面的结点中*/ strcpy(t,max-name); strcpy(max-name,p-name); strcpy(p-name,t); /*交换前后结点中的姓名,使之与学号相匹配*/ fen=max-yuwen; max-yuwen=p-yuwen; p-yuwen=fen;/*交换前后结点中的语文成绩*/ fen=max-ave; max-ave=p-

36、ave; p-ave=fen;/*交换前后结点中的平均成绩*/ fen=max-yingyu; max-yingyu=p-yingyu; p-yingyu=fen;/*交换前后结点中的英语成绩*/ fen=max-shuxue; max-shuxue=p-shuxue; p-shuxue=fen; /*交换前后结点中的数学成绩*/ max=head;p=head;/*重新使max,p指向链表头*/ print(head);break;/*打印值排序后的链表内容*/ case 2:for(i=1;in;i+) for(j=i+1;jnext; if(max-avep-ave)fen=max-av

37、e; max-ave=p-ave; p-ave=fen;/*交换前后结点中的平均成绩,使得平均成绩高者移到后面的结点中*/ fen=max-yuwen; max-yuwen=p-yuwen; p-yuwen=fen;/*交换前后结点中的语文成绩,使之与平均成绩相匹配*/ k=max-number; max-number=p-number; p-number=k; /*交换前后结点中的学号*/ strcpy(t,max-name); strcpy(max-name,p-name); strcpy(p-name,t);/*交换前后结点中的姓名*/ fen=max-yingyu; max-yingy

38、u=p-yingyu; p-yingyu=fen;/*交换前后结点中的英语成绩*/ fen=max-shuxue; max-shuxue=p-shuxue; p-shuxue=fen;/*交换前后结点中的数学成绩*/ p=head;max=head; print(head);break; case 3 : for(i=1;in;i+) for(j=i+1;jnext; if(max-yuwenp-yuwen)fen=max-yuwen; max-yuwen=p-yuwen; p-yuwen=fen;/*交换前后结点中的语文成绩,使得语文成绩高者移到后面的结点中*/ fen=max-ave; m

39、ax-ave=p-ave; p-ave=fen; /*交换前后结点中的平均成绩,使之与语文成绩相匹配*/ k=max-number; max-number=p-number; p-number=k; /*交换前后结点中的学号*/ strcpy(t,max-name); strcpy(max-name,p-name); strcpy(p-name,t); /*交换前后结点中的姓名*/ fen=max-yingyu; max-yingyu=p-yingyu; p-yingyu=fen; /*交换前后结点中的英语成绩*/ fen=max-shuxue; max-shuxue=p-shuxue; p-

40、shuxue=fen; /*交换前后结点中的数学成绩*/ p=head;max=head; print(head);break; case 4 : for(i=1;in;i+) for(j=i+1;jnext; if(max-yingyup-yingyu)fen=max-yingyu; max-yingyu=p-yingyu; p-yingyu=fen;/*交换前后结点中的英语成绩,使得英语成绩高者移到后面的结点中*/ fen=max-ave; max-ave=p-ave; p-ave=fen;/*交换前后结点中的平均成绩,使之与英语成绩相匹配*/ k=max-number; max-numb

41、er=p-number; p-number=k;/*交换前后结点中的学号*/ strcpy(t,max-name); strcpy(max-name,p-name); strcpy(p-name,t);/*交换前后结点中的姓名*/ fen=max-yuwen; max-yuwen=p-yuwen; p-yuwen=fen;/*交换前后结点中的语文成绩*/ fen=max-shuxue; max-shuxue=p-shuxue; p-shuxue=fen;/*交换前后结点中的数学成绩*/ p=head;max=head; print(head);break; case 5 :for(i=1;in

42、;i+) for(j=i+1;jnext; if(max-shuxuep-shuxue)fen=max-shuxue; max-shuxue=p-shuxue; p-shuxue=fen;/*交换前后结点中的数学成绩,使得数学成绩高者移到后面的结点中*/ fen=max-ave; max-ave=p-ave; p-ave=fen;/*交换前后结点中的平均成绩,使之与数学成绩相匹配*/ k=max-number; max-number=p-number; p-number=k; /*交换前后结点中的学号*/ strcpy(t,max-name); strcpy(max-name,p-name);

43、 strcpy(p-name,t); /*交换前后结点中的姓名*/ fen=max-yuwen; max-yuwen=p-yuwen; p-yuwen=fen;/*交换前后结点中的语文成绩*/ fen=max-yingyu; max-yingyu=p-yingyu; p-yingyu=fen;/*交换前后结点中的英语成绩*/ p=head;max=head; print(head);break; default :printf(输入错误,请重试! n); return (0);6 调试分析6.1在creat函数中,有一个用while语句实现的判断学号输入对错的语句。如果输入为字符(或字符串),程序报错。但开始会陷入死循环,一直提示输入错误,后来发现是因为缺少getchar(),导致程序一直判断刚才的输入。6.2在load函数中有用到print函数,即有print函数的引用语句,但调试时会有错误,后发现是忘记在程序的最前面对print函数进行声明。6.3主函数中用switch语句实现功能选择,但开始只运行一次,不能让用户连续使用。我想可以用一个循环条件为永真的的循环语句来实现连续使用,于是加上一句“while(1)”,实现了该功能。6.4在loud函数中,完成

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!