- 1、本文档共36页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
新课程设计专用纸.
目录
1 题目内容及设计要求 1
1.1题目名称: 1
1.2设计要求: 1
2 总体设计 2
2.1 总体功能框图 2
2.2 类的设计说明 3
2.3主要算法流程图 4
3 程序清单及注释 12
4 运行结果与分析 26
4.1选择主界面 26
4.2存入作品数据: 27
4.3显示作品数据 29
4.4删除作品 30
4.5查找作品 31
5 总结 32
6 参考文献 33
题目内容及设计要求
应用抽象类,设计一个管理艺术作品的程序。艺术作品分为绘画作品类Painting、音乐作品类Music,每件作品都有:作品标题、作品诞生日期等;其中Painting类还有作者姓名、画的宽度和高度,可以计算画的面积;Music类还有词作者姓名、曲作者姓名、曲调类型(如民乐、西洋、古典等)。每个类都用Show()函数显示自己的数据。主函数可以实现以下功能:
(1) 输入若干作品数据 (2)显示所有信息 (3) 查找某作品,(4)删除某作品。
所有记录保存到文件中,也可以将文件的内容显示在屏幕上。为了允许用户交替选择各功能,使用菜单实现选择功能。
2 总体设计
2.1 总体功能框图
图2-1
2.2 类的设计说明
该程序通过先声明名为art的基类有私有成员标题,创作日期,再通过基类派生出painting music两个类,painting类有作者 画宽 画高的私有成员及面积 显示 添加 选择 删除公有成员函数,music类有曲作者 词作者 曲调私有成员以及显示 添加 选择 删除公有成员函数。
UML图如图2-2所示:
art -name:string
-year:int
-month:int
-day:int +art()
+virtual show():void
painting -Author: string
-Width: int
-Height: int +area():int
+show():void
+add_task():void
+select():void
+save_new():void
+del():void music -lyrics_author:string
-rhythm_author:string
-tune:string +show():void
+add_task():void
+select():void
+save_new():void
+del():void
图2-2 UML图
2.3主要算法流程图
2.3.1显示模块show() 如图2-3-1所示
图2-3-1 显示模块流程图
2.3.2选择模块 select() 如图2-3-2所示
图2-3-2 选择模块流程图
2.3.3保存模块 save() 如图2-3-3所示
图2-3-3保存模块流程图
2.3.4删除模块 del() 如图2-3-4所示
图2-3-4 删除模块流程图
程序清单及注释
#include iostream
#include string
#include iomanip
#include fstream
#include cstdlib
#include string
using namespace std;
/*------------------------------基类---------------------------*/
class art //基类art类
{
protected:
string name;//标题
int year;//创作年份
int month;//创作月份
int day;//创作日
public:
art()
{
name = \0;
year = 0;
month = 0;
day = 0;
}//基类成员的声明
art(string title,int year,int month,int day)
{
this-name = name;
thi
文档评论(0)