C++實(shí)現(xiàn)鬧鐘程序的方法
本文所述為C++實(shí)現(xiàn)鬧鐘程序的方法,代碼結(jié)構(gòu)相對(duì)簡單,注釋也較為完善?,F(xiàn)分享給大家供大家參考。
具體功能代碼如下:
#include<iostream>
#include<string>
#include<ctime>
using namespace std;
//時(shí)間類
class Time{
private:
int hour;
int minute;
int second;
public:
//設(shè)置時(shí)間
void set(int h,int m,int s){
hour = h;
minute = m;
second = s;
}
//時(shí)間走一秒,時(shí)分秒的變化情況
void next(){
if(second<59)
second++;
else if(minute<59){
second=0;
minute++;}
else if(hour<23){
minute=0;
hour++;}
else
hour=0;
}
//得到時(shí)間
int get(){
return hour*10000+minute*100+second;
}
};
//時(shí)鐘類
class Clock{
private:
Time now;
Time ring_time;
public:
//對(duì)表,設(shè)定初始時(shí)間
void adjust_now(int h,int m,int s){
now.set(h,m,s);
cout<<"現(xiàn)在的時(shí)間是:"<<h<<"時(shí)"<<m<<"分"<<s<<"秒"<<endl;
}
//設(shè)定鬧鈴時(shí)間
void adjust_ring(int h,int m,int s){
ring_time.set(h,m,s);
cout<<"鬧鈴時(shí)間是:"<<h<<"時(shí)"<<m<<"分"<<s<<"秒"<<endl;
}
//時(shí)間過一秒
void tick(){
long int old=time(0);
while(time(0)==old)
;
now.next();
}
//顯示當(dāng)前時(shí)間
void showtime(){
cout<<now.get()<<endl;
}
//時(shí)鐘開始走時(shí),等到了鬧鈴時(shí)間,開始響
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); //起始時(shí)間
c.adjust_ring(18,35,45); //鬧鈴時(shí)間
c.run();
}
感興趣的讀者可以測試運(yùn)行一下該實(shí)例代碼,功能不足之處可以根據(jù)情況加以改進(jìn)和完善。希望該實(shí)例能夠?qū)Υ蠹覍W(xué)習(xí)C++起到一定的幫助作用。
相關(guān)文章
C語言實(shí)現(xiàn)BMP圖像閉運(yùn)算處理
這篇文章主要為大家詳細(xì)介紹了C語言實(shí)現(xiàn)BMP圖像閉運(yùn)算處理,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-10-10
vscode工程中c_cpp_properties.json文件作用詳細(xì)說明
c_cpp_properties.json是Visual Studio Code的一個(gè)配置文件,用于定義C/C++編譯器的路徑、默認(rèn)包含路徑和預(yù)處理器定義,這篇文章主要給大家介紹了關(guān)于vscode工程中c_cpp_properties.json文件作用詳細(xì)說明的相關(guān)資料,需要的朋友可以參考下2024-08-08
C++異步操作future和aysnc與function和bind
這篇文章主要介紹了C++異步操作future和aysnc與function和bind,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-09-09
C++中strlen函數(shù)的三種實(shí)現(xiàn)方法
在C語言中我們要獲取字符串的長度,可以使用strlen?函數(shù),strlen?函數(shù)計(jì)算字符串的長度時(shí),直到空結(jié)束字符,但不包括空結(jié)束字符,因?yàn)閟trlen函數(shù)時(shí)不包含最后的結(jié)束字符的,因此一般使用strlen函數(shù)計(jì)算的字符串的長度會(huì)比使用sizeof計(jì)算的字符串的字節(jié)數(shù)要小2022-05-05
C++ 數(shù)據(jù)結(jié)構(gòu)之對(duì)稱矩陣及稀疏矩陣的壓縮存儲(chǔ)
這篇文章主要介紹了C++ 數(shù)據(jù)結(jié)構(gòu)之對(duì)稱矩陣及稀疏矩陣的壓縮存儲(chǔ)的相關(guān)資料,這里實(shí)現(xiàn)稀疏矩陣和對(duì)稱矩陣的壓縮存儲(chǔ)的實(shí)例,需要的朋友可以參考下2017-08-08
wchar_t,char,string,wstring之間的相互轉(zhuǎn)換
以下是對(duì)wchar_t,char,string,wstring之間的相互轉(zhuǎn)換進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過來參考下,希望對(duì)大家有所幫助2013-09-09

