C++完成鬧鐘法式的辦法。本站提示廣大學習愛好者:(C++完成鬧鐘法式的辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是C++完成鬧鐘法式的辦法正文
本文所述為C++完成鬧鐘法式的辦法,代碼構造絕對簡略,正文也較為完美。現分享給年夜家供年夜家參考。
詳細功效代碼以下:
#include<iostream>
#include<string>
#include<ctime>
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++起到必定的贊助感化。