>> [音乐播放]
>> ROB BOWDEN：你好。
我抢。
并让我们贪婪。
>> 所以，首先我们需要做的 究竟是如何询问用户
太大的变化是欠。
所以在这里，我们看到我们有 一个do / while循环。
我们正在制定计 等于GetFloat。
什么是GetFloat？
它在功能之一 CS50库，得到了
浮来自用户。
记住，为了使用该功能， 我们需要包括散列
CS50.h在顶部。
>> 所以一旦我们有了这个值从 用户，我们还需要确保
这是一个有效的值。
我们不能欠负钱。
所以这就是目的 这点做的/ while循环。
我们继续循环，同时美元 小于零。
和一个do / while循环是正确的事情 用在这里，因为我们需要问的
用户至少一次对如何 多少钱是欠。
>> 所以一旦我们有一些美元， 我们在这里看到我们有整型仙
等于一轮美元时代 CENTS_PER_DOLLAR。
在顶部，我们看到， CENTS_PER_DOLLAR是
明智地定义为100。
那么，什么是这条线在做什么？
>> 好吧，如果你还记得，浮点 价值观是不太准确的。
不同于整数，我们不能代表 浮点值完全相同。
总有某种 的不精确性。
因此，我们更愿意与刚刚整数合作 贯穿这一问题。
这里，如果用户输入的3.42美元， 我们正在转换，为342美分，
舍入，刚刚摆脱的 任何不准确的。
>> 所以一旦我们有仙数 一个整数，我们可以继续
其余的程序。
我们在这里看到，我们正在申报整数 硬币的，我们只使用
以保持总的轨道 硬币的数目。
在这里，我们有我们的第一个while循环。
>> 我们看到虽然美分大于或 等于四分之一，这上面，是哈希
定义为25，而这是真的，我们 想要增加我们的硬币数
和按季度递减美分。
请记住，此语法 等效于分
等于美分减去四分之一。
那些是相同的。
>> 那么，什么是这个while循环在做什么？
这里的想法是，如果我知道3.42美元 欠，我可以继续给
宿舍，直到我不能给 宿舍了。
我不能给任何四分之三以上， 一旦我给3.25美元。
>> 那么，曾经是那样的话，我们会 打破这个while循环。
仙将在17美分留。
我们会继续到下一个 while循环在这里我们说的，而仙
大于或等于一角。
>> 现在我们正在做完全相同的 事情我们做的季度情况下，
除非角钱。
因此，与0.17美元，我们将循环，直到我们可以 不再给一毛钱，这是
一次。
然后我们会留下7美分。
>> 然后，我们将继续为镍，其中 将循环，直到我们不能给
任何更多的镍，这将 留给我们的两分钱。
然后，向下在下面，我们也 便士，这将循环和意志
最后留给我们的零美分。
那么，在年底，我们只需要 打印出我们的硬币数量。
>> 所以，这个方案是完全正确的。
但是，我们其实可以做的更好一点。
现在，如果我说，我欠你一万元 你不应该需要去这里有一个
季度，两个季度，三季度。
你应该马上知道 我欠你40,000宿舍。
>> 现在，让我们来看看一个程序， 处理它好一点。
在这个版本中的东西，我们仍然需要 索要的金额用户
改变，他们希望在完全相同 我们之前也做了同样的方式。
我们需要四舍五入它的确切 途中我们以前那样。
我们仍然有我们的硬币整数 宣布完全和以前一样。
>> 因此，这里是那里的东西 会有点不同。
我们正在做的硬币加上等号 仙按季度划分
其中四分之一是25。
这有什么要说的是，把尽可能多的 宿舍为可以进入美分，并添加
该硬币。
>> 所以，如果仙是142，142分 25给我们5。
请记住，整数除法 自动截断。
因此，我们正在做的硬币加等于5。
>> 紧接着，我们在说 美分等于美分MOD季度。
请记住，MOD经营者给 我们相除后的余数。
所以142 MOD季度，这将使 是142减去125，它是17。
这之后的余 做142除以25。
>> 所以，现在美分等于17。
和我们做同样的确切 对于助攻的事情。
17除以10将给我们1。
我们添加到硬币。
然后我们更新美分，至 是17模10，它是7。
>> 然后相同的镍。
7除以5是1。
补充一点，到硬币。
然后7模5是2。
这就是我们美分。
>> 然后，挣点小钱，没有真正的 点分割或改装，因为，
如果我们有0.2美元遗留下来的，我们可以 只是马上补充说，到
我们的硬币数量。
最后，我们需要打印出我们的 硬币的数目和任选
返回0，在我们节目的最后 来表示一切正常。
>> 我的名字是罗布。
这是贪婪的。
>> [音乐播放]