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

下载本文档

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

文档简介

1、河南城建学院C+程序设计课程设计设计题目: 学生选修课程系统设计 指导教师: 郭力争 刘荣辉 薛冰 专 业: 数学与应用数学 学生班级: 1314101 学生学号: 131410111 学生姓名: 刘亚欣 同 组 人: 李菲 马小川 数理学院 2013年6月目 录1、课题目标11.1设计要求11.2 选题背景11.3 课题意义11.4功能需求分析21.5系统功能分析22、程序具体实现原理32.1 总体方案3开发平台3基本原理4数据结构4类的UML图5模块说明62.2 程序各个功能说明72.2.1 程序结构72.2.2 课程设计要求的实现93、调试报告143.1遇到的问题及解决办法143.2程序

2、调试及运行结果154、总结195、参考文献19附录201、课题目标1.1设计要求 假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于10)自由选课。试设计一个选修课程系统,使之能提供以下功能:1.系统以菜单方式工作;2.课程信息录入功能(课程信息用文件保存);3.课程信息浏览功能;4.查询功能(至少一种查询方式:按学分查询、按课程性质查询);5.学生选修课程。1.2 选题背景当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最到好处在于利用它能

3、够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了管理好学生选课信息而设计的。随着高校的多样全面发展,学生的人数和课程的种类急速增加,传统的选课管理模式已经无法满足当前的实际需求,学生选课作为一种信息资源的集散地,包含很多的信息数据的管理。由于数据繁多,容易丢失,且不易查找。并且数据处理手工操作工作量大,出错率高,出错后不易更改,造成各种不便,总的来说,缺乏系统,规范的信息管理手段。尽管有的学校有计算机,但是尚未用于

4、信息管理,没有发挥它的效力,资源闲置比较突出,这就是学生选课管理信息系统的开发基本环境背景。1.3 课题意义基于以上问题,我们认为有必要建立一个学生选课管理信息系统,使学生选课信息管理工作规范化、系统化、程序化,以避免学生选课管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改选课情况。系统实现后,极大的方便对学生进行选课和选课后班级的安排管理工作,学生选课信息的管理。避免在安排课程信息的滞后,减少信息交流的繁琐过程及其带来的额外开销。促进高校教育的计算机信息化进程,提高高校的工作效率。并且对于系统本身而言,具有更高的使用性、安全性。能够满足学生选课,以及学生对选课信息的

5、管理。同时,通过该课程设计,我们可以达到把C+程序设计理论知识更加的巩固加深,加强动手操作能力与实践能力,学以致用,与现实生活中的应用充分的结合起来,也实现了知识的活学活用。 1.4功能需求分析一个完善的学生选课管理信息系统能够极大的提高学生选课信息的管理效率,具有检索迅速,查找方便,可靠性高,存储量大,更新快,寿命长,成本低等优点。本系统主要可以实现以下任务目标:1、系统可以准确的记录和查询学生、老师以及所开设的课程的基本信息2、学生登录系统后可以根据本专业制定的教学计划进行选课操作,可以查询个人的基本信息性能需求:本学生信息管理系统要能够抵御用户可能的各种操作,包括修改、更新、删除等操作,

6、以保证软件的可行性、稳定性、健壮性,同时要对数据进行检验,保证数据有效性,可操作性,安全性。同时普通用户登录只有浏览的权限。系统的非功能性需求:实用性:系统以用户需求为目标,以方便用户为原则。根据用户实际的 需求情况,度身订造一套先进的局域网数据传输,从用户角度出发尽可能的方便用户使用,满足基本的用户需要,成为学校等通用的网络软件。高可靠性:一个实用的系统同时必须是可靠的,本设计通过合理而先进的网络设计以及软、硬件的优化选型,可保证系统数据传输的正确性。高安全性:在设计中,将充分利用网络软、硬件提供的各种安全措施,既可以保证用户共享资源,同时也可保证关键数据的安全性。可扩展性及灵活性:系统的设

7、计以方便未来业务的扩展和系统扩充为目标,系统要求能够方便的升级,充分保护系统的投资。智能型:系统在设计时,充分考虑系统运行的智能性,在使用系统一段时间后,系统可以适应于任何局域网。1.5系统功能分析 根据设计要求,我们认为该系统应该包括:(1)课程信息输入功能;(2)课程信息浏览功能;(3)按学分查询功能;(4)按课程性质查询功能;(5)数据保存功能;(6)正确退出系统功能。其中对于课程信息输入功能可以有两个实现途径:直接在系统中根据提示输入;根据系统的功能在相应文件下建立text文件直接输入课程信息。对于其余四个功能则主要是供学生选课使用。本程序将课程性质统一规定为考试和考查两种;数据保存功

8、能是为了保证在系统中直接输入的课程信息顺利保存到text文件。2、程序具体实现原理2.1 总体方案首先根据设计要求,我们定义了三个类: Class类,Control类,Menu类。Class类用来存放一系列课程的信息,以及一些获取信息的get函数;Control类是用来定义选课类的操作属性,从Control类里面来判断并实现用户所需要执行的动作;Menu类定义了菜单的操作,其中包括显示菜单,显示提示信息,获取用户从键盘输入的信息并执行。针对Class类的定义,首先我们定义了一系列的设置相关课程信息的公有函数,用来将输入的内容传给私有函数,其次定义了常函数,目的是为了防止数据被其它函数调用时发生

9、改变,同时将学分定义为浮点型,范围在010之间。针对Menu类的定义,我们先定义了一个获取键盘输入的函数getInput(),用于获取数据,接着定义了界面友好的显示目录函数,使得用户进行操作更加方便,最后定义了一系列的显示提示信息函数。为了使得在今后的修改中更加清楚方便,我们将这些函数独立分开。针对Control类的定义,因为它的目的是用于判断并实现用户所要执行的操作,是学生选课系统的核心。一切从start()函数开始,通过switch语句判断按下了哪个数字键,然后执行对应的操作,在文件录入这一方面,我定义了一个initIalization()函数,首先建立一个输入流,打开文件,将用户录入的课

10、程信息放入到变量中,再由变量放入文件中。其中的公有函数即课程设计所要求的功能部分:添加选课,浏览选课,查询选课,保存文件。私有函数我们用了链表,classList,用来一条一条记录课程信息,方便添加浏览以及查询。两种查询方法都运用了迭代器的功能,迭代器的作用相当于指针,从链表的头部一个个指向链表的末尾,用于浏览以及查询部分。最后把迭代器指向的对象每个字段写入文件中,文件名定义为classSave,保存到程序的当前目录下。最后主函数的实现,代码十分简单,先定义一个Control类的对象,ControlClass,再通过controlClass.start()启动整个程序。开发平台操作系统:Win

11、7 开发软件:Mirosoft Visual C+ 6.0基本原理开始进入系统界面进入主菜单课程信息浏览按学分查询退出课程信息录入信息存储结束按课程性质查询数据结构表1 数据结构表数据名称数据类型解释classNumstring课程编号classNamestring课程名称classPropertiesstring课程性质totalClassNumberInt总课时currentClassNumberInt授课学时expClassNumberInt上级或实验学时creditDouble学分rightTermstring开课学期类的UML图表2 Class类的UML图Class-ClassNum

12、: string-ClassName: string-ClassProperties: string-TotalClassNumber: int-currentClassNumber: int-ExpClassNumber: int-credit: double-rightTerm: string+setClassNum(classNumTemp: string)+setClassName(classNameTemp: string)+setClassProperties(classPropertiesTemp: string)+setTotalClassNumber(totalClassNu

13、mberTemp: int)+setCurrentClassNumber(currentClassNumber: int)+setExpClassNumber(expClassNumberTemp: int)+setCredit(credit: double)+setRightTerm(rightTermTemp: string)<<const>>+getClassNum():string<<const>>+getClassName():string<<const>>+getClassProperties():string

14、<<const>>+getTotalClassNumber():int<<const>>+getCurrentClassNumber():int<<const>>+getExpClassNumber():int<<const>>+getCredit() :double<<const>>+getRightTerm() :string表3 Menue类的UML图Menue<<static>>+getInput():char<<static>

15、;>+showMenu():void<<static>>+clearScreen():void<<static>>+pauseScreen():void<<static>>+showAddClass():void<<static>>+showBrowseClass():void<<static>>+showSearchByCredit():void<<static>>+showSearchByClassProperties():void<&

16、lt;static>>+showAddClassNum():void<<static>>+showAddClassName():void<<static>>+showAddClassProperties():void<<static>>+showAddCurrentClassNumber():void<<static>>+showAddExpClassNumber():void<<static>>+showLoadingSaving():void<<s

17、tatic>>+showSuccessedSaving():void<<static>>+showEachClassInfo(Class classTemp) :void<<static>>+quit():void表4 Control类的UML图Control-classList: list<Class>+Control()+Start():void+initIalization():void+addClass():void+quit():void+showAllClass():void+searchByCredit():

18、void+searchByClassProperties():void+saveClass():bool模块说明(1)课程信息录入。课程信息录入应包括:课程编号、课程名称、课程性质、总学时、授课学时、实验学时、学分、开课信息八个成员,为录入以上信息,首先使用setClassNum、setClassName、setClassProperties、setTotalClassNumber、setCurrentClassNumber、setExpClassNumber、setCredit、setRightTerm输出提示信息,其次使用addClass函数添加课程信息。(2)课程信息浏览。该功能主要是读

19、取所有的课程信息,在程序中首先通过getClassNum、getClassName、getClassProperties、getTotalClassNumber、getCurrentClassNumber、getExpClassNumber、getCredit、getRightTerm八个函数读取课程信息的相关信息,设置为静态成员函数,防止已录入的数据被篡改;其次使用showclass、showeachclassinfo函数显示全部课程信息。 (3)按学分查询。首先使用getCredit函数得到课程的学分信息,其次使用searchByCredit 函数输出 “按学分查询”的提示信息;接着使用s

20、howAddCredit函数输出“请输入学分”的提示信息;最后使用showSearchByCredit函数将查询结果输出。(4)按课程性质查询。按照课程性质的查询实现了根据课程的性质对课程的查询,程序主要通过、showAddClassProperties、setClassProperties、getClassProperties、searchByClassProperties、showSearchByClassProperties、 来实现对课程的查询,同样全部设置为静态成员函数,已经录入的数据部能被篡改,根据提示输入就能得到想要查询的内容。(5)存储信息。选择存储信息选项之后用showLoa

21、dingSaving函数进行数据的存储,显示正在存储数据。数据存储完毕后用showSuccessedSaving函数显示输出数据存储完毕。(6)退出系统。一个完整的系统应该包括退出系统,在程序中使用quit函数,在按数字键6后给出提示信息:“press any key to continue”提示使用者按任意键退出系统。2.2 程序各个功能说明 程序结构将class类的属性和行为进行封装:1.Class的封装class Class/定义了课程类的一些属性public:void setClassNum(string classNumTemp);/课程编号void setClassName(str

22、ing classNameTemp);/课程名称void setClassProperties(string classPropertiesTemp);/课程性质void setTotalClassNumber(int totalClassNumberTemp);/总学时void setCurrentClassNumber(int currentClassNumber);/授课学时void setExpClassNumber(int expClassNumberTemp);/实验或上机学时void setCredit(double credit);/学分void setRightTerm(st

23、ring rightTermTemp);/开课信息/ 录入函数设为常量函数防止信息被篡改string getClassNum() const;/ 课程编号录入string getClassName() const;/课程名称录入string getClassProperties() const;/课程性质录入int getTotalClassNumber() const;/总学时录入int getCurrentClassNumber() const;/授课学时录入int getExpClassNumber() const;/实验或上机学时录入double getCredit() const;/

24、学分录入string getRightTerm() const;/开课信息录入/ class类的私有成员private:string classNum;/课程编号string className;/课程名称string classProperties;/课程性质int totalClassNumber;/总学时int currentClassNumber;/授课学时int expClassNumber;/上级或实验学时double credit;/学分string rightTerm;/开课学期;2.Menu类的封装/menu类主要实现系统的主界面class Menupublic:char s

25、tatic getInput();void static showMenu();/显示菜单 void static clearScreen();/清屏void static pauseScreen();/暂停void static showAddClass();/显示添加课程信息的提示语void static showBrowseClass();/void static showSearchByCredit();/显示按学分查询的提示语void static showSearchByClassProperties();显示按课程性质查询的提示语void static showAddClassN

26、um();/显示输入课程编号的的提示语void static showAddClassName();/显示增加课程名称的提示语void static showAddClassProperties();/显示输入课程性质的提示语void static showAddTotalClassNumber();/显示输入总学时的提示语void static showAddCurrentClassNumber();/显示授课学时的提示语void static showAddExpClassNumber();/显示输入实验学时的提示语void static showAddCredit();/显示输入学分的提

27、示语void static showAddRightTerm();/显示开课学期的提示语void static showLoadingSaving();/显示正在存储信息的提示语 void static showSuccessedSaving();/显示信息已成功存储void static quit();/退出系统函数void static showEachClassInfo(Class classTemp);/调用class类中的对象显示信息;3 .Control类的封装class Control/定义了选课类的操作属性public:Control()void start();void in

28、itIalization(); void addClass(); void quit() ; /退出函数 void showAllClass();void searchByCredit();void searchByClassProperties();bool saveClass();private:list<Class> classList; 课程设计要求的实现/Class类中各成员函数的实现void Class:setClassNum(string classNumTemp)this->classNum = classNumTemp;/ 设置课程编号的实现void Cla

29、ss:setClassName(string classNameTemp)this->className = classNameTemp;/设置课程名称的实现void Class:setClassProperties(string classPropertiesTemp)this->classProperties = classPropertiesTemp;/设置课程性质的实现void Class:setTotalClassNumber(int totalClassNumberTemp)this->totalClassNumber = totalClassNumberTemp

30、;/设置总学时的实现void Class:setCurrentClassNumber(int currentClassNumber)this->currentClassNumber = currentClassNumber;/设置授课学时的实现void Class:setExpClassNumber(int expClassNumberTemp)this->expClassNumber = expClassNumberTemp;/设置上机或实验学时的实现void Class:setCredit(double credit)this->credit = credit;/设置课程

31、学分的实现void Class:setRightTerm(string rightTermTemp)this->rightTerm = rightTermTemp;/设置开课学期的实现string Class:getClassNum() const/设置为常函数防止数据改变return this->classNum;string Class:getClassName() constreturn this->className;string Class:getClassProperties() constreturn this->classProperties;int C

32、lass:getTotalClassNumber() constreturn this->totalClassNumber;int Class:getCurrentClassNumber() constreturn this->currentClassNumber;int Class:getExpClassNumber() constreturn this->expClassNumber;double Class:getCredit() constreturn this->credit;string Class:getRightTerm() constreturn th

33、is->rightTerm;/Menu类各成员函数的实现char Menu: getInput() /获取输入函数金融数学考试大三下char key = cin.get();return key; void Menu: showMenu() cout << " 欢迎您进入学生选课管理系统" << endl; cout << " *" << endl;cout << " " << endl;cout << "1 课程信息录入 "

34、<< endl; cout << "2 课程信息浏览功能 " << endl;cout << "3 根据学分查询 " << endl;cout << "4 按课程性质查询 " << endl;cout << "5 存储信息 " << endl; cout << "6 退出系统 " << endl;cout << " " <<

35、; endl;cout << " 请输入操作对应的序号 " << endl;cout << " *" << endl;void Menu: clearScreen()system("cls");void Menu: pauseScreen() /暂停system("pause");void Menu: showAddClass() / 显示增添课程信息cout << "请输入要添加的课程编号,课程名称,课程性质,总 学 时,授课学时,实验学时,学

36、分,开课学期等信息" << endl; void Menu: showBrowseClass()cout << "所有课程的信息为" << endl;void Menu: showSearchByCredit()cout << "按照学分查询的结果为:" << endl;void Menu: showSearchByClassProperties()cout << "按照课程性质查询的结果为:" << endl;void Menu: show

37、AddClassNum()cout << "n请输入课程编号" << endl;void Menu: showAddClassName()cout << "请输入课程名称" << endl;void Menu: showAddClassProperties()cout << "请输入课程性质" << endl;void Menu: showAddTotalClassNumber()cout << "请输入总学时" <<

38、endl;void Menu: showAddCurrentClassNumber()cout << "请输入授课学时" << endl;void Menu: showAddExpClassNumber()cout << "请输入实验或上机学时" << endl;void Menu: showAddCredit()cout << "请输入学分" << endl;void Menu: showAddRightTerm()cout << "请输入

39、开课学期" << endl;void Menu: showLoadingSaving()cout << "正在存储数据" << endl; void Menu: showSuccessedSaving()cout << "数据存储完毕" << endl;void Menu: quit()cout<<"press any key to continue"void Menu: showEachClassInfo(Class classTemp)cout &l

40、t;< "课程编号:" << classTemp.getClassNum() ;cout << " 课程名称:" << classTemp.getClassName();cout << " 课程性质:" << classTemp.getClassProperties() ;cout << " 总学时:" << classTemp.getTotalClassNumber();cout << " 授课学时:&

41、quot; << classTemp.getCurrentClassNumber() ;cout << " 实验学时:" << classTemp.getExpClassNumber();cout << " 课程学分:" << classTemp.getCredit();cout << " 开课学期:"<< classTemp.getRightTerm(); cout << " " <<endl;cout &

42、lt;< " " <<endl;/ Control类成员函数的实现void Control: start()/start里面要做的事情就是初始化界面,等待用户输入,判断输入调用initIalization();while(1)Menu:clearScreen();Menu:showMenu();/显示了界面char key = Menu:getInput();switch(key)case '1': /判断是按下了哪个按键,然后执行什么对应的操作Menu:clearScreen();Menu:showAddClass();this->

43、addClass();cin.get();cin.get();break;case '2':Menu:clearScreen();Menu:showBrowseClass();this->showAllClass();Menu:pauseScreen();break;case '3':Menu:clearScreen();this->searchByCredit();Menu:pauseScreen();break;case '4':Menu:clearScreen();this->searchByClassProperties

44、();Menu:pauseScreen();break;case '6':Menu:clearScreen();this->quit();Menu:pauseScreen();break; case '5':Menu:showLoadingSaving();if (this->saveClass()Menu:showSuccessedSaving();Menu:pauseScreen();Menu:pauseScreen();default:break;void Control: initIalization()ifstream ifs;/文件输入流

45、ifs 相当于建立一个文件ifs.open("classSave.txt",ios_base:in);if (!ifs)Menu:pauseScreen();return;Class classTemp;/class 类的一个对象 classTempif (ifs.is_open()/系统内置函数 判断文件是否打开string classNum(" ");/初始化string className(" ");string classProperties(" ");int totalClassNumber(0);int

46、 currentClassNumber(0);int expClassNumber(0);double credit(0.0);string rightTerm(" ");while(!ifs.eof()ifs >> classNum >> className >> classProperties >> totalClassNumber>> currentClassNumber >> expClassNumber >> credit >> rightTerm;/从文件读取的内容放

47、到对应的变量里面classTemp.setClassNum(classNum);classTemp.setClassName(className);classTemp.setClassProperties(classProperties);classTemp.setTotalClassNumber(totalClassNumber);classTemp.setCurrentClassNumber(currentClassNumber);classTemp.setExpClassNumber(expClassNumber);classTemp.setCredit(credit);classTem

48、p.setRightTerm(rightTerm);classList.push_back(classTemp);/在末尾添加一个变量ifs.close();void Control: addClass()/添加例如选课等操作Class classTemp;string classNum("");string className("");string classProperties("");int totalClassNumber(0);int currentClassNumber(0);int expClassNumber(0);d

49、ouble credit(0.0);string rightTerm("");Menu:showAddClassNum();cin >> classNum;classTemp.setClassNum(classNum);Menu:showAddClassName();cin >> className;classTemp.setClassName(className);Menu:showAddClassProperties();cin >> classProperties;classTemp.setClassProperties(class

50、Properties);Menu:showAddTotalClassNumber();cin >> totalClassNumber;classTemp.setTotalClassNumber(totalClassNumber);Menu:showAddCurrentClassNumber();cin >> currentClassNumber;classTemp.setCurrentClassNumber(currentClassNumber);Menu:showAddExpClassNumber();cin >> expClassNumber;class

51、Temp.setExpClassNumber(expClassNumber);Menu:showAddCredit();cin >> credit;classTemp.setCredit(credit);Menu:showAddRightTerm();cin >> rightTerm;classTemp.setRightTerm(rightTerm);classList.push_back(classTemp); void Control: quit() /退出函数exit(1);void Control: showAllClass()list<Class>

52、:iterator iter = classList.begin();int number=classList.size();for(int i=0; i<=number-2;i+)Menu:showEachClassInfo(*iter);iter+;3、调试报告3.1遇到的问题及解决办法程序最开始运行时,7条信息录入完毕后输出程序本该结束但并没有结束,而是参照第6条的数据局部复制了一条数据从而影响了按照学分查询的结果。组员之间经过细致的检查和多次的尝试均未能改变程序的结果,自主不能解决时选择请教老师解答疑难。在郭老师的帮助下,重新编写程序B代替原有的程序A。程序B:list<C

53、lass>:iterator iter = classList.begin();int number=classList.size();for(int i=0; i<=number-2;i+)Menu:showEachClassInfo(*iter);iter+;程序A:for (list<Class>:iterator iter = classList.begin();iter!= classList.end(); +iter)Menu:showEachClassInfo(*iter); 在比较这两段程序后,我们发现如果将程序B中for(int i=0; i<=

54、number-2;i+)中的i的范围改成i<=number-1,那么和程序A的效果是完全一样的。但是,从正向思维出发我们理解为i的上限可以是number-1,为达到系统要求,我们采取符合我们要求的B程序。在这个过程中,我们认为C+的强大功能在于实现市级的操作问题,所编制的程序应该为了解决问题而存在,更应该和实际相符。解决完上述问题后,程序运行后的结果中,7条信息没有空隙使结果看起来极为拥挤,让程序的使用者感到非常不舒服。为解决这一瑕疵,我们在输出条信息的完整数据后重复这样的一句代码:cout << " " <<endl;添加之后由原本的一句变为

55、两句,完好的解决了之前看起来杂乱的问题。程序的结果就是在这样一步一步的修改和调试中逐步变得接近我们想要的结果。最初的程序我们没有设计退出程序的代码,所以整个学生选课系统看似并没有结束。为使整个程序更具有完整性,在start函数进行初始化时添加一段程序C,并在addClass 函数之后添加语句void quit() 使系统结束。程序C:Menu:clearScreen();this->quit();Menu:pauseScreen();break;关于结果文本框的显示背景颜色,我们想要选择更符合人们审美和视觉倾向的蓝色,为此,在程序的最后添加这样一句语句:system("colo

56、r 1A" );使得程序运行结果的背景颜色由原本的黑色转变为我们想要的蓝色。至此,已基本完成程序的设计,大致完成我们想要的运行结果。以上四点就是我们小组在学生选课系统中所遇到的问题,以及面对不同的问题做出的解决方案。3.2程序调试及运行结果图1 系统界面 按数字键1后出现课程信息录入界面,根据提示依次输入相关数据,得到下图二。图2 课程信息录入功能的实现信息录入完毕后选择数字5选项进行数据存储得到图三。图3 存储信息功能的实现 调用text文件按数字键2选择浏览所有课程信息输出所有课程信息,得到图四。图4 课程信息浏览功能的实现 按数字键3选择按学分查询,输入学分为4查询到学分为4的所有课程的课程信息得到图五。图5 按学分查询功能的实现按数字键4选择按课程性质查询,输入课程性质为考试查询到课程性质是考试的所有课程的课程信息得到图六。图6 按课程性质查询功能的实现 最后选择数字键5退出学生选课系统,得到图七。图7 退出系统功能的实现4、心得体会虽然仅仅是几天的课堂上机时间,然而我们在课下也为这个课程设

温馨提示

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

评论

0/150

提交评论