c程序课题设计》设计(实习)报告。
题目流星雨功能的实现
计算机与电子工程学院。
2024年8月。
目录。一任务与要求1
二总体设计1
2.1 程序设计思想1
2.2 程序模块1
2.3 程序主体思想流程图3
三详细设计及实现3
四测试4五总结5
六参考文献5
附录6流星雨功能的实现。
1、任务与要求。
程序模拟一组流星飞向地面的情景。地面用多行#来表示,流星用大写字母不表示。程序产生一组流星(比如10个),从屏幕顶部下降飞向地面。
一组流星中,每个流星的字符颜色是随机的,下降的位置是随机的,下降的速度也是随机。
2、总体设计。
2.1 程序设计思想。
流星雨的实现主要思想是在平面模拟出一个坐标轴,将流星的位置用坐标(x,y)来表示,而在c语言中就是对应二位数组的两个参数,对于题中要求的位置随机,速度随机,既可以相应地用横坐标x的变换和相应的y坐标下降的快慢来模拟,在程序中就依靠随机数的产生来实现,在每一次流星产生时,将屏幕暂停并清屏,然后在重新产生,这样就类似了流星下落的过程,当流星落下后,判断流星的位置是否为地面,如果为地面则流星与地面同时消失,即实现了模拟流星降落的全过程。
2.2 程序模块。
程序大致分为三个模块:(1)屏幕的实现,即天空地面和流星的产生;
2)流星的下落,即速度和方向随机的随机产生。
3)流星不断下落即碰到地面消失的实现。
三个模块的在程序中从上到下,依次运行。程序模块截图如图所示:
2.3 程序主体思想流程图。
3、详细设计及实现。
这一部分的主要任务是产生速度,方向,横纵坐标的随机性。并且控制速度的大小。通过定义一系列的数组来定义速度方向等参数,然后调用rand函数来产生随机数。
void main()
int speed[10],dir[10],x[10],y[10],star[10]; 分别定义速度,方向,横纵坐标及流星的数组;*/
int i,j;
int place[25][80]=;清屏;*/
srand((int) time(0));产生随机数;*/
for(i=19;i<25;i++)
for(j=0;j<80;j++)
place[i][j] =1;//使下面七行显示“#
for(i=0;i<10;i++)
四、测试。五、总结
5.1 程序设计过程中面临着好多问题,其中最难解决的是流行位置的随机性,将流行的横纵坐标分别用一个数组来表示且产生随机数就解决了这个问题。
5.2 存在不足:流行可以越过第一层代表地面的“#”,和下面的地面同时消失,如果把地面理解成一个平面可以,否则要进行更为复杂的定义。
5.3 面临问题与困难时要勇于面对积极思考解决方法,认真考虑,细心分析才能得出正确答案。
5.4 要加强团队合作精神,只有把整个团队当做一个整体来解决问题才会使团队的力量发挥到极致。
六、参考文献:
1.《数据结构(c语言版)例题详解与课程设计指导》第二版袁志祥、秦锋主编。
2.《c语言》 谭浩强。
3.《算法》
附录。课程设计(实习)作品验收表。
注:1. 除“验收情况”栏外,其余各栏均由学生在作品验收前填写。
2. “验收情况”栏由验收小组按实际验收的情况如实填写。
C语言课程课程设计
课程设计报告。课程名称 c语言程序设计 系别 xxx 专业班级 xxx班 学号 xxxxxxxxxx 姓名 xxx 课程题目 10或100以内儿童加减乘除算术游戏。完成日期 2013.6.14 19 指导老师 xxx 2013年 6月 21日。附件 一 程序模块图。二 源程序。include inc...
C语言课程设计
目录。1 c语言程序课程设计教学大纲。2 c语言程序课程设计说明书。3 c语言程序课程设计报告 模板 4 c语言程序课程设计成绩评定表。xx xx学院。课程教学大纲。课程名称 c语言程序课程设计。适用专业 课程类别 专业基础课。制订时间 2010年11月 计算机科学与技术系制。c语言程序课程设计教学...
C语言课程设计
目录。1 c语言程序课程设计教学大纲。2 c语言程序课程设计说明书。3 c语言程序课程设计报告 模板 4 c语言程序课程设计成绩评定表。珠海学院。课程教学大纲。课程名称 c语言程序课程设计。适用专业 2010级计算机科学与技术系各专业。课程类别 专业基础课。制订时间 2010年11月 计算机科学与技...