解說1：讓我們談談水。
在這個問題中，我們要求用戶告訴 他們的淋浴我們多久分鐘
然後我們計算等價 瓶水數
所使用的淋浴。
>> 那麼什麼是我們要做的事 對於這個問題？
首先，我們會想 提示再驗證
該用戶給我們的輸入。
一旦我們確保我們 擁有有效的用戶輸入，
我們要計算 瓶裝水的當量數
該用戶在過 他們洗澡，然後我們
要通過告訴他們 打印出該號碼。
>> 因此，讓我們來解決我們的第一個 任務提示和確認
用戶的輸入。
為此，我們已經寫了一個 功能你叫
get_int位於CS50資源庫中
get_int確保用戶輸入 一個整數，因此任何正數，
負數，或 零都接受。
但是，如果用戶別的輸入什麼， 這樣的字母或數字的任意組合
或十進制數，則 用戶將被提示重試
該函數將不接受任何 直到用戶給了他們一個整數。
>> 那麼，我們如何使用get_int？
如果您打開您的工作區和 創建一個名為integer.c的咱們文件
鍵入以下命令。
＃標籤包括cs50.h.
這是必要的，因為get_int 是CS50庫函數，
因此，我們必須HASHTAG包括 它以聲明
使用的功能。
然後在我的主 功能我只是去
簡單地調用函數get_int。
>> 因此，讓我們運行這個，看看它是如何工作的。
我已經編譯它，讓我們 只是繼續前進，運行這個程序，
。/整數。
在這裡，我有一個提示， 這裡就是我輸入的值。
說我把只是一些整數， 50，節目節選並退出
就是這樣。
>> 但說我再次運行它， 我輸入別的東西。
也許，世界你好。
這不是一個整數，所以 程序會提示我重試。
讓我們再試一次 也許是小數這個時候。
0.5，再次，不是一個整數，以便 該程序將不會接受
它會告訴我重試。
因此，讓我們給它一個號。
該計劃接受它， 退出，我們就大功告成了。
>> 所以，現在我們有一個函數 這使我們和保證
該用戶輸入一個 整數，但如何才能
實際上跟踪的 由用戶整數輸入？
嗯，我們要做的是商店 在一個變量此值，說ñ。
所以，如果我宣布一個整數n， 我該值設置為get_int，
那麼n將然後存儲任何 重視輸入的用戶。
>> 好了，所以現在我們已經確保了 用戶會給我們一個整數
我們知道如何跟踪 整數的，但要記住，
整數是正面和負面的。
所以它並沒有真正意義 在此問題的範圍內
該用戶進行淋浴 都說負12分鐘。
因此，我們需要確保用戶 其實給了我們一個正整數。
現在，我們沒有只是一個 對於功能單一，
所以我們將有 創建自己。
>> 因此，我們要不斷 提示用戶
直到他們給我們一個正整數。
如果我做的事情，然後不斷 這是類似於一個循環，重複。
所以我們使用的構建體中的一個 在C來實現重複和循環
是一個while循環。
因此，while循環，如 在這裡顯示，將執行
無論是在循環的身體 只要給定的條件計算
為true。
一旦這個條件 計算結果為假，那麼
該計劃將進行到什麼 而來的循環體之後。
>> 因此while循環將要 在CS50真的很有用。
但是在這個特定的 情況下，我們知道我們
要至少提示用戶 一次，然後僅循環，如果必要的。
所以在這裡我們就來 特殊結構，這​​就是
非常相似的，同時 循環稱為do-whil​​e循環。
>> 因此，一個do-whil​​e循環執行 循環體至少一次
然後它檢查 它是否應該執行，
而不是一個while循環， 這將檢查情況
然後執行機構。
因此，在do-whil​​e循環是我們可能 要做的就是提示用戶輸入一個整數，
然後檢查它是否是無效或不。
如果它是無效的，然後我們會 重複上述過程，詢問用戶
給我們另一個整數，然後 只有當該整數是有效的，
我們將繼續 無論發生什麼事之後。
>> 現在你會發現， 整數n的聲明
是略有不同的是我們 在前面的例子中那樣之前
這是因為的範圍。
如果我們宣布整數n內 在do-whil​​e循環體中，
然後我們將不能夠訪問 為n的那些捲曲以外的價值
括號表示循環體。
但是，我們實際上要訪問的 為n的值後來在我們的節目。
>> 好了，現在讓我們來談談 這個條件應該是什麼。
我們只希望重新提示的 用戶只要n是無效的。
因此，認為自己什麼無效 整數值會是什麼樣子
然後創建一個布爾 表情來表達。
>> 我們幾乎與我們的子任務完成 提示的和驗證用戶輸入。
因此，讓這一點 位用戶更友好
並給用戶一個小 位的更多信息
什麼我們提示他們。
因此，讓我們提示用戶，每 規範，以字符串分鐘。
因此，使用您的printf語句，使 一定要符合這個準確。
>> 好吧。
所以現在我們有一個有效的用戶 輸入，一個正整數
有多少分鐘值 他們在浴室度過的。
那麼，接下來就是計算 同等數量的瓶子。
我們打算在這裡做可能 首先對你非常明顯，
這就是確定。
我們想要做的是我們 要開始練習
檢測模式的想法， 開發用於問題的公式。
>> 因此，我們每個規格告訴 在淋浴的1分鐘
相當於大約 12瓶水。
於是2分鐘會 相當於24，
五分鐘將 相當於60。
所以，現在，如果你想 你得到了它，那麼讓我們來
看你能不能拿出 用圖案或式
表達如果我們說，正 水分鐘，多少瓶
將在n個來表示？
>> 再次，儘管這 可能首先是簡單的，
後來當我們對 更複雜的問題
我們將想進入 識別的實踐
模式和發展公式 推測這些東西。
>> 在C你有機會獲得 標準的算術運算，
加法，減法， 乘法和除法。
所以我會離開它 你現在要弄清楚
如何表達 瓶相當於數
該用戶消耗 在他們的淋浴。
>> 好吧，我們幾乎已經完成。
我們已經提示輸入其用戶輸入， 我們保證它的有效輸入，
然後，我們已經找到了如何 計算等效
他們消耗的瓶數。
所以做的最後一件事是將輸出 瓶子的當量數
並希望鼓勵 他們節約一些水。
>> 輸出值將 是一個printf語句。
如果我想告訴你，我 有三個寵物，例如，
我可能會使用printf語句 這看起來是這樣的。
我有三個寵物，和一個新的 行漂亮的格式。
>> 現在我們不想 簡單的硬編碼的東西。
說的次數我 寵物隨時間而改變。
然後，我將利用 佔位符在我的printf語句。
所以在這裡我的電話號碼是一個整數。
所以我要做一個佔位符 使用％I整數。
我打算寫的字符串， 再後弦
我寫了一個逗號，然後 我想打印變量。
這樣該值將被打印 代替該佔位符，％I的。
>> 您可以使用的佔位符，如 同時，對於具有％F浮動。
您也可以有多個 佔位符的字符串。
舉例來說，如果我有一些號碼 狗和一定數目的貓的，
我把兩個佔位符這裡，然後 我的兩個變量各自的順序。
>> 所以，現在我們知道如何打印 存儲在變量中的值，
的最後的事 做的是確保我們
在精確的格式打印的價值 在本說明書中表示。
就這樣，我們已經提示 用戶和驗證他們的意見。
然後，我們已經計算相當於 瓶水數
其是在淋浴過程中消耗， 我們已經輸出了價值給他們。
因此，我們已經完成了水。
>> 我的名字是 [？ Zamila，？] 這是CS50。