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

下载本文档

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

文档简介

1、学生选课系统1 需求分析1.1 任务要求制做学生选课系统,共包括课程信息和学生信息两部分。课程信息包括:课程编码、课程名称、适用专业、课程类型(必修、限选、必选、实践、学习) 、学分、学时、主讲教师等。学生信息管理,学生选课管理(学生选课学分总数有一定范围) ,学生可以对课程进行查询、浏览,选完课后可以退选、重选,并可以按学号、姓名进行查询和统计。要求:1.源文件采用多文件的工程结构。2 .数据储存采用文件形式。3 .标准的C 输入输出。4 .功能完善,适当的注释。5 .关于文件的内容要自学。1.2 系统功能需求分析1 .为存储课程信息,需要定义一个结构体类型,成员包括课程编码、 课程名称、

2、适用专业、课程类型、学分、学时、主讲教师,所选人数等等,并建立链表,定义该结构体类型的指针,用于指向各节点;2 .为存储学生信息,需要定义一个结构体类型,成员包括学生编码、学生姓名、所选课程编码、所选课程学分和等等,并建立链表,定义该结构体类型的指针,用于指向各节点;3 .对于课程信息和学生信息,可以选择从键盘输入也可选择从文件中打开原来存盘的信息,并对他们分别建立添加、删除、浏览、查询等功能的子函数,完成相应的功能, 对程序实现模块化。 这其中要用到对链表的删除、 插入、 增加等知识。删除包括课程删除和学生信息删除, 删除时用一结构体指针指向链表的第一个结点, 检查该节点的值是否等于输入的要

3、删除的课程编号或学生学号, 若相等就删除,不相等则后移指针,直至表尾。插入时也要先找到相应结点,再添加。查询功能要设置按照学生姓名、学生编号等多种方式 。4 .学生选课是要先输入自己的学号,如果在已经输入的学生信息中找不到此学 号,则提示需要先输入自己的信息。如找到了自己的学号,则可以进行选课。在 选课之前要先对所有的课程信息进行浏览。 选课有一定的学分限制,超过相应的 学分(这里设置的是10个学分),系统就会显示可以选满的信息。 此系统还可以 实现删除所选课程的功能,设计思路与选课功能相似。5 .为实现存储功能,需用到文件的相关函数,打开文件,将添加、修改或删除 的信息存入磁盘中。6 .实现

4、易于使用者理解和使用的友好界面。2概要设计2.1 系统总体设计框架对程序进行模块化可以使整个程序清晰明了。对课程信息和学生信息建立 从文件中输入、从键盘中输入、添加、删除、查询和浏览的功能,其各个子函数 中运用链表储存数据。选课管理建立学生选课、推选、查询、浏览的功能,其各 个子函数中运用链表储存数据。 从主函数开始执行,依次调用各个子函数,并运 用文件的相关知识将信息进行存盘。2.2 系统功能模块图3 详细设计3.1 功能模块设计思路主要功能模块的算法设计思路如下:1、课程信息录入函数(voidload()从键盘录入(void zhang()I 定义指向结构体变量的指针;II 从头指针指向的

5、结构体开始依次录入结构体中所包含的各个成员;III 直到输入的结构体成员的编号为0,录入结束从文件录入(void zhang1()I 分别定义指向结构体变量的指针和指向文件的指针;II 输入文件的路径,打开文件,若没有找到则有提示;III将文件中的信息依次读出,最后结构体的指针为NULL2、课程信息管理( void managementc()增力口课程信息 (void insert(struct course *incourse)I 定义指向结构体变量的指针;II 输入要增加的课程编号,从头指针指向的结构体依次向后,直到链表的最后;III输入课程结构体各个成员的信息,使最后一个结构体指针值为N

6、ULL删除课程信息(void delc(int numl)I 定义指向结构体变量的指针;II 输入要增加的课程编号,从头指针指向的结构体依次向后,直到找到课程编号为输入值的那个结构体;III 将其删除,其前一个的结构体指针指向其后一个结构体3、学生信息录入函数(void input() )从键盘录入(void putin()I 定义指向结构体变量的指针;II 从头指针指向的结构体开始依次录入结构体中所包含的各个成员;III 直到输入的结构体成员的编号为 0,录入结束从文件录入(void putin2()I 分别定义指向结构体变量的指针和指向文件的指针;II 输入文件的路径,打开文件,若没有找到

7、则有提示;III将文件中的信息依次读出,最后结构体的指针为NULL4、学生信息管理( voidmanagements()增加学生信息(void inserts(struct student * incouse)I 定义指向结构体变量的指针;II 输入要增加的学生编号,从头指针指向的结构体依次向后,直到链表的最后;III输入学生结构体各个成员的信息,使最后一个结构体指针值为NULL删除学生信息(void dels(int num2)I 定义指向结构体变量的指针;II 输入要增加的学生编号,从头指针指向的结构体依次向后,直到找到学生编号为输入值的那个结构体;III 将其删除,其前一个的结构体指针指

8、向其后一个结构体5、学生选课管理( void elective()学生选课(voidelect。)I 分别定义指向课程和学生结构体变量的指针;II 输入要选课的学生的编号,从头指针指向的结构体依次向后,直到找到学生编号为输入值的那个结构体,如不存在则显示要录入学生信息;III 输入要选课程的编号,从头指针指向的结构体依次向后,直到找到课程编号为输入值的那个结构体;IV 在学生结构体对应的所选课程编号中更改信息,所选学分中加上相应分值,课程结构体所选人数中相应加一学生退课(void back()I 分别定义指向课程和学生结构体变量的指针;II 输入要退课的学生的编号,从头指针指向的结构体依次向后

9、,直到找到学生编号为输入值的那个结构体,如不存在则显示要录入学生信息;III 输入要退课程的编号,从头指针指向的结构体依次向后,直到找到课程编号为输入值的那个结构体;IV 在学生结构体对应的所选课程编号中更改信息,所选学分中减去相应分值,课程结构体所选人数中相应减一6、信息浏览和保存( void into() )课程信息浏览(void listc()I 定义指向结构体变量的指针;II 从头指针指向的结构体依次向后, 将课程结构体各成员的信息一次输出, 直到最后一个结构体指针的值为 NULL学生信息浏览(voidlists。)I 定义指向结构体变量的指针;II 从头指针指向的结构体依次向后, 将

10、学生结构体各成员的信息一次输出, 直到最后一个结构体指针的值为 NULL课程信息保存(void intoc()I 定义指向课程结构体变量的指针和指向文件的指针;II 输入保存路径,如果没有保存则有显示;III 将课程信息写入文件中;IV 将课程信息进行保存,关闭文件学生信息保存(void intos()I 定义指向学生结构体变量的指针和指向文件的指针;II 输入保存路径,如果没有保存则有显示;III 将学生信息写入文件中;IV 将学生信息进行保存,关闭文件7、学生信息查询( voidstore()按学生姓名查询(voidsearch2(»I 定义指向结构体变量的指针;II 输入要查询

11、的学生的姓名,从头指针指向的结构体依次向后,直到找到学生姓名为输入值的那个结构体;III 将该学生结构体成员的各信息依次输出按学生编号查询(void searchl。I 定义指向结构体变量的指针;II 输入要查询的学生的编号,从头指针指向的结构体依次向后,直到找到学生编号为输入值的那个结构体;III 将该学生结构体成员的各信息依次输出3 调试分析3.1 错误显示及分析a编译时出现错误,回看程序发现漏掉符号等细节错误。b.运行时,界面格式与最初的设想不一致,通过重新编排,符号的增减及一进, 最终达到理想界面。c.运行时,输入一个信息后,第二次输入数据时很难将输入光标移到想要的位子,通过按键的摸索

12、,最终了解了输入要领。d.对输入的信息查询时没有记录,发现文件读取错误。3.2 修改完善1、开始程序执行时,各项大的功能每一次只能执行一个就自动跳出,为了使程序保持连续性和更好的实用性,使用了 start,goto start,break,sysyem“(clx ”)等实现了逐渐免于更功能的循环。2、对于学生信息中已选课程的存储,一直不知如何存储。后用实型数组,并进行循环,依次读入课程的编号,将课程编号进行存储。4 用户使用说明4.1 适用范围适用于管理者将课程信息和学生信息录入到系统,并可以将课程信息和学生信息进行保存, 日后如果有需要在对课程和学生信息进行增加可删除。 同时也适用于学生在登

13、录自己的学号后,浏览课程信息选课,进行选课和退课操作。4.2 使用方法首先管理者将现有的课程信息(包括课程编号、课程名称、使用专业、课程类型、学时、学分、教师、已选人数(初始为零) )和学生信息(包括学生学号、姓名、已选学时、已选课程编号)录入到系统,并将其进行文件保存,以便以后使用。若要修改(增加和删除)课程信息和学生信息,需要先从文件中录入已存信息,再输入编号对其查找并进行相关操作。学生选课需要先输入自己的学号,若没有此学号的学生信息, 需先录入此人信息在进行选课和退课。 在选课和退课前,可以先浏览课程信息,并记住要选课程的编号,以便选课时需要。此外还可以学号和姓名对学生信息进行查询。5测

14、试结果55.1运行结果主界面录入课程信息Q送伊西聿室婚口由£茜深系豌录入课程信息人入单 录录菜J: 盘件主1-键文回书 r 丁 一:、 退选12.0.请课程信息浏览, R点的西聿系狗Debug 田跣田一存-m1料单 ffli1- 隹二息回人课程编号i欢迎费用此枭统T课程II质课时主修学分课钳 舒 添曾 Cl-n II教师选理人数孙涛 0至我 8至前 012 3 4 36708_A1输青息捽息理 刻息 程息生息统 生雷莪出 录卷古春S课程信息存储Q於2西仔至粽口由弓茜果系近三口印长4: n1- 翟言茴入录入学生信息学生信息浏览QfMg西年要对口由阳匹吴条绿播一图翻 国号铺 卜廖回王某单

15、 情输入工-黯 /编号 26102700 ,也 20102718姓需由 学00所选课程编号所选课程学分欢迎使用此系统T方 息!¥息理钏直 程自至息获 特选怎素 生雷莪出 屎方芯毒.is 123456K8学生信息存储Q:wg西睾要於由四茜深系送专相1 iH " n1- 隹言茴入 课学自输己息不信息存储四王索里%输入路径学生学生选课选课后学生信息浏览Qf黑附西许系淑。由唱惬港呈绿轨一lllia 三-返回王菜单 值输入I: 城编号 2610270 261027012G1B271B娃+£翠陈 学所选谡程编号欢迎使用此系统?菜凶:请输入一8:,人步生/j戌出览 息理息理剜息

16、 誉心生息谍晅统主修谈程性质" 必像, w, 必褪c耨J g 1=3课程编号1 22菜也:日 .退出系统.查游霾萨阍前入I)3 .塞层图鼬*率主看息詈理欢迎使用此系统?教师选课人效孙涛 4至冬2王堇 «Q芦g西深至粽口由“工国鼻系近轨EP回选课后课程信息浏览存1都里固一皤K4: J= q 了王1- 善一直回人 课学晅辅 -LL青n q ELi拿机i嗔机:礴0耀墓曷5 .罢手萋。官票存课程信息管理学生信息管理学生信息查找Q芦g街深至粽口中夕建设系玩一轨史日自后舁U -u £K- .tdH一工 I 刁 3辜工1-1回单添瞿造|1.|3.0.青国 S3Q超附西深至相口山

17、外法演系近w'杳香菜J: 号名工L 学姓回人 轴 1.2片iM.退出系统c P:版件选课系筵pebu婢误系施国| £3Thank y口Lt!Biye-Dye*Piacas 口k等射 to continuc7附录7.1 课设小结通过这次课程设计,我对C语言有了更深刻的了解,增强了程序的编写能力,巩固了专业知识, 对程序的模块化观念也又模糊逐渐变的清晰了。 在程序的运行与调试过程中出现了很多错误, 通过反复地复习课本上的相关知识, 不停地修改与调试, 我终于完成了这段程序。 在调试过程中, 我认识到了 C 语言的灵活性与严谨性, 同一个功能可以由不同的语句来实现, 但编写程序时要

18、特别注意细节方面的问题, 因为一个小小的疏忽就能导致整个程序不能运行。 当然我也认识到了自己的薄弱之处, 如对链表相关知识的欠缺, 文件运用的不熟练, 在以后的学习中我要集中精力、端正态度,争取把知识学得更扎实、更全面。7.2 存在不足1、系统不够强大,有点脆弱。2、当输入信息(课程信息,学生信息)后,不能自动保存,需手动保存。对于以上不足,以后将进行改进,以确保达到更好。7.3 详细代码#include<stdio.h>#include<stdlib.h>#include<string.h>int N1,N2;struct studentint num2;

19、char name220;int nelenum50;/所选课程编号int nelen;/所选课程学分和struct student * next;struct courseint num1;/课程编号char name120;char major20;char type20;int credit;int period;char teacher20;/从键盘录入课程信息/选此门课程的人数/结构体指针int people;struct course *next;struct course * head1;struct student * head2;void zhang()struct cour

20、se *p1,*p2;N1=0;p1=p2=(struct course *)malloc(sizeof(struct course);printf("课程编号t课程名称t主修t课程性质t学分t课时t教师n");scanf("%d%s%s%s%d%d%s",&p1->num1,p1->name1,p1->major,p1->type,&p1->cr edit,&p1->period,p1->teacher);p1->people=0;head1=NULL;while(p1->n

21、um1!=0)N1=N1+1;if(N1=1)head1=p1;else p2->next=p1;p2=p1;p1=(struct course * )malloc(sizeof(struct course);scanf("%d%s%s%s%d%d%s",&p1->num1,p1->name1,p1->major,p1->type,&p1->cr edit,&p1->period,p1->teacher);p1->people=0;p2->next=NULL;void zhang1()/从文

22、件录入课程信息FILE * fp;char filepath20;struct course *p1,*p2;N1=0;printf(" 请输入您要读取的路径:");getchar();gets(filepath);if(fp=fopen(filepath,"r")=NULL)printf(" 找不到 %s 文件 !n",filepath);exit(0);p1=p2=(struct course*)malloc(sizeof(struct course);fscanf(fp,"%d%s%s%s%d%d%s%d",

23、&p1->num1,p1->name1,p1->major,p1->type,& p1->credit,&p1->period,p1->teacher,&p1->people);while(!feof(fp)N1=N1+1;if(N1=1)head1=p1;elsep2->next=p1;p2=p1;p1=(struct course * )malloc(sizeof(struct course);fscanf(fp,"%d%s%s%s%d%d%s%d",&p1->num1,

24、p1->name1,p1->major,p1->type,& p1->credit,&p1->period,p1->teacher,&p1->people);p2->next=NULL;void load()/录入课程信息函数int i;printf("ttt 录入课程信息 n");printf("n1. 从键盘录入");printf("n2. 从文件录入");printf("n3. 返回主菜单n");printf(" 请选择 1-3

25、:");scanf("%d",&i);switch(i)case 1: zhang(); break;case 2:zhang1();break;case 3:break;/增加课程信息void insert(struct course *incourse)struct course *p0,*p1,*p2;p1=head1;p0=incourse;if(head1=NULL)head1=p0;p0->next=NULL;elsewhile(p0->num1>p1->num1) && (p1->next!=NU

26、LL)p2=p1;p1=p1->next;if(p0->num1<=p1->num1)if(head1=p1)head1=p0;elsep2->next=p0;p0->next=p1;elsep1->next=p0;p0->next=NULL;N1=N1+1;void delc(int num1)/ 删除课程信息struct course *p1,*p2;if(head1=NULL)printf("n 无法删除 !n");goto end;p1=head1;while(num1!=p1->num1 &&

27、p1->next!=NULL)p2=p1;p1=p1->next;if(num1=p1->num1)if(p1=head1)head1=p1->next;elsep2->next=p1->next;printf(" 已删除 n");N1=N1-1;elseprintf(" 没有此课程n");end:;void managementc()/课程信息管理函数struct course * p1;int i,num1;printf("ttt 课程信息管理n");printf("1. 添加课程n&

28、quot;);printf("2. 删除课程n");printf("3. 返回 n");printf(" 请输入1-3:n");scanf("%d",&i);switch(i)case 1:p1=(struct course *)malloc(sizeof(struct course);printf("课程编号t课程名称t主修t课程性质t学分t课时t教师n");scanf("%d%s%s%s%d%d%s",&p1->num1,p1->name1,p

29、1->major,p1->type,&p1->cr edit,&p1->period,p1->teacher);p1->people=0;insert(p1);break;case 2:printf("请输入您要删除的课程编号:n");scanf("%d",&num1);delc(num1);break;case 3:break;void putin(void)/从键盘录入学生信息int i;struct student *p1,*p2;N2=0;p1=p2=(struct student *)

30、malloc(sizeof(struct student);printf("学号 t 姓名 n");scanf("%d%s",&p1->num2,p1->name2);p1->nelen=0;for(i=0;i<20;i+) p1->nelenumi=0;head2=NULL;while(p1->num2!=0)N2=N2+1;if(N2=1)head2=p1;elsep2->next=p1;p2=p1;p1=(struct student * )malloc(sizeof(struct student)

31、;scanf("%d%s",&p1->num2,p1->name2);p1->nelen=0;for(i=0;i<20;i+) p1->nelenumi=0;p2->next=NULL;void putin2()/从文件录入学生信息int i=0;FILE * fp;char filepath20;struct student *p1,*p2;N2=0;printf("请输入您要读取的路径:”);getchar();gets(filepath);if(fp=fopen(filepath,"rt")=N

32、ULL)printf(" 找不到 %s 文件 !n",filepath);exit(0);p1=p2=(struct student*)malloc(sizeof(struct student);fread(p1,sizeof(struct student),1,fp);head2=NULL;while(!feof(fp)i=0;N2=N2+1;if(N2=1)head2=p1;elsep2->next=p1;p2=p1;p1=(struct student * )malloc(sizeof(struct student);fread(p1,sizeof(struct

33、 student),1,fp);p2->next=NULL;void input()/录入学生信息函数int i;printf("ttt 录入学生信息 n");printf("n1. 从键盘录入 n");printf("2. 从文件录入n");printf("3. 返回主菜单n");printf(" 请输入 1-3:n");scanf("%d",&i);switch(i)case 1:putin();break;case 2:putin2();break;cas

34、e 3:break;void inserts(struct student * incouse)/增加学生信息struct student *p0,*p1,*p2;p1=head2;p0=incouse;if(head2=NULL)head2=p0;p0->next=NULL;elsewhile(p0->num2>p1->num2) && (p1->next!=NULL) p2=p1;p1=p1->next;if(p0->num2 <= p1->num2)if(head2=p1) head2=p0;else p2->n

35、ext=p0;p0->next=p1;elsep1->next=p0;p0->next=NULL;N2=N2+1;void dels(int num2)/ 删除学生信息struct student *p1,*p2;if(head2=NULL)printf("n 无法删除 n");goto end;p1=head2;while(num2!=p1->num2 && p1->next!=NULL) p2=p1;p1=p1->next;if(num2=p1->num2)if(p1=head2)head2=p1->nex

36、t;elsep2->next=p1->next;printf(" 已删除 n");N2=N2-1;elseprintf(" 没有此学生编号n");end:;void managements()/学生信息管理函数struct student * p1;int i,num2;printf("ttt 学生信息管理n");printf("1.添加学生信息n");printf("2. 删除学生信息n");printf("3. 返回主菜单n");printf(" 请

37、选择 1-3:n");scanf("%d",&i);switch(i)case 1:p1=(struct student *)malloc(sizeof(struct student);p1->nelen=0;p1->nelenum0=0;printf("numtnamen");scanf("%d%s",&p1->num2,p1->name2);inserts(p1);break;case 2:printf("请输入您要删除的学生编号:n");scanf("

38、;%d",&num2);dels(num2); break;case 3:break;void elect()/学生选课struct student * s;struct course * p;int a,i,b;printf("请输入您的学号:n");scanf("%d",&a);s=head2;while(s->num2)!=a&&s->next!=NULL) s=s->next;if(s->num2!=a)printf(" 您的信息不存在,请重新输入 :n");g

39、oto end;if(s->nelen)>10)printf(" 您的学分已满");goto end;printf("请输入您要选修的课程编号n");scanf("%d",&b);for(i=0;(s->nelenumi)=0;i+);s->nelenumi=b;p=head1;while(p->num1)!=b)p=p->next;for(i=0;(s->nelenumi)!=0;i+);s->nelenumi=b;(p->people)+;(s->nelen)=(

40、s->nelen)+(p->credit);(p->people)+;end:;void back()/学生退课struct student * p;struct course * p1;int b,i,j,a;printf("请输入您的学号:n");scanf("%d",&a);p=head2;while(p->num2!=a&&p!=NULL) p=p->next;if(p=NULL)printf(" 您的信息不存在:n");elseprintf(" 请输入您要退选的

41、课程:n");scanf("%d",&b);p1=head1;while(p1->num1!=b) p1=p1->next;for(i=0;p->nelenumi!=b;i+);for(j=i;p->nelenumj!=0;j+)p->nelenumj=p->nelenumj+1;p->nelenum-j=0;(p->nelen)=(p->nelen)-(p1->credit);(p1->people)-;printf("succeed!n");void elective

42、()/学生选课信息管理int i;printf("ttt 学生选课信息管理n");printf("1. 选课 n");printf("2. 退课 n");printf("3. 返回主菜单n");printf(" 请输入 1-3:n");scanf("%d",&i);switch(i)case 1:elect();break;case 2:back();break;case 3:break;void listc()/浏览课程信息struct course * p;p=h

43、ead1;printf(" 课程编号课程名称主修 课程性质学分 课时教师 选课人数 n");while(p!=NULL)printf("%6d%13s%13s%10s%7d%7d%12s%5dn",p->num1,p->name1,p->major, p->type,p->credit,p->period,p->teacher,p->people);p=p->next;void lists()/浏览学生信息struct student * p;int a;p=head2;printf("学生

44、编号学生姓名所选课程编号所选课程学分n");while(p!=NULL)printf("%6d%13s",p->num2,p->name2);printf("%6d",p->nelen);for(a=0;p->nelenuma!=0&&a<14;a+)printf("%d",p->nelenuma);printf("n");p=p->next;void intoc()/存储课程信息FILE * fp;struct course * p;char f

45、ilepath30;printf("输入路径:");getchar();gets(filepath);if(fp=fopen(filepath,"w")=NULL)无法储存 !");exit(0);p=head1;while(p!=NULL)fprintf(fp,"%d%s%s%s%d%d%s%dn",p->num1,p->name1,p->major,p->type,p- >credit,p->period,p->teacher,p->people);p=p->next

46、;fclose(fp);printf(" 已储存入 %s 文件 !n",filepath);void intos()/存储学生信息FILE * fp;struct student * p;char filepath30;printf("请输入路径:");getchar();gets(filepath);if(fp=fopen(filepath,"wt")=NULL)printf("n 无法储存 !");exit(0);p=head2;while(p!=NULL)fwrite(p,sizeof(struct stud

47、ent),1,fp);p=p->next;fclose(fp);printf(" 已储存入 %s 文件 !n",filepath); void into()int i;printf("ttt 信息存储 n");printf("1.课程信息存储n");printf("2. 学生信息存储 tn");printf("3. 返回主菜单n");printf("请输入 1-3n");scanf("%d",&i);switch(i)case(1):into

48、c();break;case(2):intos();break;case(3):break;void store()/信息存储函数/信息存储浏览函数int i;printf("tt 信息存储和浏览n");printf("1.课程信息浏览n");printf("2. 学生信息浏览n");printf("3. 信息存储 n");printf("4. 返回主菜单n");printf(" 请输入1-4:n");scanf("%d",&i);switch(i

49、)case(1):listc();break;case(2):lists();break;case(3):into();break;case(4):break;void search1()/按学生编号查找学生信息int a,b;struct student * p;printf("请输入学生编号");scanf("%d",&a);p=head2;printf("学号学生姓名所选课程编号所选课程学分n");while(p!=NULL)if(p->num2=a)printf("%6d%13s ",p-&g

50、t;num2,p->name2);for(b=0;p->nelenumb!=0&&b<14;b+)printf("%d",p->nelenumb);printf("%10dn",p->nelen);p=p->next;void search2()/按学生姓名查找学生信息int b;char name20;struct student * p;printf("请输入要查找的学生姓名:");scanf("%s",name);p=head2;printf("学号学生姓名所选课程编号所选课程学分n");whi

温馨提示

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

评论

0/150

提交评论