1、 用C++编写一个闹钟程序,能设置5组闹钟,定时时间到时扬声器有音乐播放, 屏幕有文字作提示。

1、 用C++编写一个闹钟程序,能设置5组闹钟,定时时间到时扬声器有音乐播放, 屏幕有文字作提示。,第1张

利用Visual C++设计一个闹钟程序,定时事件提醒等。本题目涉及使用设备上下文进行绘图和定时器的应用。

功能要求:

1.表盘界面的显示,显示当前时间

2.设置交互界面,用以设置时间信息和选择提示事件。

3.用户可以输入特定时间和选择播放声音或闪动指示灯来提醒用户。

4.具有秒表功能。

设计提示:

1.应用程序框架设计。

2.程序菜单设计。

3.程序对话框设计。

4.表盘绘图程序设计。

5.事件定时提醒功能设计。

#include<graphics.h>

#include<conio.h>

#include<math.h>

#include<dos.h>

#include<stdio.h>

void main()

{

int gd=DETECT,gm

int x=320,y=240,r=200,i,h,m,s,thetamin,thetasec

struct time t

char n[12][3]={"3","2","1","12","11","10","9","8","7","6","5","4"}

initgraph(&gd,&gm,"C:\Win-TC\bgi")//图形驱动器路径,根据自己的系统更换!

circle(x,y,210)

setcolor(4)

settextstyle(4,0,5)

for(i=0i<12i++)

{

if(i!=3)

outtextxy(x+(r-14)*cos(M_PI/6*i)-10,y-(r-14)*sin(M_PI/6*i)-26,n[i])

else

outtextxy(x+(r-14)*cos(M_PI/6*i)-20,y-(r-14)*sin(M_PI/6*i)-26,n[i])

}

gettime(&t)

printf("The current time is: %2d:%02d:%02d.%02d\n",t.ti_hour, t.ti_min,

t.ti_sec, t.ti_hund)

while(!kbhit())

{

setcolor(5)

setfillstyle(1,5)

circle(x,y,10)

floodfill(x,y,5)

gettime(&t)

if(t.ti_min!=m)

{

setcolor(0)

line(x,y,x+(r-60)*cos(thetamin*(M_PI/180)),y-(r-60)*sin(thetamin*(M_PI/180

)))

circle(x+(r-80)*cos(thetamin*(M_PI/180)),y-(r-80)*sin(thetamin*(M_PI/180))

,10)

line(x,y,x+(r-110)*cos(M_PI/6*h-((m/2)*(M_PI/180))),y-(r-110)*sin(M_PI/6*h

-((m/2)*(M_PI/180))))

circle(x+(r-130)*cos(M_PI/6*h-((m/2)*(M_PI/180))),y-(r-130)*sin(M_PI/6*h-(

(m/2)*(M_PI/180))),10)

}

if(t.ti_hour>12)

t.ti_hour=t.ti_hour-12

if(t.ti_hour<4)

h=abs(t.ti_hour-3)

else

h=15-t.ti_hour

m=t.ti_min

if(t.ti_min<=15)

thetamin=(15-t.ti_min)*6

else

thetamin=450-t.ti_min*6

if(t.ti_sec<=15)

thetasec=(15-t.ti_sec)*6

else

thetasec=450-t.ti_sec*6

setcolor(4)

line(x,y,x+(r-110)*cos(M_PI/6*h-((m/2)*(M_PI/180))),y-(r-110)*sin(M_PI/6*h

-((m/2)*(M_PI/180))))

circle(x+(r-130)*cos(M_PI/6*h-((m/2)*(M_PI/180))),y-(r-130)*sin(M_PI/6*h-(

(m/2)*(M_PI/180))),10)

line(x,y,x+(r-60)*cos(thetamin*(M_PI/180)),y-(r-60)*sin(thetamin*(M_PI/180

)))

circle(x+(r-80)*cos(thetamin*(M_PI/180)),y-(r-80)*sin(thetamin*(M_PI/180))

,10)

setcolor(15)

line(x,y,x+(r-70)*cos(thetasec*(M_PI/180)),y-(r-70)*sin(thetasec*(M_PI/180

)))

delay(1000)

setcolor(0)

line(x,y,x+(r-70)*cos(thetasec*(M_PI/180)),y-(r-70)*sin(thetasec*(M_PI/180

)))

}

}

//我已通过Turbo C++3.0编译,给分!

建立一个闹钟结构体

struct ALARM

{

unsigned char hour

unsigned char min

unsigned char onoff

}

struct ALARM alarms[6]就有6个闹钟了,而其中的下标就是闹钟序号。

然后就根据时钟(一般分钟就够了)进位信号,逐个查询各闹钟是否开启,若开启则进行时钟与闹钟的时间比较,如果时间相符则闹钟给出定时时间到的信号,以驱动闹铃响起等。

每隔一段时间就会响的闹钟,可以设置。

现在的手机上面自带的闹钟,都是具有这样功能的。

具体的设置如下:

1、多设几个闹钟

点击手机闹钟页面,闹钟~增加闹钟,可以随自己的意愿,设定多个分段的定时闹钟。

2、现在的手机闹钟,如果闹钟响后不点击关闭闹钟,闹钟一般会隔5-30分钟响一次(可以设定间隔时间)

3、可以用按键精灵之类的软件,录制打开某个声音文件的动作,使其重复,重复间隔为5分钟一次

这样的设置,可以使其不间断的循环(也是需要设置的)

若是想循环的重复,那么就是设置为每天,包括周六周日及节假日的选择上面都选

手机闹钟具体的设置步骤如下:

1、在手机桌面上找到时钟,进去之后在闹钟的右边有个“+”符号的,点击一下。然后会出现时间可以自行设置,时间就是闹钟的时间,可以自己随便选择几点几分。

2、选好之后在下面有个重复,点击进去,这个是设置一周内需要几天要闹钟响的一个功能。选好之后返回到原来的页面,有个标签,这个可以自己随便设置,重新命名为其它的名字。

3、下面是个铃声,点击进去选择自己比较喜欢的一个铃声当做自己早起的闹钟铃声。

全部设置好了之后在右上角有个存储,确定全部设置好了之后点击存储就可以了。

这样就能达到你想要的效果了。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存