第2周專案3-時間類(1)
/*
* Copyright (c) 2015, 煙臺大學計算機學院
* All rights reserved.
* 檔名稱:test.cpp
* 作 者:劉暢
* 完成日期:2015年 3 月 14 日
* 版 本 號:v1.0
*
* 問題描述:閱讀、執行程式後,按要求擴充類的功能;
功能(1):請在原類基礎上,在類內增加下列成員函式(將是內建成員函式)
add_a_sec() //增加1秒鐘
add_a_minute() //增加1分鐘
add_an_hour() //增加1小時
* 輸入描述: NULL;
* 程式輸出: 輸出改變後的時間。
程式碼如下:
#include <iostream>
using namespace std;
class Time
{
public:
void set_time( );
void show_time( );
void add_a_sec(int n); //增加1秒鐘
void add_a_minute(int n); //增加1分鐘
void add_an_hour(int n); //增加1小時
private:
bool is_time(int, int, int); //這個成員函式設定為私有的,是合適的,請品味
int hour;
int minute;
int sec;
};
void Time::set_time( )
{
char c1,c2;
cout<<"請輸入時間(格式hh:mm:ss)";
while(1)
{ cin>>hour>>c1>>minute>>c2>>sec;
if(c1!=':'||c2!=':')
cout<<"格式不正確,請重新輸入"<<endl;
else if (!is_time(hour,minute,sec))
cout<<"時間非法,請重新輸入"<<endl;
else
break;
}
}
void Time::show_time( )
{
cout<<hour<<":"<<minute<<":"<<sec<<endl;
}
bool Time::is_time(int h,int m, int s)
{
if (h<0 ||h>24 || m<0 ||m>60 || s<0 ||s>60)
return false;
return true;
}
void Time::add_a_sec(int n)
{
sec=sec+n;
if (sec>=60)
{
minute+=(sec/60);
sec=sec%60;
}
if (minute>=60)
{
hour+=(minute/60);
minute=minute%60;
}
}
void Time::add_a_minute(int n)
{
minute+=n;
if (minute>=60)
{
hour+=(minute/60);
minute=minute%60;
}
}
void Time::add_an_hour(int n)
{
hour+=n;
}
int main( )
{
Time t1;
t1.set_time( );
t1.show_time( );
t1.add_a_sec(1);
t1.show_time();
t1.add_a_minute(1);
t1.show_time();
t1.add_an_hour(1);
t1.show_time();
return 0;
}
執行結果:
相關文章
- 第2周專案3-時間類(2)
- 第4周專案3-用物件陣列操作長方柱類物件陣列
- 第3周專案3-三角形類(程式的多檔案組織)
- 第3周專案1-三角形類1
- 第13周-閱讀專案3-對文字檔案的訪問
- 類庫間無專案引用時,在編譯時拷貝DLL編譯
- 《專案管理之美》第1章專案管理
- 第2周專案2-長方柱類
- 第15周-閱讀專案1-異常處理&&名稱空間
- 專案(Explore)總結之專案時間管理
- 第38期:MySQL 時間類分割槽具體實現MySql
- Hyperf 完整專案-3-郵件-簡訊
- 寒假專案3-應用列舉(示例)
- 日期時間類
- JN專案-時間查詢,結束時間比開始時間小給提示
- 第39期:MySQL 時間類分割槽寫 SQL 注意事項MySql
- 時間管理類APP分析:拇指時間APP
- 寒假專案3-應用列舉(設計)
- 第2周專案1-旱冰場造價
- 時間軸、流程類時間軸繪製
- java時間工具類Java
- LocalDate類操作時間LDA
- 第4周專案2-分數類的雛形
- 管理好時間就是管理好專案 (轉)
- 第4周專案4-指向學生類的指標指標
- 機器學習3-分類演算法機器學習演算法
- 第 20 章 專案實戰--響應式導航[1]
- 第2周專案-課後實踐·閱讀程式(1)
- Joda Time專案和java8時間apiJavaAPI
- 優化 iOS 專案的構建時間(二)優化iOS
- JN專案-時間查詢條件驗證
- 善用時間管理 圓滿完成資訊化專案
- Java專案計算程式執行時間方法Java
- Java 中JDK7時間類與JDK8中的時間類JavaJDK
- 專案類圖
- JS時間軸效果(類似於qq空間時間軸效果)JS
- 第3周專案2-三角形類2
- 第3周專案5-陣列作資料成員(1)陣列