1. 程式人生 > >第七週C++上級報告(靜態成員應用)

第七週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