- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《CJAVA集中上机》实习报告图示冒泡排序
《C++/JAVA集中上机》
实习报告
图示冒泡排序(C++)
指导教师:
姓 名:
学 号:
班 级:
时 间: 2012-04-26
目录
一 概述 2
二 总体方案设计 2
三 详细设计 3
四 程序的调试与运行结果说明 4
五 课程设计总结 6
六 心得体会 6
七 附录 7
参考文献 11
一 概述
课程设计的目的
进一步巩固理论课上所学到的知识,深刻把握面向对象编程技术的特性,锻炼学生熟练的应用面向对象的思想和设计方法解决实际问题的能力,深化对C++语言编程和开发工具运用的认识,提高软件项目开发实践能力和软件工程管理能力。
课程设计的要求
需要的基本知识与技能:C程序设计;C++面向对象程序设计;windows程序设计。
尚未掌握的知识点:windows程序设计。
需要查阅相关资料:windows程序设计的相关资料。
教师对本题目所提出的要求:从C++/JAVA中选择自己熟悉的编程语言,独立完成自己最熟悉领域的小型软件项目,按照软件工程工作过程,分析软件项目系统的需求分析,系统规划设计,包括概要设计和详细设计,并在C++/JAVA环境中实现编程实现和调试该系统。
课程设计的主要设计思想
图示冒泡排序算法:从后向前依次比较相邻的两个数,如果前数大天后数则交换,交换后对屏幕的输出信息进行更新,并通过控制时间即达到动画效果。反复以上过程直至循环结束为止,数据实现从小到大依次排列。
二 总体方案设计
本次选题为图示冒泡排序。排序可采用冒泡排序算法,它是最简单(相对来说效率较低)的排序算法之一。
在本次图示冒泡排序设计中要求程序能实现:通过图示(动画)演示冒泡排序的具体过程。
要实现图示冒泡排序功能,可以用VC++的知识编写程序来解决此问题。
系统具有良好的界面;必要的提示信息;简约美观的效果。使用人员能快速明白,对人们理解冒泡排序过程有一定的帮助。
包含的功能有:
要进行的排序的数字应该随机生成,并可控制数字的大小范围和个数;
正在进行第几趟排序要在动画窗口有所反映;
对每一趟排序的每一次前数和后数比较在动画窗口有所反映;
如果前数大天后数则交换,要用动画反映出交换的过程;
排序好后,要反映出总共进行了N-1趟排序,提示已排序好;
关闭动画程序,结束排序。
三 详细设计
(一)类图:
(二)类数据成员说明:
Number:1、num 要比较的数,初始化时随机生成;
2、x 记录num在窗口输出的位置的x轴坐标;
3、y 记录num在窗口输出的位置的y轴坐标。
Numbers|:1、n[N] 数组n存着N个要排序的Number类型是数。
(三)图示冒泡排序算法流程图:
四 程序的调试与运行结果说明
调试运行环境:Microsoft Visual Studio 2010;windows 7 操作系统。
运行和结果说明:
动画窗口大小可适应排序数字个数的变化,每次排序是数字随机生成。
窗口画面有几个箭头“—”表示正在进行第几趟排序,移动的箭头表示该箭头所指的数和它下方的数进行比较,若下方的数小于箭头所指的数,这下方的数浮上箭头所指位置,上方数下沉一个位置。
排序完成后在窗口下方输出“OK”表示排序完成,这是窗口画面上正好有N-1个箭头,表示进行了N-1趟排序。
排序完成后,按任意键可退出程序。
五 课程设计总结
总体情况:本程序基本达到了课题要求,通过动画形式简单明了的反映冒泡排序的具体过程。
不足之处:所要排序的数由程序随机生成,为给用户提供输入,缺乏交互性。
进一步设想:增加输入功能,美化动画界面。
困难及解决途径:在编写本程序遇到是最大困难是不会windows程序设计,我通过上网找资料,查阅相干书籍,请教同学等方式学会了编写此程序所需的windows程序设计知识。
六 心得体会
通过完成本课题设计,我巩固了以前学过的C和C++编程语法规则;进一步熟悉Microsoft Visual Studio 2010开发环境,提高程序调试能力;学会一些Windows 程序设计的知识;学会了使用Visio画类图和程序流程图。
在实验过程中,养成了良好的实验习惯,培养严格的科学的作风;学会通过各种途径学习解决困难所需知识。
在此感谢任课老师,感谢好友给我的帮助。
七 附录
全部代码及注释
#include Windows.h
#define N 10
#define MAX 100
class Number{
int num,
x,
y;
public:
Number():x(0),y(0){
srand(GetTickCount());
num=rand()%MAX+1
文档评论(0)