1 00:00:00,000 --> 00:00:11,960 2 00:00:11,960 --> 00:00:13,750 >> ROBボーデンは:こんにちは、私はロブだ。 3 00:00:13,750 --> 00:00:17,360 ローマでは、課程せると ローマ人はそうであるように。 4 00:00:17,360 --> 00:00:22,280 だから、我々がする必要がある最初の事はチェックです 必ず、ユーザが実際に入力させるために 5 00:00:22,280 --> 00:00:26,670 我々は、それぞれを回転する番号 コマンドラインでのAによる文字。 6 00:00:26,670 --> 00:00:27,740 >> そこで、我々は確認してください。 7 00:00:27,740 --> 00:00:30,180 2へのargc等しい? 8 00:00:30,180 --> 00:00:34,190 そうでない場合は、そのいずれかのユーザーを意味します で番号を入力しませんでした 9 00:00:34,190 --> 00:00:37,770 コマンドラインまたは彼らはあまりにも多く入った コマンドラインでの事、中 10 00:00:37,770 --> 00:00:40,560 我々は何をすべきか分からない場合 物事の残りの部分と。 11 00:00:40,560 --> 00:00:45,750 だから、限りARGCが2だったので、我々はできる プログラムの残りの部分を続行します。 12 00:00:45,750 --> 00:00:49,610 >> 今、そのARGVを覚えている 1は常に文字列です。 13 00:00:49,610 --> 00:00:52,490 しかし、我々は、整数として扱いたい。 14 00:00:52,490 --> 00:00:57,550 そこで、だatoi関数関数を使用する 変換するPセットの仕様を述べた 15 00:00:57,550 --> 00:01:02,330 整数に文字列ARGV 1、 そして我々は、キーにそれを格納します。 16 00:01:02,330 --> 00:01:06,050 我々は確認していることを確認したい整数 それは否定的ではありません入力されました。 17 00:01:06,050 --> 00:01:09,490 それがあったなら、我々はにそれを印刷する 彼らは許可されていないユーザー 18 00:01:09,490 --> 00:01:11,980 それをして、戻ります。 19 00:01:11,980 --> 00:01:15,100 >> だから、今、我々は有効なを持っている ユーザーからの数。 20 00:01:15,100 --> 00:01:19,780 しかし、我々はから文字列を取得する必要があります 我々は暗号化したいユーザー。 21 00:01:19,780 --> 00:01:25,340 だから我々は、ループしながら、何とGETを使用するために使用される からこの文字列を取得するための文字列 22 00:01:25,340 --> 00:01:29,190 ユーザー、および文字列を取得し続ける 彼らが実際になるまで 23 00:01:29,190 --> 00:01:31,270 有効な文字列を入力します。 24 00:01:31,270 --> 00:01:34,400 >> 私たちは、その文字列を取得したら、 それを暗号化するために行くことができます。 25 00:01:34,400 --> 00:01:38,120 したがって、このループをやっている その暗号化。 26 00:01:38,120 --> 00:01:43,250 我々は、私から繰り返し処理していることに注意してください 私等号まで0トンのすべての方法に等しい 27 00:01:43,250 --> 00:01:47,790 nは、長さとして定義されるn個、 メッセージが私たちのメッセージを、 28 00:01:47,790 --> 00:01:50,260 ユーザーが入力した文字列。 29 00:01:50,260 --> 00:01:54,330 >> だから我々は、すべての繰り返しを行なっている 文字列内の文字。 30 00:01:54,330 --> 00:01:59,740 文字が大文字である場合は、 我々はこれを使用して、それをシフトしようとしている 31 00:01:59,740 --> 00:02:01,860 式、その我々はよ 第二にに着く。 32 00:02:01,860 --> 00:02:05,260 そしてそれは小文字れた場合、 私たちは、これは使用してシフトします 33 00:02:05,260 --> 00:02:07,290 非常によく似た式。 34 00:02:07,290 --> 00:02:10,850 そして、それは、大文字でもどちらである場合 小文字 - 例えば、それ 35 00:02:10,850 --> 00:02:15,370 数字や記号かもしれない - そして我々 それには何もするつもりはありません。 36 00:02:15,370 --> 00:02:18,220 >> だから、これらの式は何ですか? 37 00:02:18,220 --> 00:02:22,090 さて、どのように我々は、文字Aをシフトしますか? 38 00:02:22,090 --> 00:02:27,250 私たちは、キャラクターを扱いたい 番号0として。 39 00:02:27,250 --> 00:02:30,710 そして、我々はキャラクターを扱いたい というように番号1などのB。 40 00:02:30,710 --> 00:02:35,170 それは、ゼロ番目と第文字だ アルファベットののように。 41 00:02:35,170 --> 00:02:42,900 >> だからここに、メッセージIマイナスAが想定されている 私たちの数値場所を与えるために 42 00:02:42,900 --> 00:02:44,400 アルファベットの文字。 43 00:02:44,400 --> 00:02:48,080 ので、メッセージ場合、私は、これです 私たちに0を与えるために起こっている。 44 00:02:48,080 --> 00:02:52,880 今、私たちはそのインクルードに追加する ユーザーが望んでいる数 45 00:02:52,880 --> 00:02:54,840 で手紙を回転させます。 46 00:02:54,840 --> 00:03:03,280 だから、彼らは、メッセージと、3と入力した場合 私がいた、これは私たちに0を与えるとプラスになる 47 00:03:03,280 --> 00:03:05,400 キーは私達に3を与える。 48 00:03:05,400 --> 00:03:09,450 >> だから今、私たちは検討しています アルファベットで3位。 49 00:03:09,450 --> 00:03:12,810 我々はMODを必要とする理由当社は、表示されます 秒間にnum個の文字で。 50 00:03:12,810 --> 00:03:18,700 しかし最終的に、私たちはへ追加する 背中に私たちをシフトするために、再び終了 51 00:03:18,700 --> 00:03:22,020 これらの文字のASCII値 代わりに、中の数値の場所 52 00:03:22,020 --> 00:03:24,260 これらの文字のアルファベット。 53 00:03:24,260 --> 00:03:26,580 >> では、なぜ我々はnum個の文字で国防省のですか? 54 00:03:26,580 --> 00:03:29,960 我々はラップアラウンドすることを忘れないでください アルファベットの最後からまで 55 00:03:29,960 --> 00:03:31,470 アルファベットの先頭。 56 00:03:31,470 --> 00:03:38,530 ユーザが入力した場合、Zは、 それからAを減算するために起こっている 57 00:03:38,530 --> 00:03:40,520 私たちに25を与える。 58 00:03:40,520 --> 00:03:44,800 とキーはその後、3ならば 我々は28を持っているつもりです。 59 00:03:44,800 --> 00:03:53,000 しかし、Zは、ABC、とても28にラップアラウンドする必要があり ハッシュが定義されているMODのnum文字、 60 00:03:53,000 --> 00:04:01,890 予想される26のような、与えるために起こっている Cは第二の手紙で、私たち2、 61 00:04:01,890 --> 00:04:05,880 アルファベット、あなたは、Aがあることを覚えていれば アルファベットのゼロ番目の手紙。 62 00:04:05,880 --> 00:04:09,210 >> 我々はする必要がある理由ので、それはです num個の文字でMOD。 63 00:04:09,210 --> 00:04:13,540 今、私たちはまったく同じことを行う必要がある 小文字を除くため 64 00:04:13,540 --> 00:04:17,240 我々が扱っているときを覚えている 小文字、それらは異なるがある 65 00:04:17,240 --> 00:04:18,579 ASCII値。 66 00:04:18,579 --> 00:04:24,550 そして私たちは減算し、上で追加する必要があります 小文字からそれをシフトする 67 00:04:24,550 --> 00:04:30,020 その後、ASCII値とバックに オリジナルの小文字のASCII値。 68 00:04:30,020 --> 00:04:33,140 >> そして最後に、それは私たちをあげる 私たちの暗号化されたメッセージ。 69 00:04:33,140 --> 00:04:37,780 そして最後に、我々だけでプリントアウト そのメッセージ、そして、それはそれだ。 70 00:04:37,780 --> 00:04:39,875 私の名前はロブで、シーザーた。 71 00:04:39,875 --> 00:04:49,856