hotai使用说明书怎么取消iphone整点报时时和闹钟

那个、还想请教你一个问题、就是“整点报时”跟“闹钟”两个功能用C++语言怎么弄?_百度知道
那个、还想请教你一个问题、就是“整点报时”跟“闹钟”两个功能用C++语言怎么弄?
那个、还想请教你一个问题、就是“整点报时”跟“闹钟”两个功能用C++语言怎么弄?我们老师要求弄四面钟的程序、可我们队对Ctime都不懂、如果这位高手可以的话就实在是麻烦了、
提问者采纳
CTime是MFC的类, 你的意思是说你们要用MFC, 不是纯正的C++? 我给你一个例子,包含闹钟、整点报时、秒表功能,没有用CTime,你可以看看,花费了我不少时间:#include &windows.h&#include &iostream&#include &ctime&//-----------------------------------------------------------------------------// 互斥量用于避免线程之间文字输出交叉// 本程序中仅对重要的地方做了保护HANDLE outMvoid initOutMtx(){
outMtx = CreateMutex(NULL, FALSE, NULL);}void destroyOutMtx(){
CloseHandle(outMtx);}void LockOut(){
WaitForSingleObject(outMtx, INFINITE);}void UnlockOut(){
ReleaseMutex(outMtx);}//-----------------------------------------------------------------------------void openHourChime();void closeHourChime();void openAlarm();void closeAlarm();void setupAlarm();void openStopWatch();// 主菜单void mainMenu(){
int op = 10;
while (op != 0) {
LockOut();
cout && endl
&& &请选择功能:& && endl
&& &1. 打开整点报时& && endl
&& &2. 关闭整点报时& && endl
&& &3. 设置闹钟& && endl
&& &4. 打开闹钟& && endl
&& &5. 关闭闹钟& && endl
&& &6. 打开秒表& && endl
&& &0. 退出& && endl &&
UnlockOut();
switch (op) {
openHourChime();
closeHourChime();
setupAlarm();
openAlarm();
closeAlarm();
openStopWatch();
cout && &功能代码错误,请重新选择!& &&
}}//-----------------------------------------------------------------------------#define HOUR_IN_DAY
24#define SECONDS_IN_MIN
60#define SECONDS_IN_HOUR (SECONDS_IN_MIN * SECONDS_IN_MIN)#define SECONDS_IN_DAY
(HOUR_IN_DAY * SECONDS_IN_HOUR)// 计算从输入时间到0点0分的秒数UINT countTimeSeconds(int hour, int min, int sec = 0){
return hour * SECONDS_IN_HOUR + min * SECONDS_IN_MIN +}// 计算当前时间到目标时间的秒数UINT countWaitSeconds(int targetHour, int targetMin, int targetSec){
time_t currentT
struct tm *currentLocalT
UINT currentTimeSeconds, targetTimeS
currentTime = time(NULL);
currentLocalTime = localtime(&currentTime);
currentTimeSeconds = countTimeSeconds(
currentLocalTime-&tm_hour,
currentLocalTime-&tm_min,
currentLocalTime-&tm_sec);
targetTimeSeconds = countTimeSeconds(targetHour, targetMin, targetSec);
if (currentTimeSeconds & targetTimeSeconds)
return targetTimeSeconds - currentTimeS
return SECONDS_IN_DAY + targetTimeSeconds - currentTimeS}//-----------------------------------------------------------------------------int CurrentTimeHHANDLE ChimeThread = NULL;bool isChimeRunning(){
return ChimeThread != NULL;}// 取得当前时间的小时数int getCurrentHour(){
time_t currentT
struct tm *currentLocalT
currentTime = time(NULL);
currentLocalTime = localtime(&currentTime);
return currentLocalTime-&tm_}// 整点报时监测线程DWORD WINAPI chimeThreadProc(LPVOID param){
int chimeH
UINT waitS
// 保存当前小时数,以后计时就不需要再获取当前时间
CurrentTimeHour = getCurrentHour();
// 计算下一个整点
if (CurrentTimeHour == 23)
chimeHour = 0;
chimeHour = CurrentTimeHour + 1;
// 整点报时监测线程每次启动时都要计算需要等待的时间
waitSeconds = countWaitSeconds(chimeHour, 0, 0);
while (true) {
LockOut();
cout && endl && &距离下一个整点时间还有:& && waitSeconds && & 秒!& &&
UnlockOut();
Sleep((UINT)waitSeconds * 1000);
CurrentTimeHour++;
if (CurrentTimeHour == HOUR_IN_DAY)
CurrentTimeHour = 0;
// 此时不需要再次计算等待时间,必定为1小时
// 为了更精确,这里可以对时间进行校正
waitSeconds = SECONDS_IN_HOUR;
cout && endl && &整点时间已到:& && CurrentTimeHour && & 点!& &&
}}// 打开整点报时功能,即打开整点报时监测线程void openHourChime(){
if (!isChimeRunning())
ChimeThread = CreateThread(NULL, 0, chimeThreadProc, NULL, 0, 0);
if (isChimeRunning())
cout && endl && &整点报时打开成功!& &&
cout && endl && &整点报时打开失败!& &&}// 关闭整点报时功能,即关闭整点报时监测线程void closeHourChime(){
if (isChimeRunning()) {
TerminateThread(ChimeThread, 0);
ChimeThread = NULL;
cout && endl && &整点报时已关闭!& &&
cout && endl && &整点报时未打开!& &&}//-----------------------------------------------------------------------------int AlarmTimeHour = -1;int AlarmTimeMin = -1;HANDLE AlarmThread = NULL;bool isAlarmSetup(){
return AlarmTimeHour != -1;}bool isAlarmRunning(){
return AlarmThread != NULL;}// 闹钟监测线程DWORD WINAPI alarmThreadProc(LPVOID param){
// 闹钟监测线程每次启动时都要计算需要等待的时间
UINT waitSeconds = countWaitSeconds(AlarmTimeHour, AlarmTimeMin, 0);
while (true) {
LockOut();
cout && endl && &距离目标时间还有:& && waitSeconds && & 秒!& &&
UnlockOut();
Sleep((UINT)waitSeconds * 1000);
// 此时不需要再次计算等待时间,必定为1天
// 为了更精确,这里可以对时间进行校正
waitSeconds = SECONDS_IN_DAY;
cout && endl && &当前时间已到:&
&& AlarmTimeHour && & 点 &
&& AlarmTimeMin && & 分!& &&
}}// 打开闹钟功能,即打开闹钟监测线程void openAlarm(){
if (!isAlarmSetup()) {
cout && &请先设置闹钟!& &&
// 每次都重启闹钟监测线程,避免线程之间的通信
TerminateThread(AlarmThread, 0);
AlarmThread = CreateThread(NULL, 0, alarmThreadProc, NULL, 0, 0);
if (isAlarmRunning())
cout && endl && &闹钟定时成功!& &&
cout && endl && &闹钟定时失败!& &&}// 关闭闹钟功能,即关闭闹钟监测线程void closeAlarm(){
if (isAlarmRunning()) {
TerminateThread(AlarmThread, 0);
AlarmThread = NULL;
cout && endl && &闹钟已关闭!& &&
cout && endl && &闹钟未打开!& &&}// 设置闹钟预约时间void setupAlarm(){
bool oldRunS
oldRunStatus = isAlarmRunning();
// 在设置过程中暂时关闭闹钟
if (oldRunStatus) {
cout && endl && &关闭当前闹钟...& &&
closeAlarm();
cout && endl && &闹钟设置,请输入预约时间:& &&
// 取得预约小时数
AlarmTimeHour = -1;
while (true) {
cout && endl && &请输入小时(0-23):&;
cin && AlarmTimeH
if (AlarmTimeHour &= 0 && AlarmTimeHour & HOUR_IN_DAY)
cout && endl && &范围错误,请重新输入!& &&
// 取得预约分钟数
AlarmTimeMin = -1;
while (true) {
cout && &请输入分钟(0-59):&;
cin && AlarmTimeM
if (AlarmTimeMin &= 0 && AlarmTimeMin & SECONDS_IN_MIN)
cout && endl && &范围错误,请重新输入!& &&
cout && endl && &闹钟设置为:& && AlarmTimeHour && & 点 & && AlarmTimeMin && & 分!& &&
// 如果闹钟原本处于打开状态,则启动闹钟
if (oldRunStatus)
openAlarm();
cout && endl && &当前闹钟未打开!& &&}//-----------------------------------------------------------------------------// 打开秒表功能void openStopWatch(){
time_t past_time, now_
cout && endl
&& &秒表功能:& && endl
&& &按\&s\&键开始计时& && endl
&& &按\&p\&键停止计时& && endl
&& &按\&e\&键退出秒表& && endl &&
wait = 's';
if (wait != op && op != 'e') {
cout && endl && &无效操作,请重新输入!& &&
switch (op) {
case 's':
past_time = time(NULL);
wait = 'p';
cout && endl && &计时开始,按\&p\&键停止计时,按\&e\&键退出秒表...& &&
case 'p':
now_time = time(NULL);
wait = 's';
cout && endl
&& &计时停止,持续时间:& && difftime(now_time, past_time) && & 秒!& && endl && endl
&& &按\&s\&键开始计时,按\&e\&键退出秒表...& &&
} while (op != 'e');}int main(){
initOutMtx();
mainMenu();
destroyOutMtx();
return 0;}
提问者评价
实在是3Q、这问题我已经找老师完成了嘿嘿
来自:求助得到的回答
其他类似问题
整点报时的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁精准普通手表通用说明书_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
81页免费12页免费27页免费3页免费8页免费 5页免费5页免费46页1下载券12页1下载券2页免费
喜欢此文档的还喜欢11页1下载券16页2下载券132页2下载券69页2下载券3页免费
精准普通手表通用说明书|
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢文档贡献者
该文档贡献者很忙,什么也没留下。
下载此文档
正在努力加载中...
万年历电子钟系统设计
文档星级:
内容提示:万年历电子钟系统设计,万年历电子钟,电子钟,风扇型电子钟,led电子钟,风扇电子钟,hotai电子钟设置,电子钟怎么调时间,桌面电子钟,悬挂在墙上的电子钟
文档格式:DOC|
浏览次数:5|
上传日期: 05:18:06|
下载积分:
该用户还上传了这些文档
官方公共微信
下载文档:万年历电子钟系统设计.DOC按键手机怎么取消整点报时_百度知道
按键手机怎么取消整点报时
这是一道待解决的难题
您的回答被采纳后将获得系统奖励20(财富值+经验值)+难题奖励30(财富值+经验值)
我有更好的答案
按默认排序
找到闹钟设置里面关掉
其他类似问题
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁简单的方法使用IPHONE 让明星为您整点报时(菜鸟撰写)
其实这个方法非常的简单 主要是应用IPHONE自带的闹钟 大家都知道闹钟可以任意设置提示音 那我们把闹钟的提示音设置成明星报时的MP3就可以了!呵呵 简单吧!具体步骤如下:
一.下载明星报时的MP3,通过PC SUIT 或者IB将MP3上传到IPHONE铃声中!
明星报时MP3下载地址:
只需要注册一下论坛即可下载!其中的文件都标示了是几点的报时文件!全天24小时都有!
二.打开闹钟软件,添加闹钟,设置闹钟的时刻,并选择与其对应时间的明星报时文件!如果想全天都整点报时 那就要设置24个闹钟了!
到此就全部设置完毕!享受明星每天对你的提醒和问候吧!
看到大家对这个老贴依然这么热情 今天本来想把所有的报时文件都传上来 而且我曾经都已经转换成M4A格式了 刚才一找才想起了 我电脑重装系统了~什么都没有了~~对不起大家了~~~
[ 本帖最后由 fei1200 于
22:39 编辑 ]
非图片附件下载:
加入你的评论
iPhone / iPod Touch APPS
计算器类应用之前也给大家推荐过不少,很多都能够满足日常生活中的简单计算。不过因为简单计算有 iOS 原生自带的就可以,而高级计算很多计算器又毫无作用,所以特别抢眼的其实并不多。但是一款名叫《有数(Tydlig)...
不可否认,练瑜伽确实是一个锻炼身心的好方法,长期坚持可以让人的心得到平静,在介绍这款应用之前,我想大家或多或少都有接触过类似的应用,有在配合练习的,也有的在准备的路上,不过对于初学者来说,没必要使用那...
如果说剁手是事前的解决方案,那么二手交易则看起来更像是一个事后的解决方案。在二手交易逐渐火爆的背景下,专注于二手交易服务的手机应用也越来越多,猎趣就是最新发布的一款二手交易平台。
《Living Earth(实时地球)》是一款与众不同的天气工具,它以 3D 地球仪的形式显示世界天气,重要的是以卫星云图实时的展现地球全貌,并且与卫星同步,你可以观察到地球表面细微的云层变化。它既是时钟应用也是天气...}

我要回帖

更多关于 整点报时语音 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信