C语言作业:结构体编程练习 在屏幕上模拟显示一个数字式时钟 源代码能给我的话+50,感谢

C语言作业:结构体编程练习 在屏幕上模拟显示一个数字式时钟 源代码能给我的话+50,感谢,第1张

#include <stdio.h>

struct clock {

int hour

int minute

int second

}

typedef struct clock CLOCK

/*

函数功能:时、分、秒时间的更新

函数参数:无

函数返回值:无

*/

void Update(CLOCK *myclock) {

myclock->岁茄second++

if (myclock->second == 60) { /*若second值为60,表示已过1分钟,则 minute值加1*/

myclock->second = 0

myclock->minute++

}

if (myclock->minute == 60){ /乎指察*若minute值为60,表示已过1小时,则 hour值加1*/

myclock->minute = 0

myclock->hour++

}

if (myclock->hour == 24) { /*若hour值为24,则hour的值从0开始计时*/

myclock->hour = 0

}

}

/*

函数功能:时、分、秒时间的显示

函数参数:无

函数返回值:无

*/

void Display(CLOCK *myclock) { /*用回车符'\r'控制时、分、秒显示的位置*/

printf("%2d:%2d:%2d\r", myclock->hour, myclock->minute, myclock->second)

}

/*

函数功能:模拟延迟1秒的时间

函数参数:无

函数返回值:无

*/

void Delay(void) {

long t

for (t = 0t <290000000t++) {

/*循环逗森体为空语句的循环,起延时作用*/

}

}

int main(){

CLOCK myclock

long i

myclock.hour = myclock.minute = myclock.second = 0 /*hour,minute,second赋初值0*/

for (i = 0i <100000i++) { /*利用循环结构,控制时钟运行的时间*/

Update(&myclock) /*时钟更新*/

Display(&myclock) /*时间显示*/

Delay() /*模拟延时1秒*/

}

return 0

}

#include<graphics.h>樱启 /* 引入graphic.h */

#include<math.h> /* 引入math.h */

#include<dos.h> /* 引入dos.h */

#define pi 3.1415926 /*定义pi=3.14159*/

#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=0i<60i++) /*循环(算时间)*/

{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:\\tc")

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)/*C语言中得到时间的函数*/

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()

}

http://zhidao.baidu.com/question/121241211.html


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12473892.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存