c语言程序设计—时钟旋转模型

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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语

相关文档
最新文档