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