C++實(shí)現(xiàn)鬧鐘程序的方法
本文所述為C++實(shí)現(xiàn)鬧鐘程序的方法,代碼結(jié)構(gòu)相對(duì)簡(jiǎn)單,注釋也較為完善?,F(xiàn)分享給大家供大家參考。
具體功能代碼如下:
#include<iostream> #include<string> #include<ctime> using namespace std; //時(shí)間類(lèi) 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í)鐘類(lèi) 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í)間過(guò)一秒 void tick(){ long int old=time(0); while(time(0)==old) ; now.next(); } //顯示當(dāng)前時(shí)間 void showtime(){ cout<<now.get()<<endl; } //時(shí)鐘開(kāi)始走時(shí),等到了鬧鈴時(shí)間,開(kāi)始響 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(); }
感興趣的讀者可以測(cè)試運(yùn)行一下該實(shí)例代碼,功能不足之處可以根據(jù)情況加以改進(jìn)和完善。希望該實(shí)例能夠?qū)Υ蠹覍W(xué)習(xí)C++起到一定的幫助作用。
相關(guān)文章
對(duì)C語(yǔ)言中指針的理解與其基礎(chǔ)使用實(shí)例
這篇文章主要介紹了對(duì)C語(yǔ)言中指針的理解與其基礎(chǔ)使用實(shí)例,文中援引了知乎熱門(mén)問(wèn)題"為什么說(shuō)指針是 C 語(yǔ)言的精髓?"中的精彩回答,需要的朋友可以參考下2016-03-03VS?Code+msys2配置Windows系統(tǒng)下C/C++開(kāi)發(fā)環(huán)境
我們?cè)趙indows10中使用VS Code做C++程序開(kāi)發(fā)過(guò)程中,需要安裝MSYS2和MinGW,下面這篇文章主要給大家介紹了關(guān)于VS?Code+msys2配置Windows系統(tǒng)下C/C++開(kāi)發(fā)環(huán)境的相關(guān)資料,需要的朋友可以參考下2022-12-12C++語(yǔ)法詳解之封裝、構(gòu)造函數(shù)、析構(gòu)函數(shù)
這篇文章主要介紹了C++語(yǔ)法詳解之封裝、構(gòu)造函數(shù)、析構(gòu)函數(shù)的相關(guān)知識(shí),通過(guò)實(shí)例代碼給大家詳細(xì)介紹,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03C語(yǔ)言實(shí)現(xiàn)通訊錄的詳細(xì)代碼
本文詳細(xì)講解了C語(yǔ)言實(shí)現(xiàn)通訊錄的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-12-12Qt5 串口類(lèi)QSerialPort的實(shí)現(xiàn)
在Qt5以上提供了QtSerialPort模塊,方便編程人員快速的開(kāi)發(fā)應(yīng)用串口的應(yīng)用程序。本文主要介紹了Qt5 串口類(lèi)QSerialPort的實(shí)現(xiàn),,感興趣的可以了解一下2022-05-05c#中實(shí)現(xiàn)退出程序后自動(dòng)重新啟動(dòng)程序的方法
下面小編就為大家?guī)?lái)一篇c#中實(shí)現(xiàn)退出程序后自動(dòng)重新啟動(dòng)程序的方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-01-01解析為何要關(guān)閉數(shù)據(jù)庫(kù)連接,可不可以不關(guān)閉的問(wèn)題詳解
本篇文章是對(duì)為何要關(guān)閉數(shù)據(jù)庫(kù)連接,可不可以不關(guān)閉的問(wèn)題進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05