面向对象的程序设计 B(C++)
期末大作业
题 名: 综合练习
教 师: 李绘卓 刘畅 唐峻 张劲峰
目 的:
1) 全面练习类的定义,成员变量、成员方法的定义;
2) 全面练习类的对象的定义,对象对成员变量、成员方法的访问;
3) 全面练习类的继承和派生的使用;
4) 全面练习多态的应用;
5) 全面练习 STL 的应用;
6) 全面练习文件流的应用
要 求:
1)单人完成选择题目;
2)选题可在下列题目中选取,也可自拟。要求若选择题目,则设计开发中突出各自设计特色。若自拟题目,
则题目需理论课老师同意;
3)提交材料包括:报告、带注释的源码。
日 期: 2012/4/20
概要
在 VC6.0 或者 VS2008、VS2010 下建立 win32 control application 项目,在完成下列项目。在
其过程中学习类、对象的基本编程方法,同时巩固 C 语言课程学习的基本编程知识。选题规则为 :
选题号 = (学号 + 2) mod 4 + 1
选题
1) 我爱记单词
2) 简单生态仿真系统
3) 唐诗三百首
4) 记忆游戏
关于成绩
平时作业成绩每次为 45 分,其中包括程序的完成情况,报告,教师提问 3 个部分。
作业提交时间:待定(初步定在 18 周)
成绩在提交作业时,由答辩课教师当堂给出。
1 / 5 西南科技大学计算机科学与技术学院
1st. 1
我爱记单词
1. 需求
我爱记单词是一款帮助大家记忆英语单词的软件。软件功能如下:
基本需求:
1) 软件可以根据用户选择加载单词库。
2) 单词库通过文件加载单词。
文件可在网络下载文本文件(如:http://www.cr173.com/soft/41172.html)。
3) 软件可以管理多个用户的学习记录。
4) 用户可以分阶段进行学习。
5) 软件可以自动记录用户的学习情况。
6) 用户可以添加单词到生词本。
7) 软件可以提醒用户需要复习的单词。
8) 软件具有设置功能,方便用户设置复习时间,日学习单词量等。
9) 软件可以通过图像表现用户的学习记录。
扩展需求:
1) 提供例句辅助单词记忆。
2) 提供语音朗诵。(可以采用 Microsoft Speech API)
3) 提供图像化界面。
2. 编程要求
1) 程序要求综合全面应用面向对象程序设计课程内容(类、继承、多态、流、STL)。
2) 界面设计友好,给出菜单选项,及输入提示。(可以采用 MFC 或 QT 等编码)
参考用户界面如下:
2 / 5 西南科技大学计算机科学与技术学院
2nd. 1
简单生态仿真系统
1. 需求
设计并实现一个简单的二维生态仿真系统。系统中至少包含多种对象:一种为捕食者,一种为被捕食者,
及植物。它们在某个时钟(或者计数器)的驱动下进行统一的移动,同时捕食者每移动一步其生命值减一。
当被捕食者移动到捕食者的捕食范围(捕食范围由其生物品种和其生命值确定,生命值高扑食范围广)内时,
捕食者将对其进行捕杀,被捕食者的生命期结束,同时捕食者的生命值恢复到最佳。如果捕食者在一定的
时钟周期内没有完成任何捕食活动,生命值将减为0,此时捕食者的生命也将结束。
1) 每类生物都具有位置信息, 性别、年龄等基本信息。
2) 每类生物都有一定的生存规则,如运动规则,繁殖规则(年龄、性别),死亡规则(生老病死),捕食规
则(可以通过位置判定可以捕食)等。
3) 程序初始化时,需要初始化食物链的规模(即每类生物的数量)、随机生成每个生物的基本信息。并打印
输出。
4) 通过键盘输入食物链的运行时间。
5) 程序根据运行时间运行,各类生物按照自己的生存规则运行。
6) 程序需要输出生存期间的重要时间(如捕食、繁殖等)。
7) 程序可自动加载及存储生物基本信息文件。
扩展需求:
1) 提供生态系统的人工干预,如加入人工捕食、自然灾害等。干预动物们的生活。
2) 提供图像化界面。(可以采用 MFC 或 OpenCV 或 QT 等编码)
参考用户界面如下:
3 / 5 西南科技大学计算机科学与技术学院
3rd. 1
唐诗三百首
1. 需求
我爱记单词是一款帮助大家学习唐诗宋词的软件。软件功能如下:
基本需求:
1) 软件可以根据用户选择加载诗词。
2) 诗词库通过文件加载。
文件可在网络下载文本文件(如:http://cls.hs.yzu.edu.tw/300/all/ALLFRAME.htm)。
3) 软件可以管理多个用户的学习记录。
4) 用户可以分诗词的时间、分作者选择进行学习。
5) 程序需提供文本、拼音显示。
6) 软件可以自动记录用户的学习情况。
7) 程序可以提供背景音乐播放。
8) 程序需提供设置功能,提供背景音乐、最喜爱作者、显示(文本、拼音)选项等。
扩展需求:
1) 提供语音朗诵。(可以采用 Microsoft Speech API)
2) 提供图像化界面。
2. 编程要求
1) 程序要求综合全面应用面向对象程序设计课程内容(类、继承、多态、流、STL)。
2) 界面设计友好,给出菜单选项。(可以采用 MFC 或 QT 等编码)
4 / 5 西南科技大学计算机科学与技术学院
4th. 1
记忆游戏
1. 需求
该程序提供考察你记忆能力的小游戏。
1) 游戏提供字母、数字、图形等考察记忆的类型。
2) 游戏需提供记忆长度的选项(或者分级)。
3) 程序能随机生成记忆考核题目。
4) 程序同键盘输入记忆内容。
5) 程序根据考察情况给出成绩并输出。
6) 程序可建立多个用户账户。
7) 程序需记录每个级别的最高记录。
扩展需求:
1) 提供背景音乐选项。
2) 提供图像化界面。
2. 编程要求
1) 程序要求综合全面应用面向对象程序设计课程内容(类、继承、多态、流、STL)。
2) 界面设计友好,给出菜单选项,及输入提示。(可以采用 MFC 或 OpenCV 或 QT 等编码)
5 / 5 西南科技大学计算机科学与技术学院