| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 802 人关注过本帖
标题:这是一个基于对象的程序设计,定义一个时间类,算时分秒,要能实现设置时间 ...
只看楼主 加入收藏
安静的高调
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2011-3-26
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:6 
这是一个基于对象的程序设计,定义一个时间类,算时分秒,要能实现设置时间,能对其进行自增,并实现输出,麻烦帮我调一下!
#include<iostream>
using namespace std;
class Time
{public:
   void set_time();
   void increase_time();
   void output_time();
 private:
   int hour;
   int minute;
   int sec;
};
 

void Time::set_time()
{
    cin>>hour;
    cin>>minute;
    cin>>sec;
}

void Time::increase_time()
{
  if(minute<60)
     minute++;
     if(sec<60)
        sec++;  
    cout<<hour<<":"<<minute<<":"<<sec<<endl;
}

void Time::output_time()
{
    cout<<hour<<":"<<minute<<":"<<sec<<endl;
}

Time t;
int main()
{
 
  t.set_time();
  t.increase_time();
  t.output_time();
return 0;
}
这是一个基于对象的程序设计,定义一个时间类,算时分秒,要能实现设置时间,能对其进行自增,并实现输出,我把其他部分都写好了,不知道怎么能实现自增,麻烦帮我调一下.
搜索更多相关主题的帖子: 时间 
2011-04-09 11:10
hnuhsg1226
Rank: 9Rank: 9Rank: 9
来 自:中国
等 级:蜘蛛侠
威 望:2
帖 子:314
专家分:1314
注 册:2011-3-27
收藏
得分:10 
increase_time()函数有问题,帮你改了下
void Time::increase_time()
{
    sec++;
    if(sec==61)
    {
        sec=1;
        if(minute<59)
            minute++;
        else
        {
            minute=0;
            hour++;
        }
    }
}
收到的鲜花

我的地盘
2011-04-09 12:06
安静的高调
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2011-3-26
收藏
得分:0 
那这个程序怎么能实现不断的自加的过程呢?
2011-04-10 11:45
njkido
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
帖 子:224
专家分:1184
注 册:2011-3-8
收藏
得分:3 
我的想法是:
1>在构造函数中起一个线程,其中
while(1)
{
    if(!flag) break;

    //用mutex保护,时分秒自增操作

    //sleep(1000); or WaitForSingleObject(...);
}
在析构函数中flag置false

2>加一个成员timer,利用timer的callback来自增
收到的鲜花
2011-04-10 12:49
张春平
Rank: 3Rank: 3
来 自:北城
等 级:论坛游侠
帖 子:48
专家分:124
注 册:2010-12-2
收藏
得分:2 
我认为实现自加过程应该用一下运算符的重载。
收到的鲜花
2011-04-10 20:27
安静的高调
Rank: 1
等 级:新手上路
帖 子:23
专家分:0
注 册:2011-3-26
收藏
得分:0 
回复 5楼 张春平
那运算符的重载要怎么运用呢?
2011-04-11 12:15
相望あ江湖
Rank: 2
等 级:论坛游民
帖 子:11
专家分:25
注 册:2011-4-6
收藏
得分:5 
void Time::increase_time()
{
      sec++;
 if(minute==60){
      minute=0;
      hour=(hour++)%24;
      if(sec<60)
        sec++;
      else{ minute++;
      sec=0;}
  }
  else{
    if(sec<60)
        sec++;
      else{ minute++;
      sec=0;  }  
    }   
}
这样应该可已吧!
收到的鲜花
2011-04-11 19:04
快速回复:这是一个基于对象的程序设计,定义一个时间类,算时分秒,要能实现设置 ...
数据加载中...
 
   



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

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