一个C++钟表小实验

好,在MOOC上学习C++,有个钟表小实验,一时兴起就跟着做了。。

对于我来说还是有点新颖的……

贴上代码

#include<iostream>
#include<windows.h>
using namespace std;
class Clock{
    private:    //数据成员一般为私有成员 
        int Hour;         //小时属性 
        int Minute;       //分钟属性 
        int Second;       //秒属性 
        float Price;      //价格属性 
    public:     //函数成员一般为公有成员 
        void Set(int h, int m, int s, float p);    //设置时间操作 
        void Run();                                //钟表运转操作 
        void Report_Time();                        //报时响铃操作 
        void Show_Time(){                          //显示时间操作
            cout<<Hour<<":"<<Minute<<":"<<Second;        
        };                          
                            
};


void Clock::Set(int h, int m, int s, float p)      //设置修改四个数据成员值的函数 
{ 
    Hour = h;
    Minute = m;
    Second = s;
    Price = p;
}


void Clock::Run()      //模拟钟表运行的函数 
{

    for(int i=0; i<60; i++) 
    {
        Second++;
        if(Second == 60)
        {
            Second = 0;
            Minute++;
        }
            
        if(Minute == 60)
        {
            Minute = 0;
            Hour++;
        }
        if(Hour == 24)
            Hour = 0;
        cout<<"            \r";     //不换行,返回当前行的首位 (先用空白行代替,避免出现后部分无法消去的情况)
        Sleep(1000);
        Show_Time(); 
    }
}


void Clock::Report_Time()
{
    Show_Time();
    if(Minute==0 && Second==0)
    {
        for(int i=0; i<Hour; i++)
        {
            cout<<"\007";
            Sleep(1000);
        }
    }
}


int main(){
    Clock clock;
    clock.Set(10,0,57,5.5);
    clock.Run();
}

 

 

依稀感觉,这是一个我曾经绞尽老汁想实现的功能丫,

哈哈,果然,在本子上找了下,看~

 

 

 

好,是时候实现这个了,O(∩_∩)O~

 

#include<iostream>
#include<windows.h>
using namespace std;
class Clock{
    private:    //数据成员一般为私有成员 
        int Day; 
        int Hour;         //小时属性 
        int Minute;       //分钟属性 
        int Second;       //秒属性 
        float Price;      //价格属性 
    public:     //函数成员一般为公有成员 
        void Set(int d, int h, int m, int s, float p);    //设置时间操作 
        void Run();                                //钟表运转操作 
        void Report_Time();                        //报时响铃操作 
        void Show_Time(){                          //显示时间操作
            cout<<"距离高考还有"<<Day<<""<<Hour<<"小时"<<Minute<<"分钟"<<Second<<"";        
        };                          
                            
};


void Clock::Set(int d, int h, int m, int s, float p)      //设置修改四个数据成员值的函数 
{ 
    Day = d;
    Hour = h;
    Minute = m;
    Second = s;
    Price = p;
}


void Clock::Run()      //模拟钟表运行的函数 
{

    for(int i=0; i<600; i++) 
    {
        Second--;
        if(Second == -1)
        {
            Second = 60;
            Minute--;
        }
            
        if(Minute == -1)
        {
            Minute = 60;
            Hour--;
        }
        if(Hour == -1)
        {
            Hour = 24;
            Day--;        
        }

        cout<<"                        \r";     //不换行,返回当前行的首位 (先用空白行代替,避免出现后部分无法消去的情况)
        Sleep(1000);
        Show_Time(); 
    }
}


void Clock::Report_Time()
{
    Show_Time();
    if(Minute==0 && Second==0)
    {
        for(int i=0; i<Hour; i++)
        {
            cout<<"\007";
            Sleep(1000);
        }
    }
}


int main(){
    Clock clock;
    clock.Set(100,10,0,57,5.5);
    clock.Run();
}

 

 

 

 

生活啊,总会给你一些意想不到的惊喜*^_^*!

posted @ 2015-12-23 16:05  Nagihiko  阅读(427)  评论(0编辑  收藏  举报