C语言集中上机.docx

上传人:b****7 文档编号:10803154 上传时间:2023-02-23 格式:DOCX 页数:11 大小:201.66KB
下载 相关 举报
C语言集中上机.docx_第1页
第1页 / 共11页
C语言集中上机.docx_第2页
第2页 / 共11页
C语言集中上机.docx_第3页
第3页 / 共11页
C语言集中上机.docx_第4页
第4页 / 共11页
C语言集中上机.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

C语言集中上机.docx

《C语言集中上机.docx》由会员分享,可在线阅读,更多相关《C语言集中上机.docx(11页珍藏版)》请在冰豆网上搜索。

C语言集中上机.docx

C语言集中上机

 

集中上机实习报告

 

指导教师:

李红娟

姓名:

尚霄

学号:

2014211806

班级:

0401413

时间:

5.27

一:

实验目的

加深对授课内容的理解,能自然地,熟练地掌握一些语法规定。

熟悉所用的计算机系统的操作方法,熟悉语言程序开发的环境。

最终通过程序运行结果为电脑屏幕显示模拟时钟,并正常运行显示表针时间。

二:

实验题目

模拟时钟转动程序

要求:

能模拟机械钟表行走,还要准确地利用数字显示日期和时间,在屏幕上显示一个活动时钟,按任意键时程序退出。

三:

流程图

四:

运行环境

操作系统:

Windows7

C语言开发环境:

vc6.0

五:

模块描述

1:

指针式时钟

表盘为圆形,圆上有刻度线,有大小不同的刻度线以便观察时间。

源代码:

#include

#include

#include

#include

#include

#include

#include

#definePI3.14159

voidDraw(inthour,intminute,intsecond)

{

doublea_hour,a_min,a_sec;//时、分、秒针的弧度值

intx_hour,y_hour,x_min,y_min,x_sec,y_sec;//时、分、秒针的末端位置

a_sec=second*2*PI/60;//计算时、分、秒针的弧度值

a_min=minute*2*PI/60+a_sec/60;

a_hour=hour*2*PI/12+a_min/12;

x_sec=320+(int)(120*sin(a_sec));//计算时、分、秒针的末端位置

y_sec=240-(int)(120*cos(a_sec));

x_min=320+(int)(100*sin(a_min));

y_min=240-(int)(100*cos(a_min));

x_hour=320+(int)(70*sin(a_hour));

y_hour=240-(int)(70*cos(a_hour));

setlinestyle(PS_SOLID,0,NULL,10);//设置时针的线宽度和类型

setcolor(LIGHTMAGENTA);//设置颜色

line(320,240,x_hour,y_hour);//画时针

setlinestyle(PS_SOLID,0,NULL,6);

setcolor(LIGHTMAGENTA);

line(320,240,x_min,y_min);//画分针

setlinestyle(PS_SOLID,0,NULL,2);

setcolor(WHITE);

line(320,240,x_sec,y_sec);//画秒针

}

voidmain()

{

inti,l,x1,x2,y1,y2;

initgraph(640,480);//初始化640x480的绘图窗口

circle(320,240,2);//绘制一个简单的表盘

circle(320,240,160);

for(i=0;i<60;i++)//划钟点上的短线

{

if(i%5==0)

l=15;

else

l=5;

x1=160*sin(i*6*PI/180)+320;

y1=160*cos(i*6*PI/180)+240;

x2=(160-l)*sin(i*6*PI/180)+320;

y2=(160-l)*cos(i*6*PI/180)+240;

line(x1,y1,x2,y2);

}

setwritemode(R2_XORPEN);//设置XOR绘图模式

SYSTEMTIMEti;//定义变量保存当前系统时间

while(!

kbhit())//按任意键退出程序

{

GetLocalTime(&ti);//获取当前时间

Draw(ti.wHour,ti.wMinute,ti.wSecond);//画表针

Sleep(1000);//延时1秒

Draw(ti.wHour,ti.wMinute,ti.wSecond);//擦表针

}

closegraph();

}

功能截图:

2:

数字式时针

以数字和英文和形式准确表示出系统时间

源代码:

#include

#include

voidmain()

{

time_trawtime;

structtm*timeinfo;

time(&rawtime);

timeinfo=localtime(&rawtime);

printf("%s",asctime(timeinfo));

}

功能截图:

五:

源代码及结果

#include

#include

#include

#include

#include

#include

#include

#definePI3.14159

#defineN20

voidDraw(inthour,intminute,intsecond)

{

doublea_hour,a_min,a_sec;//时、分、秒针的弧度值

intx_hour,y_hour,x_min,y_min,x_sec,y_sec;//时、分、秒针的末端位置

a_sec=second*2*PI/60;//计算时、分、秒针的弧度值

a_min=minute*2*PI/60+a_sec/60;

a_hour=hour*2*PI/12+a_min/12;

x_sec=320+(int)(120*sin(a_sec));//计算时、分、秒针的末端位置

y_sec=240-(int)(120*cos(a_sec));

x_min=320+(int)(100*sin(a_min));

y_min=240-(int)(100*cos(a_min));

x_hour=320+(int)(70*sin(a_hour));

y_hour=240-(int)(70*cos(a_hour));

setlinestyle(PS_SOLID,0,NULL,10);//设置时针的线宽度和类型

setcolor(LIGHTMAGENTA);//设置颜色

line(320,240,x_hour,y_hour);//画时针

setlinestyle(PS_SOLID,0,NULL,6);

setcolor(LIGHTMAGENTA);

line(320,240,x_min,y_min);//画分针

setlinestyle(PS_SOLID,0,NULL,2);

setcolor(WHITE);

line(320,240,x_sec,y_sec);//画秒针

}

voidmain()

{

inti,l,x1,x2,y1,y2;

chars[N];

time_trawtime;

structtm*timeinfo;

initgraph(640,480);//初始化640x480的绘图窗口

circle(320,240,2);//绘制一个简单的表盘

circle(320,240,160);

for(i=0;i<60;i++)//划钟点上的短线

{

if(i%5==0)

l=15;

else

l=5;

x1=160*sin(i*6*PI/180)+320;

y1=160*cos(i*6*PI/180)+240;

x2=(160-l)*sin(i*6*PI/180)+320;

y2=(160-l)*cos(i*6*PI/180)+240;

line(x1,y1,x2,y2);

}

setwritemode(R2_XORPEN);//设置XOR绘图模式

SYSTEMTIMEti;//定义变量保存当前系统时间

while(!

kbhit())//按任意键退出程序

{

time(&rawtime);

timeinfo=localtime(&rawtime);//得到一个指向时间字符串的指针

memcpy(s,asctime(timeinfo),sizeof(s));//把指向字符串的指针中的字符存到字符数组中

s[strlen(s)-2]=0;//把数组最后一个字符删掉

setcolor(LIGHTMAGENTA);

outtextxy(250,300,s);

GetLocalTime(&ti);//获取当前时间

Draw(ti.wHour,ti.wMinute,ti.wSecond);//画表针

Sleep(1000);//延时1秒

Draw(ti.wHour,ti.wMinute,ti.wSecond);//擦表针

}

closegraph();//关闭窗口

}

六:

遇到的困难和心得体会

虽然学了一个学期的C语言,但自从选了这个课题以后我就深深的认识到了自己的不足。

首先,这个课题所要求的类型我们以前都没有学过。

请教过一些人,知道要先自学图形库和时间函数,就在网上自己找资料来看。

后来了解到vc6.0中并没有图形库,曾一度想放弃。

但后来经过学长的帮忙下在vc6.0中装了easyx的图形库,然后XX学习了图形库的使用和系统时间的获取,终于把结果给弄出来了。

通过这个课题的实验是我认识到自己的不足之处,但同时也让我感受到了编写程序的枯燥和结果出来的欣喜,也体会到了做一件事不仅需要激情更需要坚持与细心。

在编译过程中也出现了很多困难不知道从何下手,就求教学长学姐和XX,让我学会了寻求帮助。

也深知要想学好一门课程必须要踏踏实实,掌握好基础才能在后面的路程中走得越远!

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 成人教育 > 专升本

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1