| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 417 人关注过本帖
标题:时间类模拟闹钟,请教,谢谢,问题见程序注释
只看楼主 加入收藏
lianjiecuowu
Rank: 3Rank: 3
来 自:安徽
等 级:论坛游侠
帖 子:152
专家分:107
注 册:2011-5-20
结帖率:85.71%
收藏
已结贴  问题点数:10 回复次数:3 
时间类模拟闹钟,请教,谢谢,问题见程序注释
#include<iostream>
using namespace std;
class clock
{
      public:
      clock(int h,int m,int s);
      void setalarm(int h,int m,int s);
      void showtime();
      void run();
      private:
      int hours, minutes, seconds;
      int ahours, aminutes, aseconds;
};
clock::clock(int h,int m,int s)
{
    seconds=(s>59?0:s);
    minutes=(m>59?0:m);
    hours=(h>23?0:h);
}
void clock::setalarm(int h,int m,int s)
{
     ahours=(h>23?0:h);
     aminutes=(m>59?0:m);
     aseconds=(s>59?0:s);
}
void clock::showtime()
{
     cout<<"now:"<<hours<<":"<<minutes<<":"<<seconds<<endl;
}
void clock::run()
{
     seconds=seconds+1;
     if(seconds>59)
     {
         seconds=0;
         minutes+=1;
     }
     if(minutes>59)
     {
         minutes=0;
         hours+=1;
     }
     if(hours>24)
     hours=0;
     if(hours==ahours&&minutes==aminutes&&seconds==aseconds)
     {
         cout<<"!pink...."<<endl;
         cout<<"时间到了"<<'\a'<<endl;
         
     }
}
int main()
{
    clock c(7,59,57);
    c.showtime();
    c.setalarm(8,0,0);
    for(int i=0;i<3600*24*3+100;i++)                       //为什么是3600*24*3+100,求解释
    c.run();
    c.showtime();                                      程序输出结果为什么是5:1:37
    system("pause");
    return 0;
}
搜索更多相关主题的帖子: private include minutes seconds public 
2011-06-21 23:26
玩出来的代码
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:河南新乡
等 级:贵宾
威 望:11
帖 子:742
专家分:2989
注 册:2009-10-12
收藏
得分:0 
//为什么是3600*24*3+100,求解释
这个没感觉有什么、、

时间到了没跳出来,

离恨恰如春草,更行更远还生。
2011-06-21 23:41
ToBeStronger
Rank: 4
等 级:业余侠客
帖 子:61
专家分:239
注 册:2011-4-8
收藏
得分:10 
楼主我把你的程序跑了一下,发现一个错误:if(hours>24)应该是>23,其次那个100是可以改的,正确的说那一行都可以改;for(int i=0;i<3600*24*2+3;i++)   +3正好是临界点,表示正好到了第三天的8:0:0。此时正好输出now:8:0:0
2011-06-22 00:15
lianjiecuowu
Rank: 3Rank: 3
来 自:安徽
等 级:论坛游侠
帖 子:152
专家分:107
注 册:2011-5-20
收藏
得分:0 
回复 3楼 ToBeStronger
啊...我懂了,3q

Sharp your mind!
2011-06-22 10:30
快速回复:时间类模拟闹钟,请教,谢谢,问题见程序注释
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012249 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved