>> ROB Bowden: Hi, aku Rob.
Dan ketika di Roma, biarkan program sebagai Roma lakukan.
Jadi, hal pertama yang perlu kita lakukan adalah memeriksa untuk memastikan pengguna benar-benar masuk
nomor yang ingin kita memutar masing-masing karakter demi pada baris perintah.
>> Jadi, kita periksa.
Apakah argc sama dengan 2?
Jika tidak, itu berarti pengguna baik tidak memasukkan angka pada
baris perintah atau mereka masuk terlalu banyak hal pada baris perintah, di mana
jika kita tidak tahu apa yang harus dilakukan dengan sisa hal.
Jadi, selama argc dua, kita bisa melanjutkan sisa program.
>> Sekarang, ingat bahwa argv 1 selalu string.
Tapi kami ingin memperlakukannya sebagai integer.
Jadi, kita menggunakan fungsi atoi yang disebutkan p set spesifikasi untuk mengkonversi
String argv 1 ke integer, dan kami menyimpan bahwa dalam kunci.
Kami ingin memastikan bahwa integer yang dimasukkan tidak negatif.
Dan jika itu, kita ingin mencetak bahwa untuk pengguna bahwa mereka tidak diperbolehkan
untuk melakukan itu, dan kembali.
>> Jadi, sekarang kita memiliki valid nomor dari pengguna.
Tapi kita perlu untuk mendapatkan string dari pengguna yang ingin kita mengenkripsi.
Jadi kita digunakan untuk melakukan-while loop dan menggunakan mendapatkan string untuk mendapatkan string ini dari
pengguna, dan terus mendapatkan tali sampai mereka benar-benar
masukkan string yang valid.
>> Setelah kita memiliki string yang, kita dapat melanjutkan untuk mengenkripsi itu.
Jadi, ini untuk loop adalah melakukan enkripsi.
Perhatikan bahwa kita iterasi dari i sama dengan 0 t sepanjang jalan sampai ke i equals
n, di mana n didefinisikan sebagai panjang pesan kami, di mana pesan adalah
string yang dimasukkan pengguna.
>> Jadi kita iterasi semua karakter dalam string.
Dan jika sebuah karakter huruf besar, maka kita akan beralih menggunakan ini
rumus, yang kita akan mendapatkan dalam satu detik.
Dan jika itu huruf kecil, maka kita akan beralih menggunakan ini
formula yang sangat mirip.
Dan apakah itu bukan merupakan huruf besar atau huruf kecil - misalnya,
bisa menjadi nomor atau simbol - maka kita tidak akan melakukan apa-apa untuk itu.
>> Jadi, apa formula ini?
Nah, bagaimana kita menggeser karakter A?
Kami ingin memperlakukan karakter A sebagai nomor 0.
Dan kami ingin memperlakukan karakter B sebagai nomor 1, dan seterusnya.
Ini adalah zeroth dan karakter pertama alfabet dan sebagainya.
>> Jadi di sini, pesan i dikurangi A seharusnya untuk memberi kita tempat numerik dari
huruf dalam alfabet.
Jadi jika pesan saya adalah A, ini akan memberi kita 0.
Sekarang, kita ingin menambahkan ke yang nomor yang pengguna ingin
memutar surat itu oleh.
Jadi, jika mereka masuk 3, maka jika pesan saya adalah A, ini akan memberi kita 0 dan ditambah
kunci akan memberi kita 3.
>> Jadi sekarang, kita sedang mempertimbangkan tempat ketiga dalam alfabet.
Kita akan melihat mengapa kita perlu mod dengan surat num dalam satu detik.
Tapi akhirnya, kami ingin menambahkan ke mengakhiri A lagi untuk beralih kami kembali ke
Nilai ASCII untuk karakter ini bukan tempat numerik dalam
alfabet karakter ini.
>> Jadi, mengapa kita mod oleh surat num?
Ingat bahwa kita ingin membungkus dari akhir alfabet untuk
awal alfabet.
Jadi jika pengguna sudah masuk Z, maka mengurangkan A dari yang akan
memberi kita 25.
Dan jika kunci adalah 3, maka kita akan memiliki 28.
Tapi Z harus membungkus sekitar untuk ABC, sehingga 28 surat num mod, yang hash didefinisikan
sebagai 26 yang diharapkan, akan memberikan us 2, di mana C adalah huruf kedua
alfabet, jika Anda ingat bahwa A adalah surat zeroth alfabet.
>> Jadi itulah mengapa kita perlu mod dengan surat num.
Sekarang, kita perlu melakukan hal yang persis sama untuk huruf kecil, kecuali
ingat bahwa ketika kita sedang berhadapan dengan huruf kecil, mereka memiliki berbeda
Nilai ASCII.
Dan jadi kita perlu mengurangi dan menambahkan pada bergeser ke bawah dari huruf kecil yang
Nilai ASCII dan kemudian kembali ke nilai-nilai ASCII huruf kecil asli.
>> Dan akhirnya, yang akan memberi kita pesan terenkripsi kami.
Dan pada akhirnya, kami hanya mencetak pesan itu, dan hanya itu.
Nama saya Rob, dan Caesar.