第七週C++上級報告(靜態成員應用)
/* * 程式的版權和版本宣告部分 * Copyright (c)2012, 煙臺大學計算機學院學生 * All rightsreserved. * 檔名稱: 時間———靜態成員應用.cpp * 作者:王昕彤 * 完成日期: 2013年 4 月 12 日 * 版本號: 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; }; //下面寫出靜態成員的初始化及各成員函式的定義…… int main( ) { cout<<"24小時制,前導0:"<<endl; Time t1(23,14,25),t2(8,45,6); t1.show_time(); t2.show_time(); cout<<"12小時制,前不導0:"<<endl; t2.change24(); t2.changefrom0(); t2.show_time(); cout<<"10小時後,切換是否導0:"<<endl; Time::changefrom0(); t1.add_hours(10); t1.show_time(); return 0; } Time::Time(int h,int m,int s) { hour=h; minute=m; sec=s; } void Time::show_time( ) { if(is_24==0&&from0==0) { if(hour>12) { hour=hour%12; cout<<hour<<":"<<minute<<":"<<sec<<endl; } else { cout<<hour<<":"<<minute<<":"<<sec<<endl; } } if(is_24==1&&from0==1) { if(hour<10&&minute<10&&sec<10) cout<<"0"<<hour<<":"<<"0"<<minute<<":"<<"0"<<sec<<endl; else if(hour<10&&minute<10) cout<<"0"<<hour<<":"<<"0"<<minute<<":"<<sec<<endl; else if(minute<10&&sec<10) cout<<hour<<":"<<"0"<<minute<<":"<<"0"<<sec<<endl; else if(hour<10&&sec<10) cout<<"0"<<hour<<":"<<minute<<":"<<"0"<<sec<<endl; else if(hour<10) cout<<"0"<<hour<<":"<<minute<<":"<<sec<<endl; else if(minute<10) cout<<hour<<":"<<"0"<<minute<<":"<<sec<<endl; else if(sec<10) cout<<hour<<":"<<minute<<":"<<"0"<<sec<<endl; } if(is_24==1&&from0==0) { cout<<hour<<":"<<minute<<":"<<sec<<endl; } if(is_24==0&&from0==1) { cout<<"0"<<hour%12<<":"<<minute<<":"<<sec<<" pm"<<endl; } else if(hour<12&&hour>=10) cout<<hour%12<<":"<<minute<<":"<<sec<<" am"<<endl; else if(hour<10) cout<<"0"<<hour<<":"<<minute<<":"<<sec<<" am"<<endl; } void Time::add_seconds(int s) { sec+=s; while(sec>60) { sec-=60; ++minute; } while(minute>60) { minute-=60; ++hour; } while(hour>24) { hour-=24; } } void Time::add_minutes(int m) { minute+=m; while(minute>60) { minute-=60; ++hour; } while(hour>24) { hour-=24; } } void Time::add_hours(int h) { hour+=h; while(hour>24) { hour-=24; } } void Time::change24() { if(is_24=1) { is_24=0; } else { is_24=1; } } void Time::changefrom0() { if(from0=1) { from0=0; } else { from0=1; } } bool Time::is_24=1; bool Time::from0=1;
執行結果:
相關推薦
第七週C++上級報告(靜態成員應用)
/* * 程式的版權和版本宣告部分 * Copyright (c)2012, 煙臺大學計算機學院學生 * All rightsreserved. * 檔名稱: 時間———靜態成員應用.cpp * 作者:王昕彤 * 完成日期: 2013年 4 月 12 日 * 版本號:
第14周C++上機報告(抽象基類CSolid)
/* * 程式的版權和版本宣告部分 * Copyright (c)2012, 煙臺大學計算機學院學生 * All rightsreserved. * 檔名稱: object.cpp * 作者:王昕彤 * 完成日期: 2013年 6 月 3 日 * 版本號: v1.0 * 輸
第七週上機實踐專案 專案1-成員函式,友元函式,和一般函式的區別(2)
問題及程式碼: (2)模仿上面的示例,完成求點類中距離的任務。你需要實現求距離函式的三種版本:分別利用成員函式、友元函式和一般函式求兩點間距離的函式,並設計main()函式完成測試。 提示:此專案和例子的區別在於“距離是一個點和另外一個點的距離”,不同版本在引數上有體現。三
第11周C++上機報告(點與直線,繼承與派生)
/* * 程式的版權和版本宣告部分 * Copyright (c)2012, 煙臺大學計算機學院學生 * All rightsreserved. * 檔名稱: object.cpp * 作者:王昕彤 * 完成日期: 2013年 5 月 20 日 * 版本號: v1.0 *
我的第六個C++上機報告(求四個數中的最大數和最小數)
/* * Copyright (c) 2011, 煙臺大學計算機學院 * All rights reserved. * 作 者:王昕彤 * 完成日期:2012 年 10月 11日 * 版 本 號:v1.0 * * 輸入描述:四個數 * 問題描述:給定四個數,求出其中
團隊專案第六週——事後諸葛亮分析(蘇察哈爾燦)
總結 我們團隊做的是web網頁活動訂座系統,剛開始討論的是電影訂票系統,但後來覺得太尋常了,於是為了增加可選擇性,改成活動訂座系統,這樣無論什麼活動,只要涉及活動訂座,都可以使用此係統,具有活動通用性,團隊成員覺得都可以。於是便開始進行前後端的分工設計,想好web網頁需要分成幾個部分,每個人需要負責什麼,然
紫書第七章-----暴力求解法(全排列演算法)
遞迴求全排列 /* 本程式是遞迴實現全排列演算法。 思想是分別讓誰打頭。以1,2,3,4為例,一共只有4位, 第一位可以分別讓1,2,3,4打頭,以第一位是1為例, 第二位可以分別讓2,3,4打頭,以第二位是2為例,
作業系統第七、八章總結(7、8)
第 七 、八 章 檔案與磁碟空間管理 檔案定義、型別、檔案系統模型 檔案結構、外存分配 目錄(層次、檢索)、儲存空間管理 兩種常用檔案共享方法 檔案保護、資料一致性、磁碟提速… 1、檔案和檔案系統 檔案管理:把所管理的程式和資料組織成一系列的檔案
C語言程式設計(圖形庫應用)--導航
** 1.引言 ** 最近又開始研究以前高中接觸的C++圖形庫(easyx),準備在此基礎上進行一些有趣的例項開發並做一些C語言程式設計教程。 2.開發環境 Visual Studio C
學習C語言的總結(第七週)
1.在宣告字元常量的時候,要記住字元應該用單引號來括住 2.同時,字元常量應該是一種常量,在宣告的時候要注意常量應該賦給變數,別忘記把變數給寫上,直接宣告字元常量了 3.無論是轉義序列還是普通的字元,在雙引號裡面都不用使用單引號 4.編址 儲存器是由一個個儲存單元(1)構成的,為
【C語言】多項式加法(mooc第七週測試題)
這個小題目吧我折磨的夠嗆,,主要在於特殊情況考慮不周,測試用例老是通不過。。 小結: 做法:用一個數組來儲存多項式,用下標表示冪次數,陣列元素值表示對應係數 輸出特殊格式考慮:係數和冪次數為0,1,-1的情況,負係數的對加號輸出的影響 題目內容:
北京大學MOOC C++程式設計 程式設計與演算法(三)第七週測驗
1:簡單的SumArray 描述 填寫模板 PrintArray,使得程式輸出結果是: TomJackMaryJohn 10 不得編寫SumArray函式 #include <iostream> #include <string> using n
四川第七屆 C Censor (字符串哈希)
ren long long ack stack www pop multipl red lin Censor frog is now a editor to censor so-called sensitive words (敏感詞). She has a long tex
第七週動手動腦(2018.10.29-11.4)
動手動腦1: 執行 TestInherits.java 示例,觀察輸出,注意總結父類與子類之間構造方法的呼叫關係修改Parent構造方法的程式碼,顯式呼叫GrandParent的另一個建構函式,注意這句呼叫程式碼是否是第一句,影響重大! 執行截圖: 結論:通過 super 呼叫基類構造方法,必須是子
10-19日(第七週週五)上課簡記switch語句
注意事項1:if結構中,該用{ }的地方一定要用,否則程式會出錯。 執行下列程式,看看有沒有問題?如果有,原因何在?該如何修改? #include<stdio.h> int main() { int a,b,max; scanf("%d%d",&
10-17日(第七週週三)上課簡記:選擇結構
1.演算法——程式設計的靈魂 提問:當你面對一個問題時,你解決它的基本步驟是什麼? 答曰:理解問題;制定計劃;執行計劃;回頭看。 提問:如何用計算機求解問題? 答曰:問題描述——>對問題進行抽象,數學建模(讓計算機理解問題)——>演算法設計——>程式
10-15日(第七週週一)上課簡記
計算機歸根結底所做的事情只有一件,就是計算。而最簡單的計算就是算術運算。我們上小學就開始接觸算術運算。 1.算術運算子及表示式 1.1 常用的演算法運算子有:加“+”,減“-”,乘“*”,除“/”和取餘“%”。 #include<stdio.h> int
組隊賽(第七週)
ABDE為水題,CF為dp A - Nth Largest Value 4552 Nth Largest Value For this problem, you will write a program that prints the N-th largest value in a
點餐系統(第七週)
本週部落格(第七週) 專案地址: 點選此處 前言: 關於專案描述,預期使用者量在第一週已經做了說明,這裡不再贅述; 詳情第一週部落格 需求說明: 1.詳情需求說明,內容即為目前階段期望優先完成的需求。 2.預期入駐店家數量:10家,普通使用者數量視店家經營狀況才能預估,現階段無法預估。
201711671203《Java程式設計》學習報告第七週
這周就簡單寫寫好了 教材內容總結 這周的內容主要關於介面(理解的不是很透徹): 介面是Java和c#語言使用的一種資料型別,包含常量的宣告(沒有變數)和抽象方法兩部分。介面體中沒有普通的方法且所有的常量的訪問權都是public,而且是static常量(允許省略public,fin