用C++写时钟程序

/***********************************/

函数功能:设置两个时钟,一个时钟向前走,一个时钟向后走

/***********************************/

#include <iostream>



using namespace std; // 其中using 为引用,namespace为命名空间,std 为标准库


//第一种写法 
struct clock 
{
int hour,hour1;
int minute,minute1;
int second,second1;

};
void disp(struct clock c)
{
cout << c.hour <<":" << c.minute <<":" << c.second << endl;

}


void set_hour(struct clock *c,int h)
{
c->hour = h;

}
void set_minute(struct clock *c,int m)
{
c->minute = m;

}
void set_second(struct clock *c,int s)
{
c->second = s;

}
void set_clock(struct clock *c,int h,int m,int s)
{
set_hour(c,h);
set_minute(c,m);
set_second(c,s);
}
void run_clock_front(struct clock *c)
{   
c->second++;
if(c->second > 60)
{
c->minute = c->minute + 1;
c->second = 0;
}

if(c->minute > 60)
{
c->hour = c->hour + 1;
c->minute = 0;
}

if(c->hour > 24)
{
c->hour = 0;
}
cout << "\n\n\n " <<"\t\t\t" <<c->hour << ":" << c->minute <<":" << c->second << endl;
//sleep(1);
//system("clear");
}


void run_clock_back(struct clock *c)
{   
c->second1--;
if(c->second1 == 0)
{
c->minute1 = c->minute1 - 1;
c->second1 = 60;
}

if(c->minute1 == 0)
{
c->hour1 = c->hour1 - 1;
c->minute1 = 60;
}

if(c->hour1 == 0)
{
c->hour1 = 24;
}
cout << "\n\n\n\n " <<"\t\t\t" <<c->hour1 << ":" << c->minute1 <<":" << c->second1 << endl;
sleep(1);
//system("clear");
}
int main()
{
struct clock  c;   //在C语言中,只能写成 struct clock c;另外:clock在标准库中已经定义过了
disp(c);
set_clock(&c,10,15,20);
disp(c);
cout << "please enter HH:MM:SS:";
cin >> c.hour1 >> c.minute1 >> c.second1;
while(1)
{
 run_clock_front(&c);
 run_clock_back(&c);
 system("clear");
}
return 0;
}

猜你喜欢

转载自blog.csdn.net/xiaonan153/article/details/80399290