解说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。