设为首页收藏本站

新微赢技术网

 找回密码
 注册
搜索
热搜: 回贴
查看: 1161|回复: 2
打印 上一主题 下一主题

●●●●●很基础的类的题目●●●●●

[复制链接]
跳转到指定楼层
1#
发表于 2009-11-3 01:44:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
实现一个时钟类,要求实现以下方法:
class Time
{
private:
int hour;
int minute;
int second;
public:
void settime(int h,int m,int s); //设置时间
void showtime(); //输出时间
void run(); //每调用一次该方法,时间增加一秒
};
Input
在主函数中输入多组数据,每组两行,第一行为时分秒,中间用空格分隔。第二行为运行了多少时间:秒数n。
Output
程序读入输入的时分秒,输出运行了n秒后的时间。格式请根据样例。
Sample Input
0 3 0
4
0 0 0
60
1 2 3
45
5 6 7
12345
Sample Output
0:3:4
1:0:0
0:1:5
8:31:52
2#
发表于 2009-11-3 01:44:38 | 只看该作者
#include<iostream>
using namespace std;
class Time
{
int hour;
int minute;
int second;
public:
void settime(int h,int m,int s); //设置时间
void showtime(){cout<<hour<<":"<<minute<<":"<<second<<endl;} //输出时间
void run(); //每调用一次该方法,时间增加一秒
};
void Time::settime(int h,int m,int s)
{
hour=h;minute=m;second=s;
m+=s/60;s%=60;
h+=m/60;h%=24;
m%=60;
}
void Time::run()
{
assert(second>=0&&second<=60);
if(second<59)
{
second+=1;
}
else if(second==59){minute+=1;second=0;}
else {minute+=1;second=1;}
}
int main()
{
cout<<"How many array you want to input: ";int arrNum;
cin>>arrNum;
Time time[arrNum];
for (int i=0;i<arrNum;i++)
{
cout<<"The "<<i+1<<"th array!\n";
int h,m,s;
cin>>h>>m>>s;time[i].settime(h,m,s);
int r;
cin>>r;
for (int j=0;j<r;j++)
{
time[i].run();
}
}
for (int k=0;k<arrNum;k++)
{
time[k].showtime();
}
system("pause");
return 0;
}
回复 支持 反对

使用道具 举报

3#
发表于 2009-11-3 01:44:40 | 只看该作者
看看我这个行不?希望大家指教我一下 我是个菜鸟
#include<iostream.h>
class time
{
int hour,minute,second;
public:
time(int h,int m,int s)
{
hour=h;minute=m;second=s;
}
void run()
{
second=second+1;
if(hour>=0&&hour<=24&&minute>=0&&minute<59&&second==60)
{
second=0;
minute=minute+1;
}
else if(hour>=0&&hour<23&&minute==59&&second==60)
{
second=0;
minute=0;
hour=hour+1;
}
else if(hour==23&&minute==59&&second==60)
{
second=0;
minute=0;
hour=0;
}
}
void runto(int n)
{
for(int i=0;i<n;i++)
{
run();
}
}
void print()
{
cout<<hour<<":"<<minute<<":"<<second<<endl;
}
};
void main()
{
int m;
time a(23,59,59);
cout<<"intput the m:"<<endl;
cin>>m;
a.runto(m);
a.print();
}
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

申请友链|小黑屋|最新主题|手机版|新微赢技术网 ( 苏ICP备08020429号 )  

GMT+8, 2024-11-18 07:35 , Processed in 0.074304 second(s), 10 queries , Gzip On, Memcache On.

Powered by xuexi

© 2001-2013 HaiAn.Com.Cn Inc. 寰耽

快速回复 返回顶部 返回列表