您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > C++课程设计题目12015-计科
中原工学院计算机学院C++课程设计任务书1.设计目的计算机专业所开设的C++课程设计是教学实践环节中一项重要内容,进行此课程设计的旨在:1.提高和加强学生的计算机应用与软件开发能力,使学生由初学者向专业的程序员过渡。2.培养学生独立分析问题、解决问题、查阅资料以及自学能力,以适应计算机产业日新月异发展的形势。3.学习和掌握C++程序设计方法以及上机调试技巧,为今后学习其它专业课程打好基础。本次课程设计是以学生独立思考解决问题为主,教师指导为辅,结合上机操作,完成指定的任务,书写课程设计报告。2.设计题目(一)基础设计题目(本类3题必做题)(60分)1.设计一个复数类CComplex(15分)私有成员为,实部和虚部重载“”、“”操作,实现直接输入/输出复数。重载“+”、“-”操作,实现两个复数相加、减。重载“+”、“-”操作,实现一个复数与一个实数相加、减,且满足交换律。重载“=”操作,实现两个复数赋值。然后在主函数中进行如下测试:采用指针存储动态数组方式存储n个复数信息。重载[]操作直接获得第i个复数。设计显示函数Display(CComplex*),输出数组中所有复数。测试上述重载后的运算符功能。2.定义一个CPerson类及其派生类:学生类CStudent和教师类CTeacher。(25分)其中,CPerson类私有数据成员:身份ID(char*),姓名(char*),性别(枚举类型Tsex),生日(日期类CBirthday)。成员函数:CPerson()和~CPerson();其中,若对象缺省则为ID(“00000000”),姓名(空串),性别(man),生日(20000101);input():用于录入人员信息;displayP():用于显示人员信息。学生类CStudent私有数据成员:班级名(char*),学号(char*),课程(包括课程名和成绩);可以用一个结构体实现。假定有8门课,则定义一个8元素的结构数组。成员函数:构造函数和析构函数,若对象缺省则为学号(“00000000”),班级名(空串),课程(课程名空,成绩-1);input():用于录入学生信息;inputCourse():用于录入课程信息;displayS():用于显示学生信息。教师类CTeacher私有数据成员:职称(String类),工号(String类),所在部门(String类)教授课程(课程名、课程号和学生成绩)。成员函数:构造函数和析构函数,若对象缺省则为工号(“00000000”),职称(空串),所在部门(空串),课程(课程名空,课程号“000000”、成绩-1);input():用于录入教师相关信息;SetScore():用于录入学生课程成绩信息;DispScore():用于显示指定或所有学生课程成绩信息;SortScore():用于对所有学生课程成绩排序;SetedStuScore():用于修改指定学生课程成绩信息;displayT():用于显示教师信息。采用文件流方式存储学生信息和教师信息。要求从键盘上录入10名学生信息(包括8门课程成绩),4名教师信息(每名老师至少上一门课,,注意与学生课程的对应性,假设课程不重复)。上述各类函数至少运行一次。3.设计抽象类:几何图形类(20分)要求:派生类:长方形类(能定义长方体\正方体)、圆类(能定义圆柱\圆锥对象)、三角形类(能定义三棱锥)。设计函数:设计成员函数,计算平面图形和立体图形的周长、面积、或表面积与体积;定义重载函数分别比较不同图形的面积,或表面积。设计要求:各种图形的边长(半径)或棱长必须大于或等于0,且满足各种图形的对应特征,参数为边长或半径或棱长,在不同派生类实现上述函数;在不同类中如果参数超出范围则抛出字符串异常。(二)任意题目,至少1题以上(不同题目有不同分值)1.商品销售统计系统(30分)1)问题描述(功能要求):a.问题描述编写商品销售统计程序,商品的信息有商品的名称、计算单位(重量或件)、单价。所有商品的信息事先存入计算机,屏幕上显示所有的名称,选择商品名,输入商品计量单位(如重量、件数等),根据单价算出总价。客户一次购物可能购买多种商品,程序应计算出客户应付的钱款数。b.基本要求程序分为两部分:第一部分用于输入商品的信息并允许修改和删除;第二部分实现销售统计。程序运用时由用户选择进入哪一部分功能,并能在运行时在两部分之间切换,第二部分运行时,首先先显示所有的商品名称及代码,用户输入商品代码及商品重量或件数,用户一次操作可输入若干商品的购买信息,然后输入一个特殊的代码表示本次购买结束。c.测试数据程序应输入不少于10种商品信息,并进行模拟运行。实现提示:本程序的商品信息管理可定义一个商品类,每种商品作为商品类的实例存储在数组中,可以尝试使用STL的vector和list。重载输入输出操作,将商品信息保存于文件,以便预读取选作内容:程序在营业结束时统计每种商品的销售量,销售金额及总营业额,因此第二部分应有营业结束的选择,当用户选择此项时屏幕上显示当天营业的每种商品的销售量,销售金额及总营业额。注意:商品类的数据成员应曾加有商品的销售量和销售金额。总营额是所有营业额之和,可用静太数据实现,或可用原商品类派生出一个特殊的类,增加上面的数据成员及相应的成员函数。d.问题的解决方案:根据系统功能要求,可以将问题解决分为以下步骤:(1)分析系统中的各个实体之间的关系及其属性和行为;(2)根据问题描述,设计系统的类层次;(3)完成类层次中各个类的描述(包括属性和方法);(4)完成类中各个成员函数的定义;(5)完成系统的应用模块;(6)功能调试;(7)完成系统总结报告以及系统使用说明书。2.某公司的库存管理系统(30分)a.问题描述(功能要求):某公司现有以下设备:普通电视机、DVD、带DVD的电视机,带DVD的电视机的售价为普通电视机和DVD单价之和的80%,要求对所有的库存设备都能按照品名进行显示、查找、增加和删除、保存的功能。b.问题的解决方案:根据系统功能要求,可以将问题解决分为以下步骤:(1)分析系统中的各个实体之间的关系及其属性和行为;(2)根据问题描述,设计系统的类层次;(3)完成类层次中各个类的描述(包括属性和方法);(4)完成类中各个成员函数的定义;(5)完成系统的应用模块;(6)功能调试;(7)完成系统总结报告以及系统使用说明书。c.其它要求:(1)只能使用C/C++语言,源程序要有适当的注释,使程序容易阅读(2)至少采用文本菜单界面(如果能采用图形菜单界面更好)(3)学生可自动增加新功能模块3学生选修课程系统设计(30分)a.问题描述(功能要求):假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于60)自由选课。试设计一选修课程系统,使之能提供以下功能:(1)系统以菜单方式工作(2)课程信息录入功能(课程信息用文件保存)--输入(3)课程信息浏览功能--输出(4)查询功能:(至少一种查询方式)--算法按学分查询按课程性质查询(5)学生选修课程(可选项)b.问题的解决方案:根据系统功能要求,可以将问题解决分为以下步骤:(1)分析系统中的各个实体之间的关系及其属性和行为;(2)根据问题描述,设计系统的类层次;(3)完成类层次中各个类的描述(包括属性和方法);(4)完成类中各个成员函数的定义;(5)完成系统的应用模块;(6)功能调试;(7)完成系统总结报告以及系统使用说明书。c.其它要求:(1)只能使用C/C++语言,源程序要有适当的注释,使程序容易阅读(2)至少采用文本菜单界面(如果能采用图形菜单界面更好)(3)学生可自动增加新功能模块4.职工信息管理系统(30分)a.问题描述(功能要求):职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。试设计一职工信息管理系统,使之能提供以下功能:(1)系统以菜单方式工作(2)职工信息录入功能(职工信息用文件保存)--输入(3)职工信息浏览功能--输出(4)查询和排序功能:(至少一种查询方式)--算法按工资查询按学历查询等(5)职工信息删除、修改功能(任选项)b.问题的解决方案:根据系统功能要求,可以将问题解决分为以下步骤:(1)分析系统中的各个实体之间的关系及其属性和行为;(2)根据问题描述,设计系统的类层次;(3)完成类层次中各个类的描述(包括属性和方法);(4)完成类中各个成员函数的定义;(5)完成系统的应用模块;(6)功能调试;(7)完成系统总结报告以及系统使用说明书。c.其它要求:(1)只能使用C/C++语言,源程序要有适当的注释,使程序容易阅读(2)至少采用文本菜单界面(如果能采用图形菜单界面更好)(3)学生可自动增加新功能模块。5.成绩记录簿(30分)1.问题描述(功能要求):编制一个C++语言成绩记录簿,每个学生信息包括:学号、姓名、C++语言成绩。具体功能:(1)创建信息链表并以磁盘文件保存;(2)读取磁盘文件并显示输出所有学生的成绩;(3)按学号或姓名查询成绩;(4)添加成绩记录;(5)修改指定姓名或学号的学生的成绩并可存盘;(6)显示输出60分以下、60~79、80~89、90分以上各分数段的学生信息。2.问题的解决方案:根据系统功能要求,可以将问题解决分为以下步骤:(1)分析系统中的各个实体之间的关系及其属性和行为;(2)根据问题描述,设计系统的类层次;(3)完成类层次中各个类的描述(包括属性和方法);(4)完成类中各个成员函数的定义;(5)完成系统的应用模块;(6)功能调试;(7)完成系统总结报告以及系统使用说明书。3.其它要求:(1)只能使用C++语言,源程序要有适当的注释,使程序容易阅读(2)至少采用文本菜单界面(3)学生可自动增加新功能模块6.班级档案管理系统(30分)对一个有N个学生的班级,通过该系统实现对该班级学生的基本信息进行录入、显示、修改、删除、保存等操作的管理。功能要求:(1)本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:学号、姓名、性别、年龄、备注。(2)本系统显示这样的菜单:请选择系统功能项:a学生基本信息录入b学生基本信息显示c学生基本信息保存d学生基本信息删除e学生基本信息修改(要求先输入密码)f学生基本信息查询(1)按学号查询(2)按姓名查询(3)按性别查询(4)按年龄查询g.退出系统(3)执行一个具体的功能之后,程序将重新显示菜单。(4)将学生基本信息保存到文件中。(5)进入系统之前要先输入密码。三.参考资料:1.《C程序设计》清华大学出版社谭浩强2.《C++程序设计教程》清华大学出版社强能3.《VisualC++使用速成》清华大学出版社沈纪新4.《C/C++使用技巧1001例》电子工业出版社KrisJamsa5.MSDN四.验收程序完成后,由老师统一检查验收,交书面课程设计报告及程序清单各一份,字体要工整清晰。(需打印)五.具体时间与地点安排时间安排:16周17周18周上午上午验收成绩地点:南区计算机学院实验室二机房要求每个人必须验收程序,方可通过课程设计;由于时间短,需要学会自学,充分利用课外时间看书、设计、编码。六、课程设计报告格式要求一、课程设计目的及要求(二个题目写在一起)1.设计目的2.设计要求(1)学籍管理(样例)(2)封装字符串(样例)二、课程设计具体实现1.以学籍管理为例(1)总体设计(总的任务画出总体设计图,总体设计方案及主要设计原理;(算法的设计))(2)详细设计(要求详细写出每个模块的功能实现,关键技术,关键代码解释等。)例如:登陆模块主要完成功能为:当用户开始使用本系统,进入登陆模块。屏幕显示菜单提示,用户可根据需要选择相应功能。具体如下:1。数据录入2。数据查询………………主要使用技术:关键代码如下:(加上注释和解释)数据录入模块等等(3)调试及问题解决2.封装字符串(1)总体设计(2)详细设计(3)调试及问题解决三、结束语(包括感想、致谢
本文标题:C++课程设计题目12015-计科
链接地址:https://www.777doc.com/doc-2901881 .html