<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                我在本章闡述了一種程序開發的方法,我稱之為**快速建原型及迭代完善**。先編寫一個能執行基本運算的草案(或原型),然后用幾個案例進行測試,發現缺陷并修正之。 盡管此方法很有效,但也會使代碼變得沒有必要的復雜--因為要處理許多特殊情況,而且不可靠--因為你很難知道是否發現了所有的錯誤。 一種備案是高屋建瓴,對問題看得深入一點可使變成更加容易。對此案例的深入看法是:一個Time對象其實就是一個基為60的3位數!秒是個位,分鐘是“60位”,小時是“3600位”。 當我們編寫addTime和increment兩個函數,我們實際上是在做以60為基數的加法,所以我們需要進位。 還有一種解決整個問題的備案,即把Time類型轉換為double類型,它利用了這樣一個事實:計算機已經能夠做double型的算術。下面是一個將Time轉換為double的函數: ~~~ double convertToSeconds (const Time& t) { int minutes = t.hour * 60 + t.minute; double seconds = minutes * 60 + t.second; return seconds; } ~~~ 現在我們需要的只是把double轉換為Time的方法了: ~~~ Time makeTime (double secs) { Time time; time.hour = int (secs / 3600.0); secs -= time.hour * 3600.0; time.minute = int (secs / 60.0); secs -= time.minute * 60; time.second = secs; return time; } ~~~ 你可能需要想一想,才能相信我所使用的不同基數之間的轉換技術是正確的。假設你已經想通了,我們就可以用這些函數來重寫addTime: ~~~ Time addTime (const Time& t1, const Time& t2) { double seconds = convertToSeconds (t1) + convertToSeconds (t2); return makeTime (seconds); } ~~~ 比之前的版本精簡了不少,證明其正確性也更加容易(按常規要假設其調用的函數是正確的)。給大家一個練習:用同樣方法重寫increment。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看