




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1、课题目标11.1 设计要求1.1.2 选题背景1.1.3 课题意义1.1.4 功能需求分析2.1.5 系统功能分析2.2、程序具体实现原理32.1 总体方案3.2.1.1 开发平台3.2.1.2 基本原理4.2.1.3 数据结构4.2.1.4 类的UML图5.2.1.5 模块说明6.2.2 程序各个功能说明7.2.2.1 程序结构7.2.2.2 课程设计要求的实现9.3、调试报告143.1 遇到的问题及解决办法1.43.2 程序调试及运行结果1.5.4、总结195、参考文献19附录201、课题目标1.1 设计要求假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验
2、或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于10)自由选课。试设计一个选修课程系统,使之能提供以下功能:1.系统以菜单方式工作;2 .课程信息录入功能(课程信息用文件保存);3 .课程信息浏览功能;4 .查询功能(至少一种查询方式:按学分查询、按课程性质查询);5 .学生选修课程。6 .2选题背景当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最到好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信
3、息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了管理好学生选课信息而设计的。随着高校的多样全面发展,学生的人数和课程的种类急速增加,传统的选课管理模式已经无法满足当前的实际需求,学生选课作为一种信息资源的集散地,包含很多的信息数据的管理。由于数据繁多,容易丢失,且不易查找。并且数据处理手工操作工作量大,出错率高,出错后不易更改,造成各种不便,总的来说,缺乏系统,规范的信息管理手段。尽管有的学校有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是学生选课管理信息系统的开发基本环境背景。7 .3课题意义基于以上问题,我们认为有必要建立一个学生选课
4、管理信息系统,使学生选课信息管理工作规范化、系统化、程序化,以避免学生选课管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改选课情况系统实现后,极大的方便对学生进行选课和选课后班级的安排管理工作,学生选课信息的管理。避免在安排课程信息的滞后,减少信息交流的繁琐过程及其带来的额外开销。促进高校教育的计算机信息化进程,提高高校的工作效率。并且对于系统本身而言,具有更高的使用性、安全性。能够满足学生选课,以及学生对选课信息的管理。同时,通过该课程设计,我们可以达到把C+取序设计理论知识更加的巩固加深,加强动手操作能力与实践能力,学以致用,与现实生活中的应用充分的结合起来,也实
5、现了知识的活学活用。8 .4功能需求分析一个完善的学生选课管理信息系统能够极大的提高学生选课信息的管理效率,具有检索迅速,查找方便,可靠性高,存储量大,更新快,寿命长,成本低等优点。本系统主要可以实现以下任务目标:1、系统可以准确的记录和查询学生、老师以及所开设的课程的基本信息2、学生登录系统后可以根据本专业制定的教学计划进行选课操作,可以查询个人的基本信息性能需求:本学生信息管理系统要能够抵御用户可能的各种操作,包括修改、更新、删除等操作,以保证软件的可行性、稳定性、健壮性,同时要对数据进行检验,保证数据有效性,可操作性,安全性。同时普通用户登录只有浏览的权限。系统的非功能性需求:实用性:系
6、统以用户需求为目标,以方便用户为原则。根据用户实际的需求情况,度身订造一套先进的局域网数据传输,从用户角度出发尽可能的方使用户使用,满足基本的用户需要,成为学校等通用的网络软件。高可靠性:一个实用的系统同时必须是可靠的,本设计通过合理而先进的网络设计以及软、硬件的优化选型,可保证系统数据传输的正确性。高安全性:在设计中,将充分利用网络软、硬件提供的各种安全措施,既可以保证用户共享资源,同时也可保证关键数据的安全性。可扩展性及灵活性:系统的设计以方便未来业务的扩展和系统扩充为目标,系统要求能够方便的升级,充分保护系统的投资。智能型:系统在设计时,充分考虑系统运行的智能性,在使用系统一段时问后,系
7、统可以适应于任何局域网。9 .5系统功能分析根据设计要求,我们认为该系统应该包括:(1)课程信息输入功能;(2)课程信息浏览功能;(3)按学分查询功能;(4)按课程性质查询功能;(5)数据保存功能;(6)正确退出系统功能。其中对于课程信息输入功能可以有两个实现途径:直接在系统中根据提示输入;根据系统的功能在相应文件下建立text文件直接输入课程信息。对于其余四个功能则主要是供学生选课使用。本程序将课程性质统一规定为考试和考查两种;数据保存功能是为了保证在系统中直接输入的课程信息顺利保存到text文件。2、程序具体实现原理2.1总体方案首先根据设计要求,我们定义了三个类:Class类,Contr
8、ol类,Menu类。Class类用来存放一系列课程的信息,以及一些获取信息的get函数;Control类是用来定义选课类的操作属性,从Control类里面来判断并实现用户所需要执行的动作;Menu类定义了菜单的操作,其中包括显示菜单,显示提示信息,获取用户从键盘输入的信息并执行。针对Class类的定义,首先我们定义了一系列的设置相关课程信息的公有函数,用来将输入的内容传给私有函数,其次定义了常函数,目的是为了防止数据被其它函数调用时发生改变,同时将学分定义为浮点型,范围在010之间。针对Menu类的定义,我们先定义了一个获取键盘输入的函数getInput(),用于获取数据,接着定义了界面友好的
9、显示目录函数,使得用户进行操作更加方便,最后定义了一系列的显示提示信息函数。为了使得在今后的修改中更加清楚方便,我们将这些函数独立分开。针对Control类的定义,因为它的目的是用于判断并实现用户所要执行的操作,是学生选课系统的核心。一切从start()函数开始,通过switch语句判断按下了哪个数字键,然后执行对应的操作,在文件录入这一方面,我定义了一个initIalization()函数,首先建立一个输入流,打开文件,将用户录入的课程信息放入到变量中,再由变量放入文件中。其中的公有函数即课程设计所要求的功能部分:添加选课,浏览选课,查询选课,保存文件。私有函数我们用了链表,classLis
10、t,用来一条一条记录课程信息,方便添加浏览以及查询。两种查询方法都运用了迭代器的功能,迭代器的作用相当于指针,从链表的头部一个个指向链表的末尾,用于浏览以及查询部分。最后把迭代器指向的对象每个字段写入文件中,文件名定义为classSave保存到程序的当前目录下。最后主函数的实现,代码十分简单,先定义一个Control类的对象,ControlClass,再通过controlClass.start()启动整个程序。2.1.1开发平台操作系统:Win7开发软件:MirosoftVisualC+6.02.1.2基本原理2.1.3数据结构表1数据结构表数据名称数据类型解释classNumstring课程
11、编号classNamestring课程名称classPropertiesstring课程性质totalClassNumberInt总课时currentClassNumberInt授课学时expClassNumberInt上级或实验学时creditDouble学分rightTermstring开课学期2.1.4类的UML图表2Class类的UML图Class-ClassNum:string-ClassName:string-ClassProperties:string-TotalClassNumber:int-currentClassNumber:int-ExpClassNumber:int-c
12、redit:double-rightTerm:string+setClassNum(classNumTemp:string)+setClassName(classNameTemp:string)+setClassProperties(classPropertiesTemp:string)+setTotalClassNumber(totalClassNumberTemp:int)+setCurrentClassNumber(currentClassNumber:int)+setExpClassNumber(expClassNumberTemp:int)+setCredit(credit:doub
13、le)+setRightTerm(rightTermTemp:string)<<const>>+getClassNum():string<<const>>+getClassName():string<<const>>+getClassProperties():string<<const>>+getTotalClassNumber():int<<const>>+getCurrentClassNumber():int<<const>>+getExpClas
14、sNumber():int<<const>>+getCredit():double<<const>>+getRightTerm():string表3Menue类的UML图Menue<<static>>+getInput():char<<static>>+showMenu():void<<static>>+clearScreen():void<<static>>+pauseScreen():void<<static>>+showA
15、ddClass():void<<static>>+showBrowseClass():void<<static>>+showSearchByCredit():void<<static>>+showSearchByClassProperties():void<<static>>+showAddClassNum():void<<static>>+showAddClassName():void<<static>>+showAddClassProperties
16、():void<<static>>+showAddCurrentClassNumber():void<<static>>+showAddExpClassNumber():void<<static>>+showLoadingSaving():void<<static>>+showSuccessedSaving():void<<static>>+showEachClassInfo(ClassclassTemp):void<<static>>+quit():
17、void表4Control类的UML图Control-classList:list<Class>+Control()+Start():void+initIalization():void+addClass():void+quit():void+showAllClass():void+searchByCredit():void+searchByClassProperties():void+saveClass():bool2.1.5模块说明(1)课程信息录入。课程信息录入应包括:课程编号、课程名称、课程性质、总学时、授课学时、实验学时、学分、开课信息八个成员,为录入以上信息,首先使用s
18、etClassNum、setClassName、setClassProperties、setTotalClassNumbersetCurrentClassNumbersetExpClassNumbersetCredit、setRightTerm输出提示信息,其次使用addClass函数添加课程信息。(2)课程信息浏览。该功能主要是读取所有的课程信息,在程序中首先通过getClassNum、getClassNamegetClassPropertiesgetTotalClassNumber、getCurrentClassNumbergetExpClassNumbeKgetCredit、getRig
19、htTerm/l个函数读取课程信息的相关信息,设置为静态成员函数,防止已录入的数据被篡改;其次使用showclassshoweachclassinfo函数显示全部课程信息。(3)按学分查询。首先使用getCredit函数得到课程的学分信息,其次使用searchByCredit函数输出“按学分查询”的提示信息;接着使用showAddCredit函数输出“请输入学分”的提示信息;最后使用showSearchByCredit函数将查询结果输出。(4)按课程性质查询。按照课程性质的查询实现了根据课程的性质对课程的查询,程序主要通过、showAddClassProperties、setClassProp
20、erties、getClassPropertiessearchByClassPropertiesshowSearchByClassProperties来实现对课程的查询,同样全部设置为静态成员函数,已经录入的数据部能被篡改,根据提示输入就能得到想要查询的内容。(5)存储信息。选择存储信息选项之后用showLoadingSaving函数进行数据的存储,显示正在存储数据。数据存储完毕后用showSuccessedSavingS数显示输出数据存储完毕。(6)退出系统。一个完整的系统应该包括退出系统,在程序中使用quit函数,在按数字键6后给出提示信息:“pressanykeytocontinue提示
21、使用者按任意键退出系统。2.2程序各个功能说明2.2.1 程序结构将class类的属性和行为进行封装:1 .Class的封装classClass定义了课程类的一些属性public:voidsetClassNum(stringclassNumTemp);/课程编号voidsetClassName(stringclassNameTemp);/课程名称voidsetClassProperties(stringclassPropertiesTemp);/课程性质voidsetTotalClassNumber(inttotalClassNumberTemp);/总学时voidsetCurrentClas
22、sNumber(intcurrentClassNumber);/授课学时voidsetExpClassNumber(intexpClassNumberTemp);/实验或上机学时voidsetCredit(doublecredit);/学分voidsetRightTerm(stringrightTermTemp);/开课信息/录入函数设为常量函数防止信息被篡改stringgetClassNum()const;/课程编号录入stringgetClassName()const;/课程名称录入stringgetClassProperties()const;/课程性质录入intgetTotalClas
23、sNumber()const;/总学时录入intgetCurrentClassNumber()const;/授课学时录入intgetExpClassNumber()const;/实验或上机学时录入doublegetCredit()const;/学分录入stringgetRightTerm()const;/开课信息录入/class类的私有成员private:stringclassNum;/课程编号stringclassName;/课程名称stringclassProperties;/课程性质inttotalClassNumber;/总学时intcurrentClassNumber;/授课学时in
24、texpClassNumber;/上级或实验学时doublecredit;/学分stringrightTerm;/开课学期;2 .Menu类的封装/menu类主要实现系统的主界面classMenupublic:charstaticgetInput();voidstaticshowMenu();/显示菜单voidstaticclearScreen();/清屏voidstaticpauseScreen();暂停voidstaticshowAddClass();/显示添加课程信息的提示语voidstaticshowBrowseClass();/voidstaticshowSearchByCredit
25、();/显示按学分查询的提示语voidstaticshowSearchByClassProperties();显示按课程性质查询的提示语voidstaticshowAddClassNum();/显示输入课程编号的的提示语voidstaticshowAddClassName();/显示增加课程名称的提示语voidstaticshowAddClassProperties();/显示输入课程性质的提示语voidstaticshowAddTotalClassNumber();/显示输入总学时的提示语voidstaticshowAddCurrentClassNumber();/显示授课学时的提示语voi
26、dstaticshowAddExpClassNumber();显示输入实验学时的提示语voidstaticshowAddCredit();显示输入学分的提示语voidstaticshowAddRightTerm();/显示开课学期的提示语voidstaticshowLoadingSaving();/显示正在存储信息的提示语voidstaticshowSuccessedSaving();/显示信息已成功存储voidstaticquit();/退出系统函数voidstaticshowEachClassInfo(ClassclassTemp);/调用class类中的对象显示信息;3 .Control
27、类的封装classControl/定义了选课类的操作属性public:Control()voidstart();voidinitIalization();voidaddClass();voidquit();退出函数voidshowAllClass();voidsearchByCredit();voidsearchByClassProperties();boolsaveClass();private:list<Class>classList;;2.2.2 课程设计要求的实现/Class类中各成员函数的实现voidClass:setClassNum(stringclassNumTemp
28、)this->classNum=classNumTemp;/设置课程编号的实现voidClass:setClassName(stringclassNameTemp)this->className=classNameTemp;设置课程名称的实现voidClass:setClassProperties(stringclassPropertiesTemp)this->classProperties=classPropertiesTemp;设置课程性质的实现voidClass:setTotalClassNumber(inttotalClassNumberTemp)this->t
29、otalClassNumber=totalClassNumberTemp;设置总学时的实现voidClass:setCurrentClassNumber(intcurrentClassNumber)this->currentClassNumber=currentClassNumber;设置授课学时的实现voidClass:setExpClassNumber(intexpClassNumberTemp)this->expClassNumber=expClassNumberTemp;/设置上机或实验学时的实现voidClass:setCredit(doublecredit)this-&
30、gt;credit=credit;设置课程学分的实现voidClass:setRightTerm(stringrightTermTemp)this->rightTerm=rightTermTemp;设置开课学期的实现stringClass:getClassNum()const/设置为常函数防止数据改变returnthis->classNum;stringClass:getClassName()constreturnthis->className;stringClass:getClassProperties()constreturnthis->classPropertie
31、s;intClass:getTotalClassNumber()constreturnthis->totalClassNumber;intClass:getCurrentClassNumber()constreturnthis->currentClassNumber;intClass:getExpClassNumber()constreturnthis->expClassNumber;doubleClass:getCredit()constreturnthis->credit;stringClass:getRightTerm()constreturnthis->r
32、ightTerm;/Menu类各成员函数的实现charMenu:getInput()/获取输入函数金融数学考试大三下charkey=cin.get();returnkey;voidMenu:showMenu()cout<<"欢迎您进入学生选课管理系统"<<endl;cout<<"*"<<endl;cout<<""<<endl;cout<<"1课程信息录入"<<endl;cout<<"2课程信息浏览功
33、能"<<endl;cout<<"3根据学分查询"<<endl;cout<<"4按课程性质查询"<<endl;cout<<"5存储信息"<<endl;cout<<"6退出系统"<<endl;cout<<""<<endl;cout<<"请输入操作对应的序号"<<endl;cout<<"*&quo
34、t;<<endl;voidMenu:clearScreen()system("cls");voidMenu:pauseScreen()暂停system("pause");voidMenu:showAddClass()/显示增添课程信息cout<<"请输入要添加的课程编号,课程名称,课程性质,总学时,授课学时,实验学时,学分,开课学期等信息"<<endl;voidMenu:showBrowseClass()cout<<"所有课程的信息为"<<endl;voi
35、dMenu:showSearchByCredit()cout<<"按照学分查询的结果为:"<<endl;voidMenu:showSearchByClassProperties()cout<<"按照课程性质查询的结果为:"<<endl;voidMenu:showAddClassNum()cout<<"n请输入课程编号"<<endl;voidMenu:showAddClassName()cout<<"请输入课程名称"<<e
36、ndl;voidMenu:showAddClassProperties()cout<<"请输入课程性质"<<endl;voidMenu:showAddTotalClassNumber()cout<<"请输入总学时"<<endl;voidMenu:showAddCurrentClassNumber()cout<<"请输入授课学时"<<endl;voidMenu:showAddExpClassNumber()cout<<"请输入实验或上机学时&q
37、uot;<<endl;voidMenu:showAddCredit()cout<<"请输入学分"<<endl;voidMenu:showAddRightTerm()cout<<"请输入开课学期"<<endl;voidMenu:showLoadingSaving()cout<<"正在存储数据"<<endl;voidMenu:showSuccessedSaving()cout<<"数据存储完毕"<<endl;vo
38、idMenu:quit()cout<<"pressanykeytocontinue"voidMenu:showEachClassInfo(ClassclassTemp)cout<<"课程编号:"<<classTemp.getClassNum();cout<<"课程名称:"<<classTemp.getClassName();cout<<"课程T质:"<<classTemp.getClassProperties();cout<&
39、lt;"总学时:"<<classTemp.getTotalClassNumber();cout<<"授课学时:"<<classTemp.getCurrentClassNumber();cout<<"实验学时:"<<classTemp.getExpClassNumber();cout<<"课程学分:"<<classTemp.getCredit();cout<<"开课学期:"<<classTe
40、mp.getRightTerm();cout<<""<<endl;cout<<""<<endl;/Control类成员函数的实现voidControl:start()/start里面要做的事情就是初始化界面,等待用户输入,判断输入调用initIalization();while(1)Menu:clearScreen();Menu:showMenu();显示了界面charkey=Menu:getInput();switch(key)case'1':/RJ断是按下了哪个按键,然后执行什么对应的操
41、作Menu:clearScreen();Menu:showAddClass();this->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:
42、clearScreen();this->searchByClassProperties();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;voidCon
43、trol:initIalization()ifstreamifs;文件输入流ifs相当于建立一个文件ifs.open("classSave.txt",ios_base:in);if(!ifs)Menu:pauseScreen();return;ClassclassTemp;class类的个对象classTempif(ifs.is_open()系统内置函数判断文件是否打开stringclassNum("");初始化stringclassName("");stringclassProperties("");inttot
44、alClassNumber(0);intcurrentClassNumber(0);intexpClassNumber(0);doublecredit(0.0);stringrightTerm("");while(!ifs.eof()ifs>>classNum>>className>>classProperties>>totalClassNumber>>currentClassNumber>>expClassNumber>>credit>>rightTerm;/从文件读取的内容放
45、到对应的变量里面classTemp.setClassNum(classNum);classTemp.setClassName(className);classTemp.setClassProperties(classProperties);classTemp.setTotalClassNumber(totalClassNumber);classTemp.setCurrentClassNumber(currentClassNumber);classTemp.setExpClassNumber(expClassNumber);classTemp.setCredit(credit);classTem
46、p.setRightTerm(rightTerm);classList.push_back(classTemp);/在末尾添加一个变量ifs.close();添加例如选课等操作voidControl:addClass()ClassclassTemp;stringclassNum("");stringclassName("");stringclassProperties("");inttotalClassNumber(0);intcurrentClassNumber(0);intexpClassNumber(0);doublecredi
47、t(0.0);stringrightTerm("");Menu:showAddClassNum();cin>>classNum;classTemp.setClassNum(classNum);Menu:showAddClassName();cin>>className;classTemp.setClassName(className);Menu:showAddClassProperties();cin>>classProperties;classTemp.setClassProperties(classProperties);Menu:s
48、howAddTotalClassNumber();cin>>totalClassNumber;classTemp.setTotalClassNumber(totalClassNumber);Menu:showAddCurrentClassNumber();cin>>currentClassNumber;classTemp.setCurrentClassNumber(currentClassNumber);Menu:showAddExpClassNumber();cin>>expClassNumber;classTemp.setExpClassNumber(e
49、xpClassNumber);Menu:showAddCredit();cin>>credit;classTemp.setCredit(credit);Menu:showAddRightTerm();cin>>rightTerm;classTemp.setRightTerm(rightTerm);classList.push_back(classTemp);voidControl:quit()退出函数exit(1);voidControl:showAllClass()list<Class>:iteratoriter=classList.begin();int
50、number=classList.size();for(inti=0;i<=number-2;i+)Menu:showEachClassInfo(*iter);iter+;3、调试报告3.1 遇到的问题及解决办法程序最开始运行时,7条信息录入完毕后输出程序本该结束但并没有结束,而是参照第6条的数据局部复制了一条数据从而影响了按照学分查询的结果。组员之间经过细致的检查和多次的尝试均未能改变程序的结果,自主不能解决时选择请教老师解答疑难。在郭老师的帮助下,重新编写程序B代替原有的程序Ao程序B:list<Class>:iteratoriter=classList.begin();
51、intnumber=classList.size();for(inti=0;i<=number-2;i+)Menu二showEachClassInfo(*iter);iter+;程序A:for(list<Class>:iteratoriter=classList.begin();iter!=classList.end();+iter)Menu:showEachClassInfo(*iter);在比较这两段程序后,我们发现如果将程序B中for(inti=0;i<=number-2;i+)中的i的范围改成i<=number-1,那么和程序A的效果是完全一样的。但是,从
52、正向思维出发我们理解为i的上限可以是number-1,为达到系统要求,我们采取符合我们要求的B程序。在这个过程中,我们认为C+的强大功能在于实现市级的操作问题,所编制的程序应该为了解决问题而存在,更应该和实际相符。解决完上述问题后,程序运行后的结果中,7条信息没有空隙使结果看起来极为拥挤,让程序的使用者感到非常不舒服。为解决这一瑕疵,我们在输出条信息的完整数据后重复这样的一句代码:cout<<""<<endl;添加之后由原本的一句变为两句,完好的解决了之前看起来杂乱的问题。程序的结果就是在这样一步一步的修改和调试中逐步变得接近我们想要的结果。最初的程
53、序我们没有设计退出程序的代码,所以整个学生选课系统看似并没有结束。为使整个程序更具有完整性,在start函数进行初始化时添加一段程序C,并在addClass函数之后添加语句voidquit()使系统结束。程序C:Menu二clearScreen();this->quit();Menu二pauseScreen();break;关于结果文本框的显示背景颜色,我们想要选择更符合人们审美和视觉倾向的蓝色,为此,在程序的最后添加这样一句语句:system("color1A");使得程序运行结果的背景颜色由原本的黑色转变为我们想要的蓝色。至此,已基本完成程序的设计,大致完成我们想
54、要的运行结果。以上四点就是我们小组在学生选课系统中所遇到的问题,以及面对不同的问题做出的解决方案。3.2 程序调试及运行结果请输入操作对应的序号1_豆_豆123456能功询入普查潘直质息息分售心统滞出果褥艰e统按数字键1后出现课程信息录入界面,根据提示依次输入相关数据,得到下图二。力】fCsXDocuKciitszindSct±ingsVAdninistrzttorDebugCpp1.0x0请愉人摹添加的课程编号,课程自称,课程性质,开忧学期辱信息总干叼,接评-竽叼,客险竽时,'tR,-|g|x|请输入课程编号爨港程名称戛掣入课程性质富篇人总学时詈输入授课学时24请输入实脸或
55、上机学时霜输入学分,警开课学期图2课程信息录入功能的实现信息录入完毕后选择数字5选项进行数据存储得到图三口苧生选谛官理系统息息容息统信值系课退(I览功能质查询请输入操作对应的序号KMKXKMMXKMMXKMMXKMMXKMMXKMMXKMMKKMMKMMK11在存储数:图3存储信息功能的实现调用text文件按数字键2选择浏览所有课程信息输出所有课程信息,得到图四。亟所直课程的信息为慷程编号:则实验学时二国隔程编号海被实验学时;如脆鬻:尸殳计噌然学分析课程性质:考试开课学期:大三下课程性质:考试开课学期;大一上授课学时:40总学时:罂授课学时:唯牌程编号;酿3实验学时:10,程编号海04实验学时
56、小,程编号小飓实验学时:10课程锣:公共关系埠程军分二2量爵变干息理论遥鼾英语课程性质:考查开课学期:大三下课程性质:考查开课学期:大三下课程性质:考试开簿学期;大一上下总学时:皿总学时:罂总学时:独总学时:28授课学时:60授课学时;如授课学时:如c:*C:Docu>entsandSEtting£Ad*in:L£tratnr桌面、新建文件夹DcbugTc+.cec情按任意键继续.Ld图4课程信息浏览功能的实现按数字键3选择按学分查询,输入学分为4查询到学分为4的所有课程的课程信息得到图五。按数字键4选择按课程性质查询,输入课程性质为考试查询到课程性质是考试的所有课程
57、的课程信息得到图六。图6按课程性质查询功能的实现最后选择数字键5退出学生选课系统,得到图七。*C:Docu>entsand号©!±111名3山(1»111运11:/十01:桌面新建文件夹。1111810+-©区pPressanykeytocontinue图7退出系统功能的实现4、心得体会虽然仅仅是几天的课堂上机时间,然而我们在课下也为这个课程设计做出很多的努力,尤其是在紧张的复习周,这足以证明着我们组每一个人对待C+课程设计的态度端正立场坚定。作为非计算机专业的学生,我对C+勺了解仅限于皮毛,如若仅凭个人能力,这么短的时间内我想无论如何都是做不出这
58、样一个我自己看来还算是可以的数据库设计的。能在规定的时间内完成各个步骤要感谢组里的每一位组员,我们分工明确并且认真完成自己的任务才得以实现了高效率。首先,我把自己的思路告诉我的组员,他们在肯定我的想法的同时为那些不太完美的地方提出的不一样的见解,可谓是每一个人的good结合在一起就可以形成perfect。真正程序运行的时候出现各种问题,需要反反复复的修改,最后在老师的帮助下我们基本上得到了想要的结果。在和同学交流的时候我发现我的专业知识并不是那么的牢固,我发挥自己优势的同时向别人学习以弥补自己的不足,正所谓三人行必有我师。一个人不可能十全十美,但我想要接近完美的自己。三个人的合作不可能是完美无
59、缺毫无瑕疵的,我们虽有着相同的目标,但在其中却也有过分歧有过争吵有过埋怨,更多的还是三人同心协力团结一致把题目完成。往前翻看到那些亲手码上去的文字和截图后的图片还能感受到某一时刻阶段性完工时自信满满的心理情绪,某一段因为一个小问题卡住的无奈与思考,某一部分因为意见不合争吵的面红耳赤。所有这些小心情都是我在这次课程设计途中收获的小幸福,我们面临着一年以后的毕业,即使是吵架的时间也会觉得难能可贵,本科阶段也许这样的合作机会已经不多了,这期间的种种情感都必然我的心理财富。我可能不会走上C+叫言程序设计的专业道路,可能不会让其成为我的职业,但计算机已经成为现代社会职业人不可或缺的一种工具,这段时间的知识储备所具有的能量也许会在未来的某一天显现出来。我很感谢能有机会学习这样一门课程经历这样一次课程设计,并且我在用心对待认真去做,把它当成一件事情去做,这种心理的成就感我觉得很满足。5、参考文献1 .郑莉,董渊,何江舟.C+语言程序设计M.北京:清华大学出版社,2010.2 .谭浩强.C+程序设计M.北京:清华大学出版社,20043 .陈维兴.C+面向对象程序设计第三版M.北京:清华大学出版社,201
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论