当前位置:编程学习 > C/C++ >>

c++编程定义一时钟类Clock

定义一时钟类Clock,设计成员函数SetAlarm(int hour,int minute,int second)设置响铃时间;用run()成员函数模拟时钟运行,当运行到响铃时间时提示响铃。 如果做的好的还可以加分!!!!
答案:
class clock
{
public:
clock();
~clock();
SetAlarm(int hour,int minute,int second);
increamenthour();
increamentminute();
increamentsecond();
run(int hour,int minute,int second);
private:
int hr;
int min;
int sec;
}


void clock::SetAlarm(int hour,int minute,int second)
{
if(0<=hours&&hours<24)
hr=hour;
else
hr=0;
if(0<=hours&&hours<24)
min=minute;
else
min=0;

if(0<=hours&&hours<24)
sec=second;
else
sec=0;

}

void clock::increamenthour()
{
hr++;
if(hr>23)
hr=0;
}
void clock::increamentminute()
{
min++;
if(min>59)
{
min=0;
increamenthour();
}
}

void clock::increamentsecond()
{
sec++;
if(sec>59)
{
sec=0;
increamtentminute();
}
}

void clock::run(int hour,int minute,int second)
{
increamenthour();
increamentminute();
increamentsecond();
if(hr==hour&&min==minute&&sec=second)
cout<<"铃响"<<endl;
}


刚开始上班,正好有时间,构造函数自己写一下,呵呵。
#include <iostream>
using namespace std;
//时间类
class Time{
private:
int hour;
int minute;
int second;
public:
//设置时间
void set(int h,int m,int s){
hour = h;
minute = m;
second = s;
}
//时间走一秒,时分秒的变化情况
void next(){
if(second<59)
second++;
else if(minute<59){
second=0;
minute++;}
else if(hour<23){
minute=0;
hour++;}
else
hour=0;
}
//得到时间
int get(){
return hour*10000+minute*100+second;
}
};
//时钟类
class Clock{
private:
Time now;
Time ring_time;
public:
//对表,设定初始时间
void adjust_now(int h,int m,int s){
now.set(h,m,s);
cout<<"现在的时间是:"<<h<<"时"<<m<<"分"<<s<<"秒"<<endl;
}
//设定闹铃时间
void adjust_ring(int h,int m,int s){
ring_time.set(h,m,s);
cout<<"闹铃时间是:"<<h<<"时"<<m<<"分"<<s<<"秒"<<endl;
}
//时间过一秒
void tick(){
long int old=time(0);
while(time(0)==old)
;
now.next();
}
//显示当前时间
void showtime(){
cout<<now.get()<<endl;
}
//时钟开始走时,等到了闹铃时间,开始响
void run(){
do{
tick();
showtime();
if(now.get()>=ring_time.get())
cout<<'\a';
}while(1);
}
};

int main(){

Clock c;
c.adjust_now(18,35,40); //起始时间
c.adjust_ring(18,35,45); //闹铃时间

c.run();
}

上一个:c++编程出现问题,忘高手解答
下一个:关于DX和C++编程的问题

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,