面向对象程序设计课设题目

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2012计算机科学与技术专业

面向对象课程设计题目

一设计要求

每个题目可以1人或至多两人,按题目要求完成程序设计及课程设计报告。

(若两人一个题目,需各自独立完成,题目相同者的课程设计报告不能完全相同。)二题目列表

三题目内容及要求

题目1 矩阵运算

内容及要求:

定义矩阵类,实现矩阵加法、减法、乘法、矩阵转置、求矩阵的逆矩阵等。

用程序实现验证n*n矩阵的如下定理:

A(BC)=(AB)C。

题目2 填XO游戏程序

内容及要求:

游戏规则和胜利条件:

棋盘共有5行5列:

选择难度(1):两个斜对角之一都为X或O,则玩家胜。一横行都为X或O则玩家胜。)一竖行都为X或O则玩家胜。

选择难度(2):两个斜对角之一都为X或O,则玩家胜。

选择难度(3):两个斜对角都为X或O,则玩家胜。

输入必须为一个两位整数,如11,代表棋盘的第一行第一列,输完后按回车键;

玩者下一步X或O,计算机也自动下一步X或O。

程序运行示例:

题目3 统计学生成绩

内容及要求:

要求编写一个“Student”类及用来存取文件的save()和load()函数,使用函数及运算符重载技术完成如下操作:

(1)计算每个学生的平均成绩,将数据存入文件stud.dat中并验证是否正确地存入了文件。(2)要求对“<<”和“>>”运算符进行重载。

(3)把学生姓名和平均成绩抽取出来,建立一个简明文件stud_mean.dat,并验证是否正确地存入了。

(4)从文件stud.dat按如下格式输出大于等于平均成绩的学生信息:

学号姓名算术语文平均

(5)将两门功课成绩都不及格的学生信息从文件中删除并另外存入文件bad.dat中。

(6)编写能检索文件中某个学生信息的子程序。如无此学生,输出“未查到”信息。

(7)使用多文件编程和菜单操作。

题目4 会议记录管理系统

内容及要求:

定义会议信息类class Conference

会议信息包括:会议编号,会议名称、部门名称、会议地点,会议日期,会议主持人,会议记录人,出席人员,会议摘要。会议信息以二进制形式存储在文件中。

(1) 添加会议记录

(2) 浏览所有会议记录信息

(3) 按不同字段(会议编号,会议名称等)查询会议记录

(4) 修改会议记录

(5) 删除会议记录

题目5 设计菜单选择趣味程序

内容及要求:

设计一个比较使用的菜单,通过菜单选择不同的功能。设计分两步:首先涉及一个含有多个菜单项的菜单演示程序,然后再为这些菜单项配上相应的功能。

出圈游戏一:

(1)设计一个SeqList类。

(2)在头文”head.h”中声明类,并使用默认的内联函数方式定义它们。

(3)使用类的数组来求解。

(4)用Joseph()函数求解出圈,使用函数game1()作为菜单项。

(5)在文件game1.cpp中实现Joseph和game1()函数。

出圈游戏二:

(1)使用上题中的SqList类.使用向量数组求解。

(2)重载Joseph()函数来求解出圈,使用函数game2()作为菜单项。

(3)在文件game2.cpp中实现Joseph()和game2()函数

求解方程:

(1)设计类FindRoot

将方程系数设计成属性,将方程的根x1,x2。以及用来作为判定条件的d(d=b*b-4*a*c) 均设计成类的属性

(2)设计构造函数

(3)设计求根成员函数Find().

(4)设计输出结果成员函数Display().

题目6 个人财政管理

内容及要求:

(1)完善程序,补充类中数据成员盈余(dlBalance)的计算和输出,要求每笔收入和支出都要重新统计当前情况下的盈余数目。

(2)程序中的收支情况按时间顺序排序存放,将其放入一个文件中,每次运行程序时首先打开这个文件,程序运行完毕时将更新的记录放回文件中。

(3)可以按时间的范围来检查账目,即在主菜单中增加检索的功能选项,输入时间范围即可打印出详细报表。

(4)可以修改、删除某笔收入或支出。

(5)增加程序监控功能,当输入时间发生错误(如月份超过12等)时,要求重新输入正确的时间;当结余的数目为负数时,打印出信息,警告已经透支。

题目7 求解有理数分式方程

内容及要求:

设计一个Rational(有理数)类,用来求解有理数分式方程。为它设计两个数据成员,一个作为分子,另一个作为分母。分母不能为0。有理数1/2可以使用这个类的对象r表示为r(1,2)。需要完成如下操作:

如果分子和分母友公约数,就应该进行化简;

有理数可以进行四则运算,需要重载运算符;

重载流运算符,可以直接输入分子和分母,以及作为整体输出,如:

cin>>r;

1/6 //输入

cou<

1/6 //输出

解有理数方程a/b x+c/d =e/f,用有理数表示为:

r1=a/b r2=b/c r3=e/f 则

x=(r3-r2)/r1

题目8 模拟21点扑克牌游戏

内容及要求:

模拟21点扑克牌游戏,玩家最多可以要5张牌,但如果牌的点数之和超过21,则自动出局;在不超过21点的情况下,玩家与庄家比牌的点数的大小,大者为赢家。

程序设计要求:

(1)将大于10点的点数改为半点。

(2)高级玩家可以查看下一张牌,然后按要求输入密码,密码正确可以看牌,决定是否要牌。

(3)超级玩家可以查看庄家的所有牌面,并任意输入自己想要的牌,有赢无输。

(4)每次要完牌后可以重新设定赔率,只能加注。

题目9 计算算术运算表达式

内容及要求:

计算算术运算表达式。实现将括号内的数提出计算,再将结果并入愿字符串,每次只计算一个简单的式子,如对算式(3+22)*3而言,先计算式子3+22,得到结果25,再求25*3,得到最终结果75

要求:计算string所表示的算术运算表达式的值。

题目10 通信录

内容及要求:

(1)输入信息,建立文件;

(2)文件的存取和显示;

(3)删除记录;

(4)查询记录;

(5)整体性能;

(6)测试程序。

相关文档
最新文档