学生成绩管理系统C语言_第1页
学生成绩管理系统C语言_第2页
学生成绩管理系统C语言_第3页
学生成绩管理系统C语言_第4页
学生成绩管理系统C语言_第5页
已阅读5页,还剩47页未读, 继续免费阅读

下载本文档

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

文档简介

1、【学生成绩管理系统】计算机程序编程课程设计实验报告实验地点:第一教学楼502室实验平台:Windows XP Microsoft Visual C+ 6.0实验用时:2013.8.272013.8.30实验题目学生成绩管理系统一 实验目的 使用标准C或C+实现一般管理系统的基本功能。进一步巩固C语言的学习,培养一定的综合编程能力。二 实验设计要求 (一)需要处理的基础数据学生基本信息包括:Ø 学号(如2010级14班6号写作20101406)Ø 姓Ø 名Ø 性别Ø 出生年月日Ø 课程对应的考试成绩(外语SCORE0、高数SCORE1、

2、C语言SCORE2、马哲SCORE3)Ø 平均成绩和总成绩 (二)系统功能1. 学生基本情况录入。 要求对输入的性别、出生年月日的合理性进行判断(如0代表“女”,1代表“男”,输入其他值非法,年龄不能为负,月份不能大于13等)。2. 允许对已经录入的数据进行显示。3. 允许进行数据的插入。4. 删除基本数据的相关信息。5. 基于姓名的查询。如:姓张的所有同学。6. 基于各种基本数据的统计计算。如:统计每个学生各门功课的平均成绩,并按平均成绩从高到低的次序排名输出每个学生各门功课的综合成绩和平均成绩(名次、学号、姓名、平均成绩、各门功课的考试成绩)。列出90分及以上、80分及以上、70

3、分及以上、60分及以上、不及格学生清单(学号、姓名、不及格的课程和成绩)。统计并输出各门功课的平均成绩和总平均成绩。按班级统计并输出总成绩(需对学号进行解析)。(三)数据结构说明typedef struct St1 char IDNumber16;/*学号*/char FamilyName16;/*姓*/char GivenName16;/*名*/int sex;/*性别(0代表“女”,1代表“男”)*/int BirthYear;/*出生年*/int BirthMonth;/*出生月*/int BirthDay;/*出生日*/float score4;/*成绩*/float sum;/*总分

4、*/float average;/*平均分*/struct St1 *next; StudentNode;(四)菜单的样板模式为:1. Enter list输入记录2. Delete a record from list从表中删除记录3. Print list显示链表中所有记录4. Search record on name按照姓名查找记录5. Save the file 将链表中记录保存到文件中6. Load the file 从文件中读入记录7. Compute the score 计算所有学生的总分和平均分8. Query by class 按班级查询显示学生总分9. Quit退出(五)

5、当前时间获取C代码 以下代码可以获取系统当前时间,用于判断年龄是否合理。#include "time.h" void main() struct tm *ptm; long ts; int y,m,d,h,n,s; ts=time(NULL); ptm=localtime(&ts); y=ptm->tm_year+1900; /*年*/m=ptm->tm_mon+1; /*月*/d=ptm->tm_mday; /*日*/h=ptm->tm_hour; /*时*/n=ptm->tm_min; /*分*/s=ptm->tm_sec;

6、/*秒*/三,系统构成1. 系统模块结构图 学生管理系统学生基本情况录入显示录入的数据数据的插入数据的删除基于姓名的查询基于各种统计数据的基本运算统计平均成绩并排序列出各分数段学生的清单统计并输出各门功课的总成绩和平均成绩按班级统计并输出总成绩计算所有学生的总成绩和平均成绩2. 各模块的功能1. 学生基本信息的录入选择菜单栏中的“1”项进入学生基本信息录入模块。在该模块中可以多以录入例如学号,班级,分数等学生的基本信息,并且,可以对于输入的信息作出有效性的判断。2. 学生基本信息的显示选择菜单栏的“3”项进入学生基本信息显示模块,在该模块中可以对于已经录入的信息进行显示。3. 学生基本信息的插

7、入与删除选择菜单栏的“1”项进入学生基本信息的插入模块,在此模块中可以对学生的信息进行插入。选择菜单栏的“3”项进入学生基本信息删除模块,在此模块中可以对于学生的以输入学号的方式进行删除。4. 文件的保存和读取选择菜单栏的“5”项进入文件的保存模块,在此模块中,可以吧录入的信息保存到文件中去。选择菜单栏的“6”项进入文件的读取模块。在此模块中,通过输入文件名的方式对于保存到文件中的学生信息进行读取。 5学生基本信息的查询模块 选择菜单栏的第“4”项进入按姓名查找的模块,在此模块中,可以按照姓名查找此学生的相关信息。选择菜单栏的第“8”项进入按班级查询显示学生总分的模块。此模块中,学生可以通过输

8、入班级号来查找自己的总分成绩6学生基本信息的统计模块 选择菜单栏的第”7“项进入计算所有学生总分,平均分模块。选择菜单栏的第”9“项进入校成绩单模块。在此模块中,学生可以查询到每科的总分,平均分以及各科在各段的分布情况等,也可以查到按照平均分自己在输入的数据中的排名。3. 数据结构设计以及用法说明1.需处理的学生基本信息包括:学号、学生姓名、出生年、月、日,各科成绩。这些信息采用结构体数据类型表示更为方便,因为学生信息数量的不确定性,所以信息应采用链表进行存储,这更符合实际应用所以采用的数据结构如下typedef struct St1 char IDNumber16;/*学号*/ char F

9、amilyName16; /*姓*/char GivenName16; /*名*/ int sex; /*性别(0代表“女”,1代表“男”)*/ int BirthYear; /*出生年*/int BirthMonth; /*出生月*/int BirthDay; /*出生日*/ float score4; /*成绩*/ float sum; /*总分*/ float average; /*平均分*/ struct St1 *next; ;StudentNode(Struct 是声明结构体类型时所必须使用的关键字,不能省略。)该结构体包括IDNumber,Family,sum,average等不

10、同类型的数据项引用结构体变量名中成员的一般方式为: 结构体变量名.成员名2本程序用链表方法来处理对象。对象之间连接起来的程序为:p1=p1->next.数据交换的代码为:p2=p1->next; P1->next=p2->next; P2->next=p1;P1=p2;3.同时此程序仍沿用很多车辆违章系统的框架,在程序中仍然使用了switch,for,if,do-while等结构。已达到想要的目的。4为了实现学生系统的很多功能,此系统应用了函数的知识,在整个系统中存在很多函数嵌套的现象。正是由于函数的存在,方便了我们很到位的完成了我们的系统。4.程序结构(流程图)

11、 四心得体会忙忙碌碌中,一周的实验课就这样接近了尾声。用一句话评价这一周就是即累并快乐着。本周,我们进行了计算机程序编程课程的设计。老师上课时留了2个任务。需要我们用一周的时间来完成。第一个任务是做车辆违章系统。这个系统做起来还算简单。但,虽然简单,却也充分暴露了我c语言方面的瘸腿。这么简单的任务,我用了周一周二2天才算编完,而且,基本上每晚我都得到1点到2点左右才能睡觉。虽然,有点儿辛苦,但,我发现,我这2天的进步很快。通过这2天熬夜的编程,为我第2个任务的顺利进行打下了坚实的基础。2天的时间,我回忆起很多已经遗忘的知识,而且,学习如链表等的平时不怎么常用的新知识。通过这2天的努力,我已经适

12、应了程序语言,可以编一些稍大点儿的程序。第二个任务是学生成绩管理系统。学生成绩管理系统这个实验很复杂,需要把程序按功能分成各个模块,每个模块的功能是特定的,有的是输入记录数据,有的是对成绩排序。在输入数据还要注意数据是否合法,长度是否符合规定等等。在这次程序中,用链表会快捷一些,通过存储的地址找到数据,会提高运行速度。同时还要注意各个模块之间的联系,数据的调用。完成这个程序光是靠自己硬编硬想是一定不能完成的。编这个程序,我查阅了很多的书籍,也看了很多相关的资料,同样,也参照了一些以前学长们完成的程序。在这种自学的条件下我收获了很多的快乐。虽然,很辛苦,但,有了坚实的地基,才能筑起坚固的大楼。虽

13、然,这其中我还是遇到了很多很多的的困难,但,完成后的幸福感是我坚持下去的理由。终于,在周四晚2点,我完成了我的第2个任务。感觉很满足,很有成就。为期一周的实验结束啦,这一周我学到了很多知识,不仅是在编程方面,在自己学习方面,在锻炼自己意志品质方面,我自己都有很大的提升。我相信这次的实验设计将是我人生中一笔宝贵的财富,是我老年时回忆的很美好很美好的回忆。同样地,感谢老师一周以来悉心的教诲与陪伴。五实验结果 1.菜单栏2.输入页2.删除页3.显示页4.查询页5.保存页6.读取页7.查询页8.校成绩单页9.退出页五程序清单#include<stdio.h>#include<mall

14、oc.h>#include<string.h>#include<time.h>typedef struct ST1 char IDNumber10; /*学号*/ char Class4; /*班级*/ char Familyname6;/*姓*/ char GivenName6; /*名*/ char sex3; /*性别(0代表"女",1代表"男")*/ char BirthYear6; /*出生年*/ char BirthMonth4; /*出生月*/ char BirthDay4; /*出生日*/ float sco

15、re4; float sum; float average; struct ST1 *next;StudentNode;StudentNode *headLink;void Load();void Menu();void HeadLink();StudentNode *Malloc();void GetInformation(StudentNode *t);void OutputInformation();void DesplayOneNode(StudentNode *t);void Insert(StudentNode *t);void Delete();void Family();voi

16、d Save();void wy();void gs();void cyy();void mz();void Class(); void mz90(); void mz80(); void mz70(); void mz60(); void mzfail();void gs90(); void gs80(); void gs70(); void gs60(); void gsfail();void wy90(); void wy80(); void wy70(); void wy60(); void wyfail();void cyy90(); void cyy80(); void cyy70

17、(); void cyy60(); void cyyfail();void one();void compute();int choose;void main()HeadLink(); Menu();void Menu()StudentNode *p; printf("n"); printf("-欢迎您使用学生成绩管理系统-nn"); printf("-1-enter list 输入记录n"); printf("-2-delete a recard 从表中删除记录n"); printf("-3-print

18、 list 显示链表中所有记录n"); printf("-4-search record on name 按照姓名查找记录n"); printf("-5-Save the file 将链表中记录保存到文件中n"); printf("-6-Load the file 从文件中读记录n"); printf("-7-Compute the score 计算所有学生的总分和均分n"); printf("-8-Query by class 按班级查询显示学生总分n"); printf("

19、;-9-School report 校成绩单n"); printf("-10-quit 退出nn"); scanf("%d",&choose); printf("请输入您的选择"); switch(choose) case 1: p=Malloc(); GetInformation(p); Insert(p); break; case 2: Delete(); break; case 3: OutputInformation(); break; case 4: Family(); break; case 5: Sav

20、e(); break; case 6: Load(); break; case 7: compute(); break; case 8: Class(); break; case 9: one(); wy();gs();cyy();mz(); mz90(); mz80(); mz70(); mz60(); mzfail(); gs90();gs80();gs70();gs60();gsfail(); wy90(); wy80(); wy70(); wy60(); wyfail(); cyy90();cyy80();cyy70();cyy60();cyyfail(); break; case 1

21、0: free(headLink); return; break; default: break; Menu(); void HeadLink() StudentNode *p; p=(StudentNode*)malloc(sizeof(StudentNode); headLink=p; p->next=NULL;StudentNode *Malloc()StudentNode *p; int i; p=(StudentNode*)malloc(sizeof(StudentNode); if(p=NULL) return NULL; for(i=0;i<10;i+) p->

22、IDNumberi='0' for(i=0;i<6;i+) p->Familynamei='0' for(i=0;i<6;i+) p->GivenNamei='0' for(i=0;i<3;i+) p->sexi='0' for(i=0;i<6;i+) p->BirthYeari='0' for(i=0;i<4;i+) p->BirthMonthi='0' for(i=0;i<4;i+) p->BirthDayi='0&

23、#39; p->score0=0.0;p->score1=0.0;p->score2=0.0; p->score3=0.0; p->sum=0.0; p->average=0.0; p->next=NULL; return p;void GetInformation(StudentNode *t) struct tm *ptm; long ts; int y,m,d; ts=time(NULL); ptm=localtime(&ts); y=ptm->tm_year+1900; m=ptm->tm_mon+1; d=ptm->

24、tm_mday; printf("请输入学号:n");scanf("%s",t->IDNumber); printf("请输入班级:n");scanf("%s",t->Class); printf("请输入姓:n");scanf("%s",t->Familyname); printf("请输入名:n"); scanf("%s",t->GivenName); printf("请输入性别:n");

25、scanf("%s",t->sex); printf("请输入出生年:n");scanf("%s",t->BirthYear); printf("请输入出生月:n");scanf("%s",t->BirthMonth); printf("请输入出生日:n");scanf("%s",t->BirthDay); printf("请输入外语成绩:n");scanf("%f",&(t->

26、score0); printf("请输入高数成绩:n");scanf("%f",&(t->score1); printf("请输入C语言成绩:n");scanf("%f",&(t->score2); printf("请输入马哲成绩:n");scanf("%f",&(t->score3); void Insert(StudentNode *t)StudentNode *p; p=headLink; while(p->next) p

27、=p->next; p->next=t;void Load() FILE *fp;StudentNode *p;fp=fopen("StudentNode.txt","r");if(!fp)printf("文件不存在n");return;char fileo10;printf("name of StudentNode'txt :n");scanf("%s" ,fileo);p=Malloc();while(fscanf(fp,"%s%s%s%s%s%s%s%f%f%

28、f%f%f%f",p->IDNumber,p->Familyname,p->GivenName,p->sex, p->BirthYear,p->BirthMonth,p->BirthDay,&(p->score0),&(p->score1),&(p->score2),&(p->score3),p->sum,p->average)>0);Insert(p);p=Malloc();fclose(fp);void Save() StudentNode *p;FILE *fp;

29、char filee10;printf("name of StudentNode'txt :n");scanf("%s",filee);p=headLink->next;if(p=NULL)printf("无文件,请先输入学生信息nn");return;fp=fopen("StudentNode.txt","w+");if(!fp)printf("文件不存在n");return;while(p)fprintf(fp,"%s%s%s%s%s%s%s%f%

30、f%f%f%f%fn",p->IDNumber,p->Familyname,p->GivenName,p->sex, p->BirthYear,p->BirthMonth,p->BirthDay,p->score0,p->score1,p->score2,p->score3,p->sum,p->average);p=p->next;fclose(fp);void Family()StudentNode *p; char fn6; char flag=0; p=headLink->next; pr

31、intf("请输入姓:n"); scanf("%s",fn); while(p) if(strcmp(p->Familyname,fn)=0) DesplayOneNode(p); flag=1; break; p=p->next; if(!flag) printf("对不起,不存在姓为 %s 的学生n",fn);void DesplayOneNode(StudentNode *t)printf("%st",t->IDNumber); printf("%st",t->Fa

32、milyname); printf("%st",t->GivenName); printf("%st",t->sex); printf("%st",t->BirthYear); printf("%st",t->BirthMonth); printf("%st",t->BirthDay); printf("%.0ft",t->score0); printf("%.0ft",t->score1); printf(&qu

33、ot;%.0ft",t->score2); printf("%.0ft",t->score3); t->sum=t->score0+t->score1+t->score2+t->score3; printf("%.0ft",t->sum); t->average=(t->sum)/4; printf("%.0ftn",t->average);void Delete()char go8; StudentNode *p,*q; char have=0; print

34、f("请输入要删除的学生学号:"); scanf("%s",go); p=headLink; q=headLink->next; while(q) if(strcmp(q->IDNumber,go)=0) p->next=q->next; free(q); have=1; break; p=p->next;q=q->next; if(!have) printf("不存在这学生n"); void OutputInformation() StudentNode *p; p=headLink->ne

35、xt; if(p=NULL) printf("现在没有学生信息,请先输入学生nn"); return; printf("学号t姓t名t性别t出生年t月t日t外语t高数tC语言t马哲t总分t平均分n"); while(p) DesplayOneNode(p); p=p->next; void wy() StudentNode *p1; int i; float sum=0.0,aver=0; p1=headLink->next; if(p1=NULL) printf("没有数据!"); else for(i=0;p1!=NU

36、LL;i+,p1=p1->next) sum+=p1->score0; aver=sum/i;printf("外语总分:%.0ft",sum);printf("外语平均分:%.2ftn",aver);void gs() StudentNode *p1;int i;float sum=0.0,aver=0;p1=headLink->next;if(p1=NULL) printf("没有数据!");else for(i=0;p1!=NULL;i+,p1=p1->next) sum+=p1->score1; a

37、ver=sum/i;printf("高数总分:%.0ft",sum);printf("高数平均分:%.2ftn",aver);void cyy() StudentNode *p1;int i;float sum=0.0,aver=0;p1=headLink->next;if(p1=NULL) printf("没有数据!");else for(i=0;p1!=NULL;i+,p1=p1->next) sum+=p1->score2; aver=sum/i;printf("C语言总分:%.0ft",s

38、um);printf("C语言平均分:%.2ftn",aver);void mz() StudentNode *p1;int i;float sum=0.0,aver=0;p1=headLink->next;if(p1=NULL) printf("没有数据!");else for(i=0;p1!=NULL;i+,p1=p1->next) sum+=p1->score3; aver=sum/i;printf("马哲总分:%.0ft",sum);printf("马哲平均分:%.2ftn",aver);

39、void Class() char Clas4; StudentNode *p,*q; printf("请输入班级:"); scanf("%s",Clas); p=headLink; q=headLink->next; printf("学号t姓t名t总分t平均分n"); while(q!=NULL&&(strcmp(q->Class,Clas)=0) printf("%st",q->IDNumber);printf("%st",q->Familyname)

40、; printf("%st",q->GivenName);printf("%.0ft",q->score0+q->score1+q->score2+q->score3); printf("%.0ftn",(q->score0+q->score1+q->score2+q->score3)/4); q=q->next; void mz90()StudentNode *q; q=headLink->next; printf("马哲90分段t学号t姓t名t成绩n&qu

41、ot;); while(q!=NULL&&(q->score3)>=90) printf("tt%st",q->IDNumber);printf("%st",q->Familyname); printf("%st",q->GivenName);printf("%.0ftn",q->score3); q=q->next; void mz80()StudentNode *q; q=headLink->next; printf("马哲80分段t学号

42、t姓t名t成绩n"); while(q!=NULL&&(80<=(q->score3)&&(q->score3)<90) printf("tt%st",q->IDNumber);printf("%st",q->Familyname); printf("%st",q->GivenName);printf("%.0ftn",q->score3); q=q->next; void mz70()StudentNode *q; q

43、=headLink->next; printf("马哲70分段t学号t姓t名t成绩n"); while(q!=NULL&&(70<=(q->score3)&&(q->score3)<80) printf("tt%st",q->IDNumber);printf("%st",q->Familyname); printf("%st",q->GivenName);printf("%.0ftn",q->score3);

44、q=q->next; void mz60()StudentNode *q; q=headLink->next; printf("马哲60分段t学号t姓t名t成绩n"); while(q!=NULL&&(60<=(q->score3)&&(q->score3)<70) printf("tt%st",q->IDNumber);printf("%st",q->Familyname); printf("%st",q->GivenName)

45、;printf("%.0ftn",q->score3); q=q->next; void mzfail()StudentNode *q; q=headLink->next; printf("马哲不及格单t学号t姓t名t成绩n"); while(q!=NULL&&(q->score3)<60) printf("tt%st",q->IDNumber);printf("%st",q->Familyname); printf("%st",q-&g

46、t;GivenName);printf("%.0ftn",q->score3); q=q->next; void wy90()StudentNode *q;q=headLink->next; printf("外语90分段t学号t姓t名t成绩n"); while(q!=NULL&&(q->score0)>=90) printf("tt%st",q->IDNumber);printf("%st",q->Familyname); printf("%st&

47、quot;,q->GivenName);printf("%.0ftn",q->score0); q=q->next; void wy80()StudentNode *q;q=headLink->next; printf("外语80分段t学号t姓t名t成绩n"); while(q!=NULL&&(80<=(q->score0)&&(q->score0)<90) printf("tt%st",q->IDNumber);printf("%st&q

48、uot;,q->Familyname); printf("%st",q->GivenName);printf("%.0ftn",q->score0); q=q->next; void wy70()StudentNode *q;q=headLink->next; printf("外语70分段t学号t姓t名t成绩n"); while(q!=NULL&&(70<=(q->score0)&&(q->score0)<80) printf("tt%st

49、",q->IDNumber);printf("%st",q->Familyname); printf("%st",q->GivenName);printf("%.0ftn",q->score0); q=q->next; void wy60()StudentNode *q;q=headLink->next; printf("外语60分段t学号t姓t名t成绩n"); while(q!=NULL&&(60<=(q->score0)&&

50、;(q->score0)<70) printf("tt%st",q->IDNumber);printf("%st",q->Familyname); printf("%st",q->GivenName);printf("%.0ftn",q->score0); q=q->next; void wyfail()StudentNode *q;q=headLink->next; printf("外语不及格单t学号t姓t名t成绩n"); while(q!=NU

51、LL&&(q->score0)<60) printf("tt%st",q->IDNumber);printf("%st",q->Familyname); printf("%st",q->GivenName);printf("%.0ftn",q->score0); q=q->next; void gs90()StudentNode *q; q=headLink->next; printf("高数90分段t学号t姓t名t成绩n"); w

52、hile(q!=NULL&&(q->score1)>=90) printf("tt%st",q->IDNumber);printf("%st",q->Familyname); printf("%st",q->GivenName);printf("%.0ftn",q->score1); q=q->next; void gs80()StudentNode *q; q=headLink->next; printf("高数80分段t学号t姓t名t成绩

53、n"); while(q!=NULL&&(80<=(q->score1)&&(q->score1)<90) printf("tt%st",q->IDNumber);printf("%st",q->Familyname); printf("%st",q->GivenName);printf("%.0ftn",q->score1); q=q->next; void gs70()StudentNode *q; q=headLi

54、nk->next; printf("高数70分段t学号t姓t名t成绩n"); while(q!=NULL&&(70<=(q->score1)&&(q->score1)<80) printf("tt%st",q->IDNumber);printf("%st",q->Familyname); printf("%st",q->GivenName);printf("%.0ftn",q->score1); q=q->

55、;next; void gs60()StudentNode *q; q=headLink->next; printf("高数60分段t学号t姓t名t成绩n"); while(q!=NULL&&(60<=(q->score1)&&(q->score1)<70) printf("tt%st",q->IDNumber);printf("%st",q->Familyname); printf("%st",q->GivenName);printf

56、("%.0ftn",q->score1); q=q->next; void gsfail()StudentNode *q; q=headLink->next; printf("高数不及格单t学号t姓t名t成绩n"); while(q!=NULL&&(q->score1)<60) printf("tt%st",q->IDNumber);printf("%st",q->Familyname); printf("%st",q->Given

57、Name);printf("%.0ftn",q->score1); q=q->next; void cyy90()StudentNode *q; q=headLink->next; printf("C语言90分段t学号t姓t名t成绩n"); while (q!=NULL&&(q->score2)>=90) printf("tt%st",q->IDNumber);printf("%st",q->Familyname); printf("%st&quo

58、t;,q->GivenName);printf("%.0ftn",q->score2); q=q->next; void cyy80()StudentNode *q; q=headLink->next; printf("C语言80分段t学号t姓t名t成绩n"); while (q!=NULL&&(80<=(q->score2)&&(q->score2)<90) printf("tt%st",q->IDNumber);printf("%st&

59、quot;,q->Familyname); printf("%st",q->GivenName);printf("%.0ftn",q->score2); q=q->next; void cyy70()StudentNode *q; q=headLink->next; printf("C语言70分段t学号t姓t名t成绩n"); while (q!=NULL&&(70<=(q->score2)&&(q->score2)<80) printf("tt%st",q->IDNumber);printf("%st",q->Familyname); printf("%st",q->GivenName);printf("%.0ftn",q->score2); q=q->next; void cyy60()StudentNode *q; q=headLink->next; printf("C语言60分段t学号t姓t名t成绩n&qu

温馨提示

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

评论

0/150

提交评论