第七週-專案1-時間類
/* * 程式的版權和版本宣告部分 * Copyright (c)2013, 煙臺大學計算機學院學生 * All rightsreserved. * 檔名稱: object.cpp * 作者:楊紹寧 * 完成日期: 2013年 4 月 16日 * 版本號: v1.0 * 輸入描述:無 * 問題描述: 靜態的資料成員 * 程式輸出:時間。 */ #include <iostream> using namespace std; class Time{ public: Time(int=0,int=0,int=0); void show_time(); //根據is_24和from0,輸出適合形式-20:23:5/8:23:5 pm/08:23:05 pm void add_seconds(int); //增加n秒鐘 void add_minutes(int); //增加n分鐘 void add_hours(int); //增加n小時 static void change24(); //改變靜態成員is_24,在12和24時制之間轉換 static void changefrom0(); //改變靜態成員from0,切換是否前導0 private: static bool is_24; //為true時,24小時制,如20:23:5;為flase,12小時制,顯示為8:23:5 pm static bool from0; //為true時,前導0,8:23:5顯示為08:23:05 int hour; int minute; int sec; }; bool Time::is_24=true; bool Time::from0=false; Time::Time(int m,int n,int z):hour(m),minute(n),sec(z){} void Time::show_time()//根據is_24和from0,輸出適合形式-20:23:5/8:23:5 pm/08:23:05 pm { int h; if(is_24) h=hour; else h=hour%12; if(h<10&&from0) cout<<'0'; cout<<h<<':'; if(minute<10&&from0) cout<<'0'; cout<<minute<<':'; if(sec<10&&from0) cout<<'0'; cout<<sec; if(!is_24) { if(hour>12) cout<<"pm"; else cout<<"am"; } cout<<endl; } void Time::add_seconds(int n)//增加n秒鐘 { sec+=n; if(sec>59) { add_minutes(sec/60); sec%=60; } } void Time::add_minutes(int n) { minute+=n; if(minute>59) { add_hours(minute/60); minute%=60; } } void Time::add_hours(int n)//增加n小時 { hour+=n; if(hour>23) { hour%=24; } } void Time::change24() { is_24=!is_24; } void Time::changefrom0() { from0=!from0; } //下面寫出靜態成員的初始化及各成員函式的定義…… int main( ) //執行結果如圖所示 { int n=10; Time t1(23,14,25),t2(8,45,6); cout<<"24時制,不前導0:"<<endl; cout<<"t1是:"; t1.show_time(); cout<<"t2是:"; t2.show_time(); cout<<"10小時後,切換是否前導0"<<endl; t1.add_hours(n); t2.add_hours(n); Time::changefrom0(); cout<<"t1是:"; t1.show_time(); cout<<"t2是:"; t2.show_time(); cout<<"換一種制度:"<<endl; Time::change24(); cout<<"t1是:"; t1.show_time(); cout<<"t2是:"; t2.show_time(); }
結果:
感受:布林型別,靜態變數!
相關推薦
第七週-專案1-時間類
/* * 程式的版權和版本宣告部分 * Copyright (c)2013, 煙臺大學計算機學院學生 * All rightsreserved. * 檔名稱: object.cpp * 作者:楊
第七週專案1-點類-成員函式
問題及程式碼: /* *Copyright (c) 2016,煙臺大學計算機學院 *All rights reserved. *檔名稱:zwj.cpp *作 者:張偉晶 *完成日期:2
第七週專案1-點類-一般函式
問題及程式碼: /* *Copyright (c) 2016,煙臺大學計算機學院 *All rights reserved. *檔名稱:zwj.cpp *作 者:張偉晶 *完成日期:2
第五週專案3 時間類的練習(1)
/* *Copyright(c) 2016,煙臺大學計算機學院 *All rights reserved. *檔名稱:test2.cpp *作 者:劉金石 *完成日期:201
第五週專案三 時間類(1)
問題及程式碼: /* *Copyright(c)2016,煙臺大學計算機與控制工程學院 *All right reserved. *檔名稱:main.cpp *作 者:郝昱猛 *完成日期:2016年4月5日 *版 本 號:v1.0 * *問題描述:在原
第五週專案3-時間類(2)修改
修改原因:在上一篇博文中第五週專案3-時間類(2)中提交的程式碼存在一些問題: (1) 老師給出的程式碼中,輸入60或24也算作合法時間,但是在現實生活中並不存在這樣的時間,所以要把程式碼改一下; (2)當輸入的要增加的秒,分,小時數加上原本的時,分,秒數大於60或者24
第五週專案3-時間類(2)
問題及程式碼: /* *Copyright (c) 2016,煙臺大學計算機學院 *All rights reserved. *檔名稱:zwj.cpp *作 者:張偉晶 *完成日期:2
第五週專案三 時間類(2)
問題及程式碼: /* *Copyright(c)2016,煙臺大學計算機與控制工程學院 *All right reserved. *檔名稱:main.cpp *作 者:郝昱猛 *完成日期:2016年4月5日 *版 本 號:v1.0 * *問題描述:在原
第七週--專案1建立環形佇列演算法庫
* * Copyright (c++) 2015 煙臺大學計算機學院 * All right reserved. * 檔名稱:huan.cpp * 作 者: 商文軻 *
第五週 專案3-時間類(2)
/* *Copyright(c)2014,煙臺大學計算機與控制工程學院 *Allrights reserved. *檔名稱:test.cpp *作者:肖雪 *完成日期:2016年4月12日 *版本號:v1.0 * *問題描述: (2)
第五週專案3-時間類
/*2015.煙臺大學計算機與控制工程學院 *ALL rightreserved. *檔名稱:test.cpp *作者:陳文浩 *完成日期:2016年4月6日。 */ /*問題及程式碼: 閱讀、執行程式後,按要求擴充類的功能 [cp
第七週專案1-求並聯電阻
#include <iostream> using namespace std; int main() { double R1,R2,R; cout<<"請輸入兩個電阻阻值R1,R2 :"<<endl;
第七週--專案1-靜態成員應用
/* * Copyright (c) 2011, 煙臺大學計算機學院 * All rights reserved. * 作 者:王靜 * 完成日期:2013 年 4 月 16 日 * 版 本 號:v1.0 * 輸入描述: * 問題描述: 設計含有靜
第五週專案3 時間類的練習(2)
/* *Copyright(c) 2016,煙臺大學計算機學院 *All rights reserved. *檔名稱:5.4-3.2.cpp *作 者:劉金石 *完成日期:2016年3月29日 *版本 號:v1.0 *問題描述:時間類的練習,增加三個成
第五週專案三時間類2
/* *copyright(c)2016,煙臺大學計算機與控制工程學院 *All rights reserved. *檔名稱:text.cpp *作者:閆舒 *完成日期:2016年5月31日 *版本號:Code::Blocks 12.11
15第八週專案三——分數類中的運算子過載(1)
/* * Copyright (c) 2014, 煙臺大學計算機學院 * All rights reserved. * 檔名稱:test.cpp * 作 者:李曉凱 * 完成日期:2015年 4 月 29 日 * 版 本 號:v1.0 * * 問題描
第八週專案三——分數類中的運算子過載(1)
/* *Copyright (c) 2014,煙臺大學計算機學院 *All rights reserved. *檔名稱: test.cpp *作 者:陳丹 *完成日期:2015年5月5日 *版本號:v1.0 * *問題描述:實現分數類中的運
第十三週專案1最小生成樹的普里姆演算法
/*Copyright (c) 2015, 煙臺大學計算機與控制工程學院 * All rights reserved. * 檔名稱:H1.cpp * 作者:辛志勐 * 完成日期:2015年11月27日 * 版本號:VC6.0 * 問題描述:最小生成樹的普里姆演算法 * 輸入描述:無 * 程式輸出:
第十三週專案1最小生成樹的克魯斯卡爾演算法
/*Copyright (c) 2015, 煙臺大學計算機與控制工程學院 * All rights reserved. * 檔名稱:H1.cpp * 作者:辛志勐 * 完成日期:2015年11月30日 * 版本號:VC6.0 * 問題描述:最小生成樹的克魯斯卡爾演算法 * 輸入描述:無 * 程式輸
【第十週專案1】二叉樹演算法驗證(一)
/* Copyright (c)2017,煙臺大學計算機與控制工程學院 All rights reserved. 檔名稱:33.cpp 作 者:尚文哲 完成日期:2017年11月9日 問題描述: 執行並重複測試教學內容中涉及的演算法。改