C语言实现几何世界Word文档格式.docx
- 文档编号:16973734
- 上传时间:2022-11-27
- 格式:DOCX
- 页数:10
- 大小:87.32KB
C语言实现几何世界Word文档格式.docx
《C语言实现几何世界Word文档格式.docx》由会员分享,可在线阅读,更多相关《C语言实现几何世界Word文档格式.docx(10页珍藏版)》请在冰豆网上搜索。
另外,图形的大小,颜色,出现的位置(横向平移),滚动速度均随机变化,形成一幅奇妙的几何世界。
用C++开发。
工作计划与进度安排:
第14周:
问题分析,方案设计,软件编码和调试;
第19周:
软件测试,书写课设报告,答辩。
指导教师:
专业负责人:
201年月日
学院教学副院长:
一、实训题目和实训任务
1.实训题目
几何世界
2.实训任务
各种几何图形随机地出现并上滚,直到按回车键结束。
3.题目分析
由题目要求切入,了解每一步骤需要做什么。
首先,用c语言编写出各种各样的图形,包括矩形,直角三角形,等腰三角形,直角梯形,等腰梯形和菱形。
其次,题目要求图形需要不同颜色,出现速度不同,于是,在头文件中加入#include<
conio.h>
,程序中相应使用system(color‘’)函数,以此控制颜色变化;
在头文件中加入#include<
windows.h>
程序中相应使用sleep()函数,以此控制出现的速度。
最后,题目中要求各种图形随机出现并上滚,直到按回车键结束,这需要定义每个图形函数,并用switch语句选择每个图形函数,然后在头文件中添加#include<
,并在switch结构外面用随即函数rand(),使得图形随机出现并上滚,直到输入回车键为止。
本题主要使用c语言编写,过程中用到for循环语句,switch选择语句等。
其中,编写图形代码用到for语句偏多,例如三角形,菱形等。
程序运行后,出现过几个错误,除了一些语言编写的错误,还有语法上的错误,例如,一开始,将while(!
kbhit)放在一开始的位置,还有一点就是函数名的书写错误。
这些错误后来经过调试被改正,并且能够正常运行程序,达到了题目要求的缤纷奇妙的几何世界。
4.开发工具和环境
开发工具:
VisualC++6.0
环境:
WIN7
二、软件设计
1.关键技术分析
几何世界这个程序中主要用到了for循环结构,自定义函数,switch选择结构。
程序代码开始时头文件除了#include<
stdio.h>
以外,还用到了#include<
、include<
stdlib.h>
。
这些头文件对程序起到了关键作用。
(1).编写代码时,先编写出每个图形的代码,其中便运用到for循环语句,其语法格式为for(表达式1;
表达式2;
表达式3)循环体语句执行过程:
先执行表达式1,然后处理表达式2,若表达式2的值为“真”,则执行循环体语句,并执行表达式3,再返回去处理表达式2,若表达式2为“真”再执行循环体语句,执行表达式3……,这样循环往复,直到表达式2的值变为“假”时,退出循环。
例如本程序中编写矩形代码时,运用for(i=1;
i<
=5;
i++),其中i是定义的整形变量,执行过程:
i被赋初始值1,循环条件i<
=5,i++(变量自增1),然后返回执行循环条件,当i=6时,退出循环。
(2).编写完每个图形代码后,为了达到题目要求的速度变化,运用到了Sleep()函数。
此函数功能是执行挂起一段时间,与头文件#include<
相应,一般形式Sleep(unsignedlong);
其中,Sleep()里面的单位,是以毫秒为单位,所以如果想让函数滞留1秒的话,应该是Sleep(1000);
例如本程序中图形与图形之间便巧妙地运用到了此函数以控制每个图形出现的速度不同。
(3).程序中还运用到了控制图形颜色变化的system(“colorOA”)函数。
其中color后面的O是背景色代号,A是前景色代号。
各颜色的代码如下:
0=黑色;
1=蓝色;
2=绿色;
3=湖蓝色;
4=红色;
5=紫色;
6=黄色;
7=白色;
8=灰色;
9=淡蓝色;
A=淡绿色;
B=淡浅绿色;
C=淡红色;
D=淡紫色;
E=淡黄色;
F=亮白色;
(4).题目要求需要图形随机出现,所以用到了随机函数rand(),本题中的代码如下:
while(!
kbhit())
{
intm;
m=rand()%5;
}
表示的意思是随机五个图形。
以上便是本程序用到的关键技术分析。
2.软件模块设计
本题模块设计较为简易。
(1)定义每个图形函数,且每个函数后加上sleep()函数和system(“colorOA”)函数来控制图形出现的速度和颜色。
其中有函数图形的代码用到了for循环结构。
(2)在主函数中使用switch选择语句选择前面定义的每个图形函数。
(3)最后再在switch选择结构外面加一个随机函数rand()函数使得图形随机出现。
其形式为:
while(!
功能模块图如下:
几何世界功能模块图
3.软件界面设计
软件界面设计时较为工整得体,符合C语言编程的要求。
期间运行是出现的错误经过人机交互后更正。
例如,程序代码第十九行出现错误,计算机调试时显示函数名错误,于是将函数名由Righttriangle()改为Right_triangle(),即在Right和triangle之间加下划线“_”,即可运行。
运行时在键盘输入ctri+F5,程序开始运行,运行结果出来后键入enter键结束程序,程序停止。
三、软件测试及运行结果
1.测试方案
几何世界测试方案,先将程序代码输入,完成题目所要求的编写出各种不一样的图形,并为它们添加色彩等,这需要多种函数及c语句完成,预计出现的运行结果是无需键入任何键,便出现各种几何图形随机地出现并上滚,直到按回车键结束,并且形成一幅奇妙的几何世界。
2.测试结果
下面为程序运行结果截图,由第一张和第二张看出几何图形随即出现,并可看出颜色变换。
图1.图形随机运行结果图
图2.颜色变化运行结果图
结论:
测试结果与预计结果无异。
四、收获和体会
1.实习收获
经过本次实训,我对编写程序有了更深层次的了解并掌握了不少编程知识。
例如,我已经能很熟练的运用switch选择结构,并且通过多方面的查阅资料,见识了很多新函数,例如,sleep()函数,随机函数等。
最大的收获就是我能够编写出此程序,并看到运行结果,这一点对我来说意义重大。
2.实习体会
时间过得真快,一晃眼的功夫,c++实训学习就要结束了,虽然只是短短的几天,但我却收获良多。
实训是从十四周的周一开始的,每天下午九到十二节课,周四结束。
我选择的题目是几何世界,一开始拿到题目,竟然有点无从下手的感觉,我仔细阅读题目,思路渐渐清晰,但随后便意识到说的容易,做起来难,于是根据题意,我先将各种图形的程序代码打了出来,当然,这期间也遇到了困难,比如说,菱形的编写并不容易,我翻阅了《c语言程序设计》,并通过查询网络资源,编写出菱形的代码。
编写完图形的代码后,我想着如何能够使图形有颜色变化,于是我上网查询到了system(“colorOA”)的用法,当我看到运行结果上图形的颜色变化并为之开心时,实训王老师走过来说看清题目要求,要达到题目要求才算完成编程。
于是我又开始为怎样控制图形出现速度而苦恼,就在我很纠结的时候,老师过来告诉我可以运用延时函数,并且还对我和我的搭档说可以找学的较好的同学一起探讨,我当时就觉得老师身边金光闪闪的,这无疑给了我很大的动力。
在接下来的几天里,我积极的做实训,在自己的努力和老师的帮助下,我完成了我的实训,并且效果很理想!
实践出真知,实习前,我的c语言和C++知识只是停留在理论水平,而且就算理论水平,也存在很多漏洞。
有时,在做课题的时候,我就只能再看着课本再学习一遍,像编写菱形代码时,有些东西就没有搞懂,所以就看着课本编程,也算将旧的东西复习一遍。
同时,有的理论在实习操作过程中印象更加深刻。
成功=勤奋+合作。
我暂且将我的实习成果用成功来代替,虽然离成功差得很远。
我真正的体会到了有付出才会有回报,我和同学们或是讨论,或是问老师,老师耐心讲解让我们甚是感动,有时候被老师那种责任心所折服。
本次实训的缺陷,对我来说就是,有小部分程序代码是查阅而来的,跟其他同学有所重复,但所有的程序都是自己独立完成的。
这次实训总体来说,每天我过的挺累,但累是值得的,这个值得不仅仅是课题成果上,更重要的让我成长好多,也许这就是这短短几天的时间里最好的回报。
最后,真心感激跟我一起完成课题的同学们和耐心指导我们的王老师,我会牢记这次美好的回忆。
五、源代码清单
#include<
//头文件
#include<
inti,j,k;
//定义三个变量
voidaRectangle()//定义矩形函数
{
for(i=1;
i++)
{
for(j=1;
j<
=15;
j++)
printf("
*"
);
printf("
\n"
system("
color0"
//用于控制矩形的颜色的函数
Sleep(520);
//控制出现的速度
}
}
voidRight_triangle()//定义直角三角形
for(i=0;
6;
for(j=0;
i;
}
system("
color5"
Sleep(400);
printf("
voidIsosceles_trapezoid()//定义等腰梯形
{printf("
*****\n"
**\n"
***********\n"
color8"
Sleep(450);
voidIsosceles_triangle()//定义等腰三角形
{for(i=1;
=4;
{for(j=1;
=4-i;
"
for(j=1;
=2*i-1;
colorB"
Sleep(600);
voidDiamond()//定义菱形
i++){
for(k=i;
k<
k++)
for(j=1;
=(i*2-1);
colorE"
for(i=3;
i>
=1;
i--)
for(k=i;
for(j=0;
printf("
system("
Sleep(500);
voidRight_trapezoid()//定义直角梯形
*********\n"
**\n"
*************\n"
main()//主函数
intm;
m=rand()%5;
//运用随机函数随机五个图形
switch(m)//switch选择结构用于选择图形函数
case0:
aRectangle();
case1:
Right_trapezoid();
case2:
Isosceles_trapezoid();
case3:
Isosceles_triangle();
case4:
Diamond();
六、参考文献
[1]C语言程序设计,马秀丽,刘志妩,虞闯著.清华大学出版社.2012.8
[2]C语言实践训练,马秀丽,刘志妩,虞闯著.清华大学出版社.2012.8
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 实现 几何 世界