C++课程设计推荐题目要求说明

上传人:人*** 文档编号:490014408 上传时间:2023-02-20 格式:DOCX 页数:7 大小:21.41KB
返回 下载 相关 举报
C++课程设计推荐题目要求说明_第1页
第1页 / 共7页
C++课程设计推荐题目要求说明_第2页
第2页 / 共7页
C++课程设计推荐题目要求说明_第3页
第3页 / 共7页
C++课程设计推荐题目要求说明_第4页
第4页 / 共7页
C++课程设计推荐题目要求说明_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《C++课程设计推荐题目要求说明》由会员分享,可在线阅读,更多相关《C++课程设计推荐题目要求说明(7页珍藏版)》请在金锄头文库上搜索。

1、C卄课程设计推荐题目、类设计题目及内容1、日期类设计定义 Date 类,参照实现:(1)日期的加、减运算(2)根据日期计算一年中的第几周星期几(3)一年中第几天为几月几日(4)该年是否为闰年(5)输出日期对象(6)完成相应应用程序设计2、矩阵类设计定义 Matrix 类,参照实现:(1)任意行数,列数矩阵的构建(2)常数矩阵(3)转置矩阵(4)矩阵加法,减法,乘法(5)矩阵与数组间的转换(6)逆矩阵(7)矩阵的输入与输出(8)完成相应应用程序设计3、表格类设计定义 Table 类,参照实现:(1)任意行数,列数表格的构建(2)表格标题设置(3)表头的定义(4)表格数据的输入及修改(5)表格框线

2、的绘制(6)表格数据显示(7)表格数据的统计计算(8)完成相应应用程序设计4、堆栈类设计*定义 Stack 类,参照实现:(1)用数组实现先进后出的数据结构(2)栈顶指针的设置(3)进栈操作(4)出栈操作(5)空栈与栈满溢出判定(6)完成相应应用程序设计5、矢量设计*定义 Vector 类,参照实现1)矢量的构建2)矢量的加法,减法3)矢量的点积4)矢量的叉积5)矢量的输出6)完成相应应用程序的设计6、 链表类设计定义 Link 类,参照实现1)建立链表的数据结构2)输入链表结点的数据3)显示链表结点数据4)插入链表结点5)删除链表结点6)完成相应应用程序设计7、图形类设计定义 Graphic

3、 类,参照实现1)图形环境初始化2)图形窗口定义3)点类4)直线类5)圆类6)矩形类7)三角形类8)多边形类9)图形擦除与图案填充10)图形剪裁11)坐标轴及函数曲线绘制12)完成相应应用程序设计附件:第一题:1设计一个立方体类,需要求立方体的体积2建立一个文本文件,里面存放若干个立方体的参数:长宽高,每行3 个数字。编程循环 读出这些值,并且输出体积。如:文件第一行是 1 2 3, 则输出 63修改 3 的程序,利用读出的数据创建若干立方体对象,并存放在向量中. 重载 运算符 (按照体积大小),以便比较立方体。对立方体进行排序,把排序的结果送到另外一个 文件中。如原文件的内容是1 2 31

4、2 42 3 21 2 5 则新的文件内容是2 3 21 2 51 2 41 2 34 设计一个圆柱体类,可以求圆柱体体积5 利用上面的结果, 设计一个基类,让圆柱体和立方体都继承自这个基类6修改 3 中的文本文件, 在文件后面加上若干行,每行有2 个数字,分别是半径和高。如1 2 33 5 64 56 7编写一个求”任意”形状的体积的函数 , 可以接受圆柱体,立方体作为参数 . 依次从文件中读 出数据, 然后调用这个函数输出体积.第二题补充完整 Date 类,要求能实现日期的加、减、输出等功能,并要求在程序中使用异常处理 错误。自己建立数据文件,从文件中读取日期,并排序输出class Dat

5、e;int main()Date d1;Date d2(3,12,1995);Date d3(1995,3,5);vector .读文件排序输出coutd1;/输出: 1900年1 月1 日int t=d2-d3;coutt;/t=7 相差的天数Date d4;d4=d2+5;/日期可以和整数相加coutd3)/日期可以比较coutok; return 0;第三题: 利用继承和组合两种方式设计日期时间类继承方式:class Time private: int hour; int minite; int second; public: ;class DateTime: public Time p

6、rivate:int year;int month;int day;public: ; 组合方式: class Time private: int hour;int minite; int second; public: ;class DateTime private:Time t; int year; int month; int day;public: ;把类的定义放在单独存放在头文件中,类的实现用单独的cpp文件,ma in函数用单独的cpp 文件. 以上两种方式都用同一个 main: main()DateTime dt1(2008,8,8,19,0,0);dt1.disp();dt1.

7、set(2007,8,8,19,0,0);dt1.disp();第四题:运算符重载定义一个描述矩阵的类Array,其数据成员为3x3实数矩阵,用Put()成员函数输入矩阵元素 值,重载“+运”算符完成二个矩阵的加法。用成员函数编写运算符重载函数。在主函数中定 义矩阵对象al、a2、a3,进行矩阵加法a3=al+a2运算,并输出矩阵al、a2、a3的全部元素 值第五题:多态性与虚函数功能要求:定义一个抽象类SHAPE,抽象方法SHAPE包含X和Y两个属性的访问方法,VOLUME方 法,AREA抽象方法和GETNAME方法。不同的形状类,如POINT类实现SHAPE类, RECTANGLE 类继承

8、 PIONT , ELLIPSE 类继承 RECTANGLE 类。 CIRCLE 类继承 ELLIPSE类,CYLINDER类继承CIRCLE类。创建每个类的实例,并将每个类的实例存放 于类型为SHAPE的数组中。以该SHAPE的数组作为参数,调用参数的类型为SHAPE的 数组的SHOWSHAPINFO方法,通过调用重写的方法为相应得图形对象计算表面积,体积 并输出图形的名称二、程序设计题目及内容题目1:井字棋游戏*“井字棋”游戏(又叫“三子棋”),或是一字棋,是一款十分经典的益智小游戏,想 必很多玩家都有玩过“井字棋”的棋盘很简单,是一个3X3的格子,很像中国文字中的“井” 字,所以得名“井

9、字棋”“井字棋”游戏的规则与“五子棋”十分类似,“五子棋”的规则 是一方首先五子连成一线就胜利;“井字棋”是一方首先三子连成一线就胜利。要求:屏幕输出棋盘和棋子(可用特殊符号代替),实现:用户与电脑下棋(可选),用户1与用户2下期两种功能难点:判断输赢的算法及简单的人工智能实现题目 2:简单文件加密* 编写一个对文件加密的程序,要求能对密码做出判断,密码不正确,则不能解密。要求: 加密文件:可以是文本类型文件,也可以是二进制文件,文件大小可以限定在10M以内。难点:文件的操作较多,文件的随机处理,密码的存放等参考:方式 1:用户密码存放在指定文件中。优点:简单,缺点:文件需要和密码文件 一起,

10、如果没有密码文件则无法进行判断方式 2:密码存放在文件的最后,打开文件时首先定位到文件末尾找特殊的标记, 如#!$_PT (密码),如果存在则表示是加密的文件,可以进行解密操作,如果不存在则 说明文件没有加密过,可以进行加密操作。加密的过程可以使用文件逐字节与密码异或,最后把特殊字符及密码写入文件结尾 解密过程先判断密码,然后再异或,把文件末尾的特殊字符及密码删除题目 3:彩票游戏*该程序模拟体彩和福彩的投彩及开奖过程题目 4: XX 信息管理系统*(推荐) 图书信息管理 学生信息管理通讯录(电话本)管理员工信息管理销售管理学生成绩管理奖学金管理 职工工资管理系统.。管理系统的特点:对“数据库

11、”进行“增删改查”的操作 难点:数据库的设计,即数据存储格式,存储方式的设计,对文件的操作,快速的响应 以及数据的安全性(备份等)参考:使用一个文件存放相关的数据,如图书信息,学生信息等,即数据库 软件在运行时首先判断数据库是否存在 显示菜单根据用户的选择进行相关的操作 如排序,查找,修改等操作 此类操作的一般方式是:把数据库的内容读入到向量中,对向量进行操作, 如果数据发生了变化,在退出系统时统一写回文件,这样提高效率。参考网络。此类题目特点是在进行编程前要做好设计工作,即分析类和对象,并理清其关系。需要 考虑每个操作的接口(返回值及参数),哪些是所有对象具备的,哪些是特殊的,哪些可以 统一

12、处理,哪些单独处理。最后,一个好的系统需要考虑扩展性,健壮性,效率,安全等诸多问题,在程序中可以 加入异常,文件加密,抽象类,继承,多态,向量,引用等各种元素以做出更好的程序。题目 5:单项选择题标准化考试系统*(1)用文件保存试题库。(每个试题包括题干、4 个备选答案、标准答案)(2)试题录入:可随时增加试题到试题库中(3)试题抽取:每次从试题库中可以随机抽出N道题(N由键盘输入)( 4)答题:用户可实现输入自己的答案(5)自动判卷:系统可根据用户答案与标准答案的对比实现判卷并给出成绩。题目同 4,稍微简单点,关键点是把数据的格式设计好题目 6:模拟计算器*模拟 Windows 下的计算器,

13、使用键盘输入,尽可能的实现更多的功能 难点:数值计算方法(如开 n 次方等),可以参考网络 参考:此题目关键在于对表达式的解析,如用户输入一个表达式: 3*(3+5)/6-5 需要对表达式做出判断:是否正确(括号是否匹配),运算顺序,如先乘除后加减 可以自定义键盘符号作为运算符,如可以定义#作为开方的运算符题目 7:万年历* 基本要求:实现星期、日期的计算和转换,农历日期可选;实现生日、纪念日等倒计时天数 计算要点:学习使用C+的日期时间函数 难点:显示方式:可以显示指定的年,月,把这个月的日期显示在屏幕上纪念日倒计时:可以使用天数来计算,即:把日期转换为天数 农历,星期:参考网络,可以找到算

14、法参考:为方便纪念日的设置,可以把纪念日以规定的形式单独放在一个“配置”文件中, 即在一个文本文件中输入纪念日,程序运行时题目 8:模拟时钟转动程序 *要求: 能模拟机械钟表行走,还要准确地利用数字显示日期和时间,在屏幕上显示一个 活动时钟,按任意键时程序退出。难点:需自学图形编程(C语言的图形库函数)题目 9:课堂随机点名系统(文件操作要求多)*要求:1. 根据教务处提供的学生名单execl文件生成数据库(文本文件) 2随机抽取学生点名,能够记录下缺席情况扩展要求:1 . 改进随机数的生成方式,点名覆盖率尽量高2. 可以随机点名,也可以整班点名3. 可以作为随机提问使用,记录下回答问题等级 A,B,C,D4. 可以多个班的数据合并一起使用题目 10:猜数游戏* 猜数字可以算是一种益智类小游戏,一般两个人玩,也可以由一个人和电脑玩, 可以在纸上、在网上都可以玩。这种游戏规则简单,但可以考验人的严谨和耐心。 这个游戏的规则比较简单,一般两个人玩,一方出数字,一方猜。出数字的人要 想好一个没有重复数字的 4 位数,不能让猜得人知道。猜的人就可以开始猜。每 猜一个数字,出数者就要根据这个数字给出几A几B,其中A前

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

当前位置:首页 > 建筑/环境 > 建筑资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号