1. 程式人生 > >第五週專案三(1)-時間類

第五週專案三(1)-時間類

問題及程式碼:

/*
*煙臺大學計算機學院
*檔名稱:xiangmu3(1).cpp
*作    者:閆安
*完成日期:2016年4月8日
*版 本 號:codeblocks 16.01
*
*問題描述:在原時間類的基礎上,在類內增加下列成員函式(將是內聯成員函式)
           add_a_see()    //增加一秒
           add_a_minute()   //增加一分鐘
           add_a_hour()    //增加一小時
           在main()函式中,呼叫新增的成員函式,以測試擴充後的功能。
*輸入描述:無
*程式輸出:任務的各種狀態
*/
#include<iostream>
using namespace std;
class Time
{
public:
    void set_time();
    void show_time();
    void add_a_sec();    //增加一秒
    void add_a_minute();   //增加一分鐘
    void add_a_hour();    //增加一小時
private:
    bool is_time(int h,int m,int s);
    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;
    }
}
inline void Time::add_a_sec()    //增加一秒
{
    if(sec<59)
        sec++;
    else
    {
        sec=0;
        add_a_minute();
    }
}
inline void Time::add_a_minute()   //增加一分鐘
{
    if(minute<59)
        minute++;
    else
    {
        minute=0;
        add_a_hour();
    }
}
inline void Time::add_a_hour()    //增加一小時
{
    if(hour<23)
        hour++;
    else
    {
        hour=0;
    }
}
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;
}
int main()
{
    Time t1;
    t1.set_time();
    t1.add_a_sec();
    cout<<"秒數增加一變為:";
    t1.show_time();
    t1.add_a_minute();
    cout<<"分鐘增加一變為:";
    t1.show_time();
    t1.add_a_hour();
    cout<<"小時增加一變為:";
    t1.show_time();
    return 0;
}

執行結果:

知識點總結:

      使用了內聯成員函式,當成員函式較為簡單時,使用內聯成員函式會減少執行時間。

學習心得:

      當時間增加一秒,一分鐘或一小時時,要注意是否要向前進一

相關推薦

專案1-時間

問題及程式碼: /* *煙臺大學計算機學院 *檔名稱:xiangmu3(1).cpp *作 者:閆安 *完成日期:2016年4月8日 *版 本 號:codeblocks 16.01 * *問題描述:在原時間類的基礎上,在類內增加下列成員函式(將是內聯成員函式)

專案1 分數中的運算子過載

問題及程式碼: /* * Copyright (c) 2015, 煙臺大學計算機學院 * All rights reserved. *檔名稱:test.cpp * 作 者:曾建強 * 完成日期:2015年5月14日 * 版 本 號:v1.0 * * 問題描述:實現分數

專案3——2時間

///// 2016.3.31 修改 ///// 問題及程式碼: /* * Copyright (c) 2016,煙臺大學計算機與控制工程學院 * All rights reserved. * 檔名稱:main.cpp * 作 者:趙志君 * 完

專案1:分數中的運算子過載

問題及程式碼: /* *Copyright (c)2014,煙臺大學計算機與控制工程學院 *All rights reserved. *檔名稱: 分數類中的運算子過載 .cpp *作 者:白雲飛 *完成日期:2015年4月25日 *版 本 號:v1.0 * *問題描

專案1分數中的運算子過載

問題及程式碼: /* * Copyright (c) 2014, 煙臺大學計算機學院 * All rights reserved. * 檔名稱:test.cpp * 作 者:宋健 * 完成日期:2015年 5月 18日 * 版 本 號:v1.0 *

專案1-輸出星號圖

問題及程式碼: /* *煙臺大學計算機學院 *檔名稱:xiangmu3.cpp *作 者:閆安 *完成日期:2016年3月19日 *版 本 號:codeblocks 16.01 * *問題描述:

專案2:分數中的運算子過載

問題及程式碼: /* * Copyright (c) 2015, 煙臺大學計算機學院 * All rights reserved. * 檔名稱:Project3.cpp * 作 者:李楠 * 完成日期:2015年4月24日 * 版 本 號:v1.0 * * 問題描述:

專案 時間1

問題及程式碼: /* *Copyright(c)2016,煙臺大學計算機與控制工程學院 *All right reserved. *檔名稱:main.cpp *作 者:郝昱猛 *完成日期:2016年4月5日 *版 本 號:v1.0 * *問題描述:在原

專案 時間2

問題及程式碼: /* *Copyright(c)2016,煙臺大學計算機與控制工程學院 *All right reserved. *檔名稱:main.cpp *作 者:郝昱猛 *完成日期:2016年4月5日 *版 本 號:v1.0 * *問題描述:在原

——運算子過載——專案分數

問題及程式碼: /* *Copyright (c) 2014,煙臺大學計算機學院 *All rights reserved. *檔名稱:lily.cpp *作者:李莉 *完成日期:2015年4月25日 *版本號:v1.0 * *問題描述:實現分

Python周 學習筆記1

學記筆記高階函數 First Class Object 函數也是對象,可調用的對象 函數可以作為普通變量、參數、返回值等等 數學概念 y=g(f(x)) 在數學和計算機科學中,高階函數應當是至少滿足下面一個條件的函數 接受一個或多個函數作為參數 輸出一個函數 內建高階函數 sorted(itera

007:一個Django專案剖析1

建立 Django 專案的方式: 1、命令列方式建立專案和APP: 1.1、建立專案:開啟WINDOWS的cmd視窗,使用命令:django-admin startproject [專案名稱]即可建立,比如:django-admin startproject first_project 1.2、建立

Java學習之路 章 面向物件1

面向物件(1) 1、認識物件 (1)萬物皆物件。 (2)物件=特點或特徵(屬性)+行為或(方法)。 (3)物件由屬性和方法組成,一定要具體到個體上。 2、認識類 (1)類是一些具有共同屬性和方法的物件的一個抽象。 (2)類是一個概念,不是具體的一個物件。 (3)

C++11周專案21參考——百錢百雞

                【專案2:窮舉法解決組合問題】先閱讀例題,領會窮舉法(意為“窮盡式列舉”,也稱列舉)的思想,然後自行選題進行解決,掌握這種程式設計的一般方法。任務:利用窮舉的方法解決下面的問題(選做一道即算完成任務,其他可以抽時間自由安排,多做會使你更聰明。)(1)百錢百雞問題:中國古代數學家

——專案

/* 煙臺大學計控學院 檔名稱:ffd.cpp 作者:李金樸 完成日期:2017年10月7日 問題描述:判斷表示式中的各種左括號是否與右括號匹配 輸入描述:表示式 輸出描述:是否配對正確。

專案時間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 * *問題描述:實現分數類中的運

專案3 時間的練習1

/* *Copyright(c) 2016,煙臺大學計算機學院 *All rights reserved. *檔名稱:test2.cpp *作 者:劉金石 *完成日期:201

專案3-時間2修改

修改原因:在上一篇博文中第五週專案3-時間類(2)中提交的程式碼存在一些問題:  (1) 老師給出的程式碼中,輸入60或24也算作合法時間,但是在現實生活中並不存在這樣的時間,所以要把程式碼改一下; (2)當輸入的要增加的秒,分,小時數加上原本的時,分,秒數大於60或者24