ROB BOWDEN:嗨,我是羅布。 而當在羅馬,讓我們的程序 入鄉隨俗。 所以,我們需要做的第一件事情就是檢查 以確保用戶實際進入 我們希望每一個旋轉數 字符在命令行。 所以,我們檢查。 是的argc等於2? 如果不是的話,這意味著用戶無論是 沒有在輸入數字 命令行或者輸入過多的 事情在命令行中,其中 情況下,我們不知道該怎麼辦 與剩下的事情。 所以,只要ARGC兩歲,我們可以 繼續與程序的其餘部分。 現在,請記住ARGV 1始終是一個字符串。 但是,我們希望把它當作一個整數。 因此,我們使用atoi函數這 提及肺炎一套規範來轉換 串的argv 1為整數, 我們存儲的關鍵。 我們要確保整 這是輸入不為負。 如果它是,我們要打印,要 他們沒被允許的用戶 要做到這一點,並返回。 所以,現在我們有一個有效的 從用戶數。 但是,我們需要從得到一個字符串 用戶,我們要加密。 所以,我們用do-whil​​e循環,並使用獲得 字符串來得到這個字符串從 用戶,並繼續獲取字符串 直到他們真正 輸入一個有效的字符串。 一旦我們有一個字符串,我們 可以繼續對它進行加密。 所以,這個for循環是做 該加密。 請注意,我們是從我迭代 等於0噸一路攀升到i等於 n,其中n定義為長度 我們的消息,其中消息是 字符串,用戶輸入。 因此,我們遍歷所有 字符的字符串。 如果一個字符是大寫的,那麼 我們將以此來轉移它 公式中,我們將 到了第二位。 如果它是小寫,然後 我們將使用這是它轉移 非常類似的公式。 如果它既不是一個大寫的,也不 小寫字母 - 例如,它 可以是數字或一個符號 - 然後我們 不會做任何事情來了。 那麼,什麼是這些公式? 那麼,我們該如何轉移字符A? 我們要正確對待字符 A為數字0。 我們要對待的字符 B作為數1,依此類推。 這是零和前幾個字符 字母表等。 所以在這裡,我的消息減去一個應該 給我們的數字的地方 字母在字母表。 所以,如果消息我是A,這 將會給我們0。 現在,我們要添加到該 用戶希望該數 通過旋轉字母。 所以,如果他們進入3,那麼如果消息 我是一個,這會給我們0和加 鍵會給我們3。 所以,現在,我們正在考慮的 在字母表中第三位。 我們會看到為什麼我們需要國防部 在第二個民信。 但最後,我們想對添加到 再次end一個轉向我們回 這些字符的ASCII值 而不是在該數值的地方 字母表中的這些字符。 那麼,為什麼我們國防部通過民信嗎? 請記住,我們要環繞 從字母到年底 開頭的字母。 因此,如果用戶已經輸入的Z,則 從減去將要 給我們25。 如果鍵是3,那麼 我們將有28。 但Ž應該環繞農行,所以28 模數的字母,這是哈希定義 為26所料,是要給 我們2,其中C是第二個字母 字母,如果你還記得,A是 字母表中的第零個字母。 所以這就是為什麼我們需要 通過模數的字母。 現在,我們需要做的同樣的事情 為小寫字母,除 請記住,當我們正在處理 小寫字母,它們有不同的 ASCII值。 因此,我們需要減去並添加上一個 從小寫轉移下來 ASCII值,然後返回到 原來小寫的ASCII值。 最後,這會給我們 我們的加密郵件。 而在最後,我們只是打印出 該消息,這就是它。 我的名字是羅布,並且是凱撒。