c语言程序设计—时钟旋转模型
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算机物理建模课程设
计报告
题目:时钟旋转模拟
学院:理学院
专业:物理学
班级:2010126156
姓名:黄帅
指导教师:杨先卫
设计日期:2012年4月30日
一.选题背景:在现代社会里,科学技术高度发展,特别是计算机技术开发突飞猛进,大量的网络设计,计算机程序设计应运而生,并且在多方面领域得到广泛的应用。现在利用C语言程序来解释一些物理现象,通过学习语言,我们了解了C语言的语言编程的过程。下面是利用C语言程序来模拟时钟旋转。
二.设计思想:程序在C语言环境下,调用大量库函数,图形函数,数学函数,还有for语句do while等循环语句
三. 主要解决问题的方法及技术关键.
1、主要问题及解决方法:
主要调用到graphics.h,math.h,dos.h等重要库函数,运用循环体等进行编译。
2.技术关键
掌握for语句do while等循环语句的运用,及图形函数,数学函数等函数的应用。
三、程序流程
开始——初始化图形设计——设置窗体的背景色、前景色及画笔——画出时钟的框架、标题及分秒的刻度——调用时钟处理程序——获取当前时间并显示——调用消息处理函数刷新窗口显示——判断修改是增
加还是减少——退出(Esc)
四.程序清单:
#include
#include
#include
#define pi 3.1415926
#define X(a,b,c) x=a*cos(b*c*pi/180-pi/2)+300;
#define Y(a,b,c) y=a*sin(b*c*pi/180-pi/2)+240;
#define d(a,b,c) X(a,b,c);Y(a,b,c);line(300,240,x,y) void init()
{int i,l,x1,x2,y1,y2;
setbkcolor(1);
circle(300,240,200);
circle(300,240,205);
circle(300,240,5);
for(i=0;i<60;i++)
{if(i%5==0) l=15;
else l=5;
x1=200*cos(i*6*pi/180)+300;
y1=200*sin(i*6*pi/180)+240;
x2=(200-l)*cos(i*6*pi/180)+300;
y2=(200-l)*sin(i*6*pi/180)+240;
line(x1,y1,x2,y2);
}
}
main()
{
int x,y;
int gd=VGA,gm=2;
unsigned char h,m,s;
struct time t[1];
initgraph(&gd,&gm,"d:\\wintc\\bgi"); init();
setwritemode(1);
gettime(t);
h=t[0].ti_hour;
m=t[0].ti_min;
s=t[0].ti_sec;
setcolor(7);
d(150,h,30);
setcolor(14);
d(170,m,6);
setcolor(4);
d(190,s,6);
while(!kbhit())
{while(t[0].ti_sec==s)
gettime(t);
sound(400);
delay(70);
sound(200);
delay(30);
nosound();
setcolor(4);
d(190,s,6);
s=t[0].ti_sec;
d(190,s,6);
if (t[0].ti_min!=m)
{
setcolor(14);
d(170,m,6);
m=t[0].ti_min;
d(170,m,6);
}
if (t[0].ti_hour!=h)
{ setcolor(7);
d(150,h,30);
h=t[0].ti_hour;
d(150,h,30);
sound(1000);
delay(240);
nosound();
delay(140);
sound(2000);
delay(240);
nosound();
}
}
getch();
closegraph();
}
六、设计结果说明
1、设计优点:整个程序过程简单明了,容易理解,而
且操作简单。并且运用了简单的C语言知识,巩固C语
言运用的目的。
2、设计不足:由于对C语言了解的得还不够深入,
所以程序的某些地方还有些不足,要想效果更加好,还需
加以修改。
七 .在设计过程中的感受:
首先经过两周的编程实习,并在后一段的报告总结,我对
C语言这门科有新的认识,本人实在是获益不浅!要想编
写一个准确、高效并有使用价值的程序,一定先要对课本
知识熟悉,还要掌握必要的上机操作能力,写程序其实很
容易而关键在于调试程序。这次设计,让我重新掌握了C语