开发工具:
文件大小: 1mb
下载次数: 0
上传时间: 2012-06-22
详细说明: 部分程序未完成所有功能,,,东华理工2011届课程设计,,汇总 1. 有理数运算 有理数是一个可以化为一个分数的数,例如2/3,533/920,-12/49都是有理数,而就为无理数。在C++中,并没有预先定义有理数,需要时可以定义一个有理数类,将有理数的分子和分母分别存放在两个整型变量中。对有理数的各种操作都可以用重载运算符来实现。 定义并实现一个有理数类,通过重载运算符+、-、*、/对有理数进行算术运算,通过重载运算符==实现判定两个有理数是否相等。写一个优化函数,它的作用是使有理数约去公分母,也即是使保存的有理数分子和分母之间没有公约数(除去1以外)。此外,还要定义一个将有理数转换为实数的函数,再加上构造函数和有理数输出函数。 2. 模拟计算器 设计一个程序来模拟一个简单的手持计算器。程序支持算术运算+、-、*、/、=、以及C(清除)、A(全清除)操作。 定义一个计算器类,该类包括两个组件对象,一个计算引擎和一个用户接口,用户接口对象处理接受的键盘输入信息,并显示答案,计算引擎对象对给出的数据执行相应操作,并存储操作的结果。 3. 设计一个Database类 设计一个Database类。Database类是一个表的集合,而表又由行和列组成。例如 ,下面的雇员信息表包含三个记录,每个记录有四个字段( Employee、Name、Department和Boss)。 雇员 姓名 部门 部门经理 111-11-1234 Cruz ACC Warder 213-44-5649 Johnston MIS Michaels 321-88-7895 Tom FIN Bearskin 能够完成对数据库的基本操作;包括创建数据库,实现对数据库里面的表的添加,删除;以及能够完成对表结构的修改(如添加或删除字段),以及对表中的记录进行添加和删除;能够完成对使用适当的查询语言从一个或多个表中查找相关信息。 4、 矩阵类设计 定义Matrix类,参照实现: (1) 任意行数,列数矩阵的构建 (2) 常数矩阵 (3) 转置矩阵 (4) 矩阵加法,减法,乘法 (5) 矩阵与数组间的转换 (6) 逆矩阵 (7) 矩阵的输入与输出 (8) 完成相应应用程序设计 5、 表格类设计 定义Table类,参照实现: a) 任意行数,列数表格的构建 b) 表格标题设置 c) 表头的定义 d) 表格数据的输入及修改 e) 表格框线的绘制 f) 表格数据显示 g) 表格数据的统计计算 h) 完成相应应用程序设计 6、 堆栈类设计* 定义Stack类,参照实现: a) 用数组实现先进后出的数据结构 b) 栈顶指针的设置 c) 进栈操作 d) 出栈操作 e) 空栈与栈满溢出判定 f) 完成相应应用程序设计 7、 矢量设计* 定义Vector类,参照实现: a) 矢量的构建 b) 矢量的加法,减法 c) 矢量的点积 d) 矢量的叉积 e) 矢量的输出 f) 完成相应应用程序的设计 8、 链表类设计 定义Link类,参照实现: a) 建立链表的数据结构 b) 输入链表结点的数据 c) 显示链表结点数据 d) 插入链表结点 e) 删除链表结点 f) 完成相应应用程序设计 9、通信录的设计 一、定义人员(person)类,其中至少包括姓名、性别、电话、地址、邮政编码、邮箱、QQ号和类别(例如:同学、朋友等)。 二、实现下面的功能 1、设计菜单实现功能选择; 2、输入功能:输入人员信息,并保存到文件中; 3、查询功能: 1)能够根据姓名、电话精确查询人员信息; 2)能够根据地址进行模糊查询人员信息; 3)根据人员类别查询人员信息 4、根据姓名对人员信息排序输出 5、能根据姓名、电话修改人员信息 6、能根据姓名、电话删除人员信息 10、职工工资管理 一、定义职工(employee )类,其中至少包括姓名、性别、工号、电话、所在科室和工资。 二、实现下面的功能 1、设计菜单实现功能选择; 2、输入功能:输入职工信息,并保存到文件中; 3、查询功能: 1)能够根据工号精确查询职工信息; 2)能够根据姓名、科室查询职工信息 3)分科室进行工资统计,计算各科室的平均工资 4、根据职工的工资排序输出 5、根据工号修改职工信息 6、根据工号删除职工信息 11、三角形的种类与面积 一、定义点(point)类,包含点的坐标x和y;通过继承点类派生出线段(line)类;通过线段(line)类的组合定义三角形(triangle )类。 二、实现功能 1、设计菜单实现功能选择; 2、输入三角形的三个顶点坐标; 3、判断三角形的种类(一般三角形、等腰三角形、等边三角形、直角三角形和不能构成三角形); 4、计算并输出三角形的面积 。 12、几何体的表面积与体积 一、定义一个抽象类形状(shape),包含输入基本图形的信息函数input()、显示基本图形信息函数disp()、计算表面积的函数area()、计算体积的函数volume(),它们均为纯虚函数。通过继承形状类派生出球体类、正方体类、长方体类、圆柱体类。 二、实现功能 1、设计菜单实现功能选择; 2、输入各种形状信息; 3、显示各种形状信息; 4、计算各种形状的表面积; 5、计算各种形状的体积; 13、(选做)题目:微型学生养成系统(每个学生都可以选,以完成程度、个性化设计为主要考核目标) 在这个课程设计中,你需要设计并实现如下场景:在那山的那边,湖的那边,有一所学校,学校里有一幢宿舍楼,宿舍楼有若干房间 ,一群学生快乐地生活在这里。他们每天可做的事情有:1.换宿舍,从一个房间搬到另一个房间;2.退学,亦即搬出宿舍楼;3.入学,亦即搬入宿舍楼;4.吃饭,吃饭会增加体重,花费金钱;5.学习,学习会消耗体重,增加魅力;6.化妆(女生独有),化妆会花费金钱,提升容貌;7.运动(男生独有),运动会消耗体重,增加健康。体重、容貌、健康与魅力之间存在一定的转化关系。此外,宿舍楼还可进行扩建,亦即增加楼层,增加某层的房间数,以及增加某个房间可容纳的人数(不考虑这种任意增加的物理可能性)。经过一段时间的生活后可对学生的状态信息进行查询。 具体要求: 程序运行的初始参数从某个指定的配置文件中读取(该文件名作为第一个参数传递给程序)。配置文件的格式详见范例文件。 学生的初始房间分配情况从某个指定的文件中读取(该文件名作为第二个参数传递给程序)。该文件每一行都是一个学生的初始房间分配,格式如下: 【学生姓名】 【性别】 【房间号】 所有的活动描述都存储在某个指定文件中(该文件名作为第三个参数传递给程序)。该文件每一行都是一个活动的描述,活动种类及其格式说明如下: 【学生姓名】 MOVE FROM 【原房间号】 TO【新房间号】 解释:换宿舍。 【学生姓名】QUIT 解释:学生退学,搬离原房间。 【学生姓名】ENROL 【房间号】 解释:学生入学,搬入房间。 ADD 【层数】FLOOR(S) 解释:在现有楼层之上增加【层数】个楼层,层号在现有楼层基础之上顺排;每层楼的房间数及每个房间的容量都是初始值。 ADD 【层号】 FLOOR【房间数】ROOM(S) 解释:在第【层号】层楼增加【房间数】个房间,房间号在该层现有房间基础之上顺排,每个房间的容量为初始值。 ADD 【房间号】【床位数】BED(S) 解释:在【房间号】房增加【床位数】个床。 【学生姓名】【EAT 食物数量】【STUDY 学习时间】【MAKEUP 化妆时间】【EXERCISE 运动时间】 解释:学生至少执行一种活动,至多执行三种活动(因为化妆和运动分别为女生和男生独有);活动的出现顺序不定;食物数量,学习时间,化妆时间,运动时间均为1 ~ 100 的正整数。 说明: 以上活动描述中【】及其中的汉字代表非终极符,在实际的活动描述文件中为具体值所代替;大写的英文字符(无论是否出现在【】中)为终极符,在实际的活动描述文件中原样出现。 【房间号】代表某个房间,其格式为 【楼层号】 - 【某一层中的房间号】,【楼层号】为两位整数,取值范围是01 ~ 99,即便十位为0也需写出;【某一层中的房间号】为两位整数,取值范围是01 ~ 50,即便十位为0也需写出。 【学生姓名】为汉字,长度为2 ~ 4,不包含空格,数据文件中不会出现不合规则的姓名。 【性别】为“男”或者“女”,数据文件中不会出现不合规则的性别。 男女生不得同一房间住宿。 女生不会运动,男生不会化妆。 若任何活动及其后果违背了规则(B)、(E)(F)以及常识(譬如不存在的房间号,不存在的学生——入学除外,等等),则该学生此次的所有活动不予执行。 请自行决定宿舍,楼层,房间的数据结构。 本程序中至少有三个类,男生类,女生类,以及这两个类的基类——学生类。三个类至少具有的属性分别是: 学生类的属性:姓名(不会出现同名的情况),性别,魅力,体重,花费的金钱。 男生类的属性:继承而来的属性,健康。 女生类的属性:继承而来的属性,容貌。 其中金钱,体重为正整数,健康、容貌、魅力为1 ~ 100的整数。 每执行一次吃饭、学习、运动、化妆活动后,学生的状态变化如下: 男生: 体重增量:食物数量 * 单位食物增加的体重 – 学习时间 * 单位学习时间减少的体重 – 运动时间 * 单位运动时间减少的体重 金钱:食物数量 * 单位食物消耗的金钱 健康增量:运动时间 * 单位运动时间增加的健康值。说明:健康最多增加到100,但学生还可以继续运动,不算无效活动。 魅力增量:学习时间* 单位学习时间增加的魅力 + 健康增量 / 10 – 体重增量 / 5。说明:魅力最多增加到100,但学生还可以继续从事增加魅力的活动,不算无效活动。 女生: 体重增量:食物数量 * 单位食物增加的体重 – 学习时间 * 单位学习时间减少的体重 金钱:食物数量 * 单位食物消耗的金钱 + 化妆时间 * 单位化妆时间消耗的金钱 容貌增量:化妆时间 * 单位化妆时间增加的容貌。说明:容貌最多增加到100,但学生还可以继续化妆,不算无效活动。 魅力增量:学习时间* 单位学习时间增加的魅力 + 容貌增量 / 20 – 体重增量 / 4。说明:魅力最多增加到100,但学生还可以继续从事增加魅力的活动,不算无效活动。 当活动描述文件中所有的活动都完成之后,向用户显示查询界面,提供如下查询功能: 对于宿舍中的所有学生(包括男女生)、男生、女生,可对体重,金钱,容貌(女生适用),健康(男生适用),魅力进行最大、最小值查询,以及范围查询(亦即查询属性值属于某个范围的所有学生)。查询结果的排序依据为学生的姓名,可升序或降序排列。 给出学生姓名(有可能不住在宿舍中)找出他(她)所在的房间号。 给出房间号(有可能不存在),给出该房间中入住的所有学生的姓名,查询结果的排序依据为学生的姓名,可升序或降序排列。 注意:在显示信息时必须合理、美观,譬如适时地清空整个屏幕;假如信息超出一屏则显示必须暂停,待用户指示继续后再继续显示;输出的信息中应加上适当的空白以方便阅读。设计良好、简洁、便于使用的交互界面会有加分,过于拙劣的界面将会扣分。 ...展开收缩
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.