>> 罗伯：嗨，我是罗布，让我们破译 在的V @ genere程序。
我们必须这样做的第一件事就是让 确保用户输入的内容，我们预计
他们在命令行。
因此，如果的argc不为2，这意味着要么 用户没有输入字符串我们
要使用作为我们的加密 串，或者它们
输入了太多的东西。
我们不知道该怎么办 与其他的东西。
>> 因此，我们告诉他们什么，他们 应该已经进入。
我们回来。
现在，假设的argc是2，我们可以 继续与程序的其余部分。
>> 我们别名的argv的名称[1]
入变量的关键字。
这样我们就不必 使用名称的argv [1]
整个程序的其余部分。
也许大家会忘记什么 这意味着等。
关键字是一个好得多的名字。
我们会立即抓住长度 在这里我们的关键字。
>> 好了，现在我们要检查 我们的关键字实际上是有效的。
我们使用加密字符串的关键字 应该仅仅是按字母顺序排列
字符。
如果用户输入的非字母 字符，应该说，关键字
必须只包含A到 Z和然后返回。
所以这个for循环遍历所有 我们的关键字的字符，检查
如果一个人是不是按字母顺序排列，然后 我们需要打印的警告。
>> 现在，一旦我们到了这一点，我们知道 该字符串必须是正确的。
关键字必须是正确的。
现在我们需要从得到的消息 他们希望我们的用户
加密与关键短语。
因此，为了得到这一点，我们有一个 做while循环，那将
不断地得到一个字符串从用户 直到他们进入一个有效的字符串。
>> 继续，我们在这里看到这个变量， 整型nun_letters_seen。
我们就会明白为什么我们需要 即在一秒钟。
但这种循环会遍历 从i等于0一路攀升到我
等于n，它意味着我们遍历 在所有可能的
人物在我们的信息。
因为我们要加密所有的 在我们的信息的字符。
所以请注意我们做，如果（isalphamessage [I]， 因为我们不希望加密
字符不是按字母顺序排列。
如果有符号，空格 或数字，我们不
要加密的。
>> 现在，假设它是按字母顺序排列， 我们首先要弄清楚我们
其实要加密 使用消息。
那么我的意思了吗？
>> 让我们假设的关键短语 输入的用户是ABC。
我们使用什么加密的。
现在，天真，我们认为这意味着 我们要的第一个字符进行加密
我们的信息由0，因为手段 由0旋转的字符。
>> 我们希望第二个字符进行加密 1，由2第三个字符，
第四个字符由0，第五 通过如图1所示，第六2，依此类推。
但请记住，我们要跳过 空格和符号和数字。
这意味着，如果用户已经输入的 你好世界消息
他们要加密，然后 我们希望通过0到加密的H
对应于一个时，E 1，则 升2，升数：0，邻1。
我们要跳过空格，加密 在W 2，邻由0，1，2，0。
所以请注意，如果我们没有跳过了 空间，那么我们就会加密
在W由0和结束时 不正确的字符串。
>> OK，这就是我们所需要的变量 num_letters_seen的。
如果我们只是要使用加密 这种方法，它不会跳过
符号，空格和数字，那么我们 可以只使用变量i是什么
索引到我们的关键短语。
我们需要使用num_letters_seen保持 轨道在实际到位的
我们要索引关键短语。
因此，这里，如果关键字我们有，如果 num_letter_seen MOD keyword_length，所以
为什么我们需要国防部 关键字长度是多少？
>> 尊敬的顾客您好世界是一个很好的例子。
如果关键字是ABC，那么我们就需要 不断由当时的加密b
则c，然后翻转左右， A，B，C，A，B，C。
因此，我们需要通过关键字长度国防部 以转回到身边。
>> 因此，如果这是一个大写字母， 那么我们想通过加密
在字母表中该字母的位置， 我们得到了公正
减去了资本A.和 同样，对于小写字母，我们
可以得到我们想要的键 减去了小写。
所以，不管是否信 在关键短语是一个资本或
小写字母，我们要 以相同的量进行加密。
>> 现在，我们有我们的重点，我们在这里看到， 如果消息我是一个大写
字符，然后我们要计算的 在那个字母位置
字符，添加我们的关键是，换回来 围绕这样，如果我们去过去
Ž我们回到A，B，C，依此类推。
然后，终于，加回资本A.所以 我们移回[？访问？]
而不是范围这些字符的 在字母数字位置
这些字符。
>> 和我们做同样的事情 小写字符。
除非我们想减去了小写 一个和在背面上添加它
最后，小写a。
请注意，num_letter_seen只 如果增加的消息，我是
按字母顺序排列。
这就是我们如何跳过空格，符号和 在我们的关键短语，因为数字
num_letter_seen是我们正在使用的是什么 索引到我们的关键字。
>> 最后，在结束时，现在该消息 我已被加密，我们
打印出来的消息我。
就是这样。
我的名字是罗布。
这是的V @ genere。
>> [音乐播放]