学生选修课程系统《C++语言程序设计》.doc

上传人:精*** 文档编号:854081 上传时间:2023-09-16 格式:DOC 页数:14 大小:166.86KB
下载 相关 举报
学生选修课程系统《C++语言程序设计》.doc_第1页
第1页 / 共14页
学生选修课程系统《C++语言程序设计》.doc_第2页
第2页 / 共14页
学生选修课程系统《C++语言程序设计》.doc_第3页
第3页 / 共14页
学生选修课程系统《C++语言程序设计》.doc_第4页
第4页 / 共14页
学生选修课程系统《C++语言程序设计》.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

1、辽 宁 工 业 大 学 课 程 设 计 说 明 书(论 文) 目 录第1章 课程设计目的与要求11.1 设计目的11.2实验环境11.3预备知识11.4设计要求1第2章 课程设计内容22.1 课题描述22.2 系统设计22.2.1功能分析32.2.2面向对象设计32.2.3类成员描述52.3程序实现62.3.1源码分析62.3.2运行结果9第3章 课程设计总结12参考文献13第1章 课程设计目的与要求1.1 设计目的将理论教学中涉及到的知识点贯穿起来,对不同的数据类型、程序控制结构、数据结构作一比较和总结,结合设计题目进行综合性应用,对所学知识达到融会贯通的程度。通过课程设计,学生在下述各方面

2、的能力应该得到锻炼:(1)进一步巩固、加深学生所学专业课程C+语言教程的基本理论知识,理论联系实际,进一步培养学生综合分析问题,解决问题的能力。(2)全面考核学生所掌握的基本理论知识及其实际业务能力,从而达到提高学生素质的最终目的。(3)利用所学知识,开发小型应用系统,掌握运用C+语言编写调试应用系统程序,训练独立开发应用系统,进行数据处理的综合能力。(4)对于给定的设计题目,如何进行分析,理清思路,并给出相应的数学模型。(5)掌握面向对象程序设计的方法。(6)熟练掌握C+语言的基本语法,灵活运用各种数据类型。(7)进一步掌握在集成环境下如何调试程序和修改程序。1.2实验环境硬件要求能运行Wi

3、ndows 操作系统的微机系统。C+语言应用程序开发软件使用:VC+ 系统,或其他C+语言应用程序开发软件。1.3预备知识熟悉C+语言程序设计的基本知识及VC+编辑器的使用方法。1.4设计要求1.仔细分析设计题目,画出程序流程图,编写程序源代码。2.积极上机调试源程序,增强编程技巧与调程能力。3.认真书写课程设计预习报告,课程设计说明书。4.遵守课程设计要求和机房管理制度,服从指导教师的安排,确保课程设计的顺利完成课程设计内容。第2章 课程设计内容2.1 课题描述当今时代是飞速发展的信息时代。在各行各业中离不开信息处. 理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它

4、能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。 本系统就是为了管理好选课信息而设计的。学校作为一种信息资源的集散地,学生和课程繁多,包含很多的信息数据的管理,现今,有很多的学校都是初步开始使用,甚至尚未使用计算机进行信息管理。根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于选课情况的统计和查询等往往采用对课程的人工检查进行,对学生的选课权限、以及选课代号等用人工计算、手抄进行。数据信息处理工

5、作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。尽管学校都有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发的基本环境。数据处理手工操作,工作量大,出错率高,出错后不易更改。学校采取手工方式对学生选课情况进行人工管理,由于信息比较多,选课信息的管理工作混乱而又复杂;一般选课情况是记录在文件上,课程的数目和代号也记录在文件中,学校的工作人员也只是当时对它比较清楚,时间长了,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。如要对很长时间以前的选课进行更改就更加困难了。 基于这些问题,我认为有

6、必要建立一个学生选课系统,使选课管理工作规范化,系统化,程序化,避免选课管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改选课情况。2.2 系统设计系统设计是新系统的物理设计阶段。根据系统分析阶段所确定的新系统的逻辑模型、功能要求,在用户提供的环境条件下,设计出一个能在计算机网络环境上实施的方案,即建立新系统的物理模型。2.2.1功能分析学生选修课程系统作为信息管理系统的一个分支,已逐渐成为学校信息化建设的重要组成部分,为学校管理全校的院系班级和学生提供了一个功能强大、安装部署方便、使用成本低、操作简捷的学生信息查询系统,不仅能够提高工作的效益,也为最终实现有效的“无纸

7、化办公”和更加广泛的“电子事务”奠定了基础。功能:1.课程信息录入(老师端):对老师所教授的课进行性详细的录入。2.课程信息浏览:对录入的信息进行查看有多少科。3.学生信息录入(老师端):老师对学生的的详细信息录入。4.学生选修课程(学生端)学生对自己要选的科目进行选课。5.学生信息查询:学生对自己所选的课程进行查询。6.学生课程信息修改:学生对自己不满意或者自己选错的科目进行更改。7.退出:系统的退出.2.2.2面向对象设计1.类的设计本程序设计了class course类、jilei类、jlc类等。class course类作用:变量声明。jilei类作用:显示面板信息。jlc类作用:描绘

8、踪迹。基类为jilei类、IGraphicOut类、CTraceFn类。派生类jlc类由jilei类继承。 2.UML类图 1).course类图course-bh:int-mc10: char-xz10: char-zxs: int-skxs int-sjxs: int-xf: int-kkxq: int+put_course():void+scan_course():void+check_course(): void+change_course(): void+put_student(): void+elect_course(): void+timeUp(): void图2.1 cours

9、e类2). jilei类图jilei-n:int-m: int-i int-j: int-id: int-l: int+jc():void+jc():void+sc():void+ps():void+ec():void+che():void+cha():void图2.2 jilei类3.UML图下图是整体UML图图2.3 整体UML程图4.总体流程图下图为总体系统流程图YYYYYYint s;s=1a,jc();break;s;return 0;s=2s=3break;a,sc();s;break;a,ps();s;s=4s=5break;a,ec();s;break;a,che(); s;s

10、=6break;a,cha();s;Cout对不起输入错误;NNNNNN图2.4 总体流程图2.2.3类成员描述1. course类:描述控制游戏。数据成员:bh的类型为int,课程的编号mc10的类型为char,课程的名称。zxs的类型为int,课程的性质。skxs的类型为int,课程的总学时。sjxs的类型为int,课程的授课学时。xf的类型为int,课程的学分。kkxq的类型为int,课程的开课学期。 成员函数:函数put_course():课程信息录入函数,返回值类型为int函数scan_course():课程信息浏览,返回值类型为void 函数check_course():学生信息录

11、入,返回值类型void函数change_course():学生选修课程,返回值类型 void函数put_student():学生信息查询,返回值类型void函数elect_course():学生课程信息修改,返回值类型 void2.3程序实现程序是现实对程序的代码和窗体运行结果的是否有误来说的,程序实现主要包括一下两方面:代码分析和运行结果,开软件开发的最后阶段就是这两方面,所以程序实现是验证系统的正确性重要环节。2.3.1源码分析下面为部分的代码实现:class jilei / jilei类public:void put_course() /定义了个课程信息录入方法int m,n;class

12、 data;cout请输入要录入课程的门数:n;ofstream data(course_information.txt,ios:app);cout*endl;cout 课程信息录入页 endl;cout*endl;for(m=0;mn;m+) cout请输入课程的 编号 名称 性质 总学时 授课学时 上机学时 学分 开课学期endl; cout coursem.bhcoursem.mccoursem.xzcoursem.zxscoursem.skxscoursem.sjxscoursem.xfcoursem.kkxq; datacoursem.bh ; datacoursem.mc ; da

13、tacoursem.xz ; datacoursem.zxs ; datacoursem.skxs ; datacoursem.sjxs ; datacoursem.xf ; datacoursem.kkxqendl;data.close();void check_course() /学生信息查询方法int m,i;cout*endl;cout 学生信息查询页 endl;cout*endl;ifstream infile(student_course.txt,ios:in); /查看文件文本if (!infile) /判断是否存在文本coutopen error!endl; /没有文本显示出错

14、exit(1);for (m=0;mSIZE;m+)for (i=0;istudi.codestudi.namestudi.clascoursem.bhcoursem.mccoursem.xzcoursem.zxscoursem.skxscoursem.sjxscoursem.xfcoursem.kkxq;infile.close();cout学生信息为:endl;for (m=0;mSIZE;m+)for (i=0;ihuman;i+)coutstudi.code studi.name studi.clas coursem.bh coursem.mc coursem.xz coursem.z

15、xs coursem.skxs coursem.sjxs coursem.xf coursem.kkxqendl;cout查询完毕!endl; void put_student() /学生信息录入方法int i,j;cout*endl;cout 学生信息录入页 endl;cout*endl; cout请输入要录入信息的学生人数:j;ofstream outfile(student.txt,ios:app);for (i=0;ij;i+)cout请输入学生的 姓名 学号:studi.namestudi.code;outfilestudi.name studi.codeendl;outfile.c

16、lose(); class jcl:public jilei /继承jilei类public:jc()jilei:put_course(); /调用jilei方法sc()jilei:scan_course(); /调用jilei方法ps()jilei:put_student(); /调用jilei方法ec()jilei:elect_course(); /调用jilei方法che()jilei:check_course(); /调用jilei方法cha()jilei:change_course; ; /调用jilei方法int main() /主函数int s; /下面为初始界面信息cout*e

17、ndl;cout 欢迎进入学生选课系统 endl; cout 1.课程信息录入(老师端) 2.课程信息浏览 endl;cout 3.学生信息录入(老师端) 4.学生选修课程(学生端) endl;cout 5.学生信息查询 6.学生课程信息修改 endl;cout 6.退出 endl;cout*endl;coutnnn;cout请选择操作:s;switch (s)jcl a; /创建对象acase 1:a.jc();break; /对jcl里的方法调用case 2:a.sc();break; /对jcl里的方法调用case 3:a.ps();break; /对jcl里的方法调用case 4:a.

18、ec();break; /对jcl里的方法调用case 5:a.che();break; /对jcl里的方法调用case 6:a.cha();break; /对jcl里的方法调用case 7: return 0;default:cout对不起,请正确输入:; /输入错误输出信息 return 0;2.3.2运行结果1.初始界面:初始界面是一个系统的基本感官的提现,首先让使用者知道该系统有什么功能,其次是如何使用,我门可以对该系统进行操作的是选项分为:课程信息的录入、课程信息浏览、学生信息的录入、学生选课、学生信息查询、学生课程的修改和退出。对应数字进行系统的操作。下图是图2.5窗体初始化图:图

19、2.5初始界面图2.课程信息录入对课程的基本信息的录入,包括:课程的编号、名称、性质、总学时、授课学时、上机学时、学分、开课学期。下图是图2.6课程信息录入图:图2.6 课程信息录入图3.课程信息浏览浏览课程信息是对老师添加的课程信息进行浏览,充分了解有多少门课程,充分的对自己要选的课程提前了解。下图是图2.7课程信息浏览图:图2.7 课程信息浏览图4. 学生选课进行选课的是知道自己要选的课程后才进行的,选课的功能是先显示已有的课程然后根据输入自己学号和课号,进行选课,然后提示选课成功。下图是图2.8学生选课图:图2.8 学生选课图5.学生信息查询学生信息查询是对学生选课的进行查询,查询的是学

20、生选课的列表信息看看谁选了什么课,统计的结果。下图是图2.9学生信息查询图:图2.9 学生信息查询图第3章 课程设计总结课程设计是锻炼实践能力的重要环节,是对我们的实际工作能力的具体训练和考察过程。它运用我我们所学到的相当大的一步分学过知识。随着科学技术发展的日新月异,当今计算机应用在生活中可以说得是无处不在。作为当代大学生来说掌握程序开发技术是十分重要的,而C+课程设计是成为个好的程序员最基本的一种编程语言,因此做好这门课程设计是十分必要的,掌握基本编程语言才能更好的生存。这次课程设计,从拿到题目到完成整个系统,从理论到实现系统,在整整几个星期,可以学到很多很多的东西,同时不仅可以巩固了以前

21、所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我们懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,才能提高自己的实际动手能力和独立思考的能力。在设计的过程中,相对还是不比较容易,因为这个已经不是做过一次两次了,但是也难免会遇到一些的问题,同时在设计的过程中发现了自己的不足之处,对一些前面学过的知识理解得不够深刻,掌握得不够牢固,比如说在编写代码的时候用错方法使得功能不能实现。通过这次设计又一次的对以前淡忘的知识重新的掌握。在课程设计过程中,翟老师也交给我们很多方法,让我更加的去努力学习。翟老师严格要求我们,是为了更好

22、的完成这次课程设计!在翟老师的带领下,我的能力进一步的提高了,在课程设计的过程中学到了很多很多在实际生活学不到的知识,因此在以后我会更加的努力,使得自己的能力不断的提升。参考文献1.郑莉、董渊 编着 C+语言程序设计 北京:清华大学出版社2.卢鹏丽 主编C+语言上机指导实用教程北京:机械工程出版社3.陈雪飞 主编C+Builder实例入门北京,中国青年出版社4.陈世忠 主编C+编码规范北京,人民邮电出版社,5.刘春辉 主编Visual C+程序设计学习笔记.北京.电子工业出版社6.郑莉、董渊 编著 C+语言程序设计 北京:清华大学出版社7.黄迪明 主编 C+语言程序设计基础 北京:电子工业出版社8.Decoder 主编 C/C+程序设计 北京:中国铁道出版社9.美AI Stevens著、林瑶等译 C+大学自学教程 北京:电子工业出版社10.张凯 主编 VC+程序设计 北京:电子工业出版社11.钱能 主编C+程序设计教程 北京:清华大学出版社12.陈文宇 主编编著面向对象程序设计语言C 北京:机械工业出版社13

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 技术资料 > 课程设计

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922