- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面向对象程序设计课程设计报告-正文参考模板
目 录
1 前言 1
2 需求分析 1
2.1 要求 1
2.2 任务 1
2.3 运行环境 1
2.4 开发工具 1
3 分析和设计 1
3.1 系统分析及设计思路 1
3.2 主要类图 2
3.3 函数流程图 2
4 具体代码实现 2
5 课程设计总结 2
5.1 程序运行结果或预期运行结果 2
5.2 设计结论 2
参考文献 2
致 谢 3
1 前言
设计一个使用空格和星号绘制图形的工厂,该工厂可以根据用户选择绘制不同的图形(如矩形、三角形、菱形、平行四边形、梯形等)。然后根据用户的要求绘制各类图形,显示绘制图形个数,并在屏幕上显示所设置的图形。
2 需求分析
2.1 要求
(1)至少能够绘制6种以上的图形。
(2)可以绘制的图形名称保存在文本文件中。
(3)根据用户选择设置图形参数绘制图形,并记录绘制了的图形的个数。
(4)显示已经绘制的图形的总数。
2.2 任务
设计一个使用空格和星号绘制图形的工厂,该工厂可以根据用户选择绘制不同的图形(如矩形、三角形、菱形、平行四边形、梯形等)。
2.3 运行环境
(1)WINDOWS2000/XP系统
(2)Visual C++ 6.0编译环境或DEV C++ 5.0编译环境
C++语言
3 分析和设计
3.1 系统分析及设计思路
1.首先得有一个图形抽象基类graph
class graph //基类
{
protected :
graph(){};
public:
virtual ~graph(){};
virtual void function()=0; //纯虚函数
};
2.然后写几个图形类,图形有等腰三角形、正方形、长方形、平行四边形、等腰梯形和菱形六种。
class Triangle:public graph //等腰三角形
{
void Triangle::function()
{
//根据用户设置的高length,绘制等腰三角形
}
}
class Square:public graph //正方形
{
void Square::function()
{
//根据用户设置的边长length,绘制正方形
}
}
class Rectangle:public graph //长方形
{
void Rectangle::function()
{
//根据用户设置的长Long和宽Wide,绘制长方形
}
} //…………其他图形类似
3.然后写一个图形工厂类来生产图形
class simplefactory //简单工厂模式
{
public :
graph * creategraph(int graphtype);
};
graph * simplefactory::creategraph(int graphtype)
{
switch(graphtype)
{
case 1 p=new 等腰三角形();break ;
case 2: p=new 正方形……
case 3: p=new 长方形……
case 4: p=new 平行四边形……
case 5: p=new 等腰梯形……
case 6: p=new 菱形……
}
return p;
}
4.接下来在主函数里,通过用户调用工厂方法生成想要的图形就可以了
class client //用户
{
public:
void Main();
};
void client::Main()
{
/*展示目前自定义图形工厂中可以提供输出的图形列表:Triangle(等腰三角形),Square(正方形),Rectangular(长方形),Parellelogram(平行四边形)等……*/
while(!menu.eof())
{menu.getline(str,sizeof(str));coutstrendl;}
while(true)
{
//提示用户输入所要图形名称(图形列表中所列)
cout请选择需要创建图形的序号:endl; cinkey;
graph *p=sf.creategraph(key);
//输出用户绘制图形总数total
ofstream save(
您可能关注的文档
最近下载
- GB50303-2015 建筑电气工程施工质量验收规范.docx VIP
- 缺陷汽车产品召回管理条例(2019修订)培训解读课件.pptx VIP
- 2024年-AMC10A-数学竞赛试卷.doc VIP
- 《宜兴市“十四五”新型智慧城市建设发展规划》.docx VIP
- 心理学黑羊效应.pptx VIP
- 2025年装修工程施工工艺流程标准化手册(含图表)[详细].pdf VIP
- 2022年高考生物试卷(山东)(解析卷).pdf VIP
- 奶牛手术助产的基本原则.doc VIP
- 【2022.10.29】重庆二外小升初数学真题.docx VIP
- Chinese Philosophy(教学课件).ppt VIP
文档评论(0)