>> Rob BOWDEN: Hi, Ako Rob.
At kapag sa Rome, sabihin programa tulad ng ginagawa ng mga Romano.
Kaya, ang unang bagay na kailangan naming gawin ay check upang tiyakin na aktwal na ipinasok ng gumagamit ang
ang bilang na gusto naming i-rotate ang bawat ng character sa pamamagitan ng sa command line.
>> Kaya, suriin namin.
Argc katumbas ng 2 ba?
Kung ito ay hindi, ibig sabihin gumagamit ang alinman sa ay hindi ipasok ang numero sa
command line o ipinasok nila masyadong maraming bagay sa command line, kung saan
kaso hindi namin alam kung ano ang gagawin may natitirang bahagi ng mga bagay.
Kaya, hangga't argc ay dalawa, kaya namin magpatuloy sa natitirang bahagi ng programa.
>> Ngayon, tandaan na argv 1 ay palaging isang string.
Pero gusto naming ituring ito bilang isang integer.
Kaya, ginagamit namin ang atoi pag-andar na Binanggit p hanay spec i-convert ang
string argv 1 sa isang integer, at iniimbak namin na sa key.
Gusto naming siguraduhin na ang integer na pinasok ay hindi negatibo.
At kung ito ay, gusto naming i-print na sa ang gumagamit na hindi nila pinapayagan ka
upang gawin iyon, at ibalik.
>> Kaya, ngayon may isang wastong namin numero mula sa user.
Ngunit kailangan namin upang makakuha ng isang string mula sa ng gumagamit na nais naming i-encrypt.
Kaya ginamit namin upang gawin-habang loop at gamitin makakuha ng string upang makuha ang string na ito mula sa
gumagamit, at magpatuloy sa pagkuha ng string hanggang sa sila talaga
magpasok ng wastong string.
>> Sa sandaling mayroon kaming na string, namin maaaring pumunta sa upang i-encrypt ito.
Kaya, ito para sa loop ay ang magawa na-encrypt.
Pansinin na aming iterating mula sa i ay katumbas ng 0 t ang lahat ng mga paraan ng hanggang sa i Kapantay
n, kung saan n ay tinukoy bilang ang haba ng ang aming mensahe, kung saan ang mensahe ay ang
string na ipinasok ng user.
>> Kaya kami iterating sa ibabaw ng lahat character sa string.
At kung ang isang karakter ay uppercase, pagkatapos ay kami ay pagpunta sa shift ito gamit na ito
formula, na kung saan kami ay makapunta sa sa isang segundo.
At kung ito ay lowercase, at pagkatapos ay ipapakita namin shift ito gamit ito ay
halos katulad na formula.
At kung ito ay hindi rin isang uppercase o isang maliit na mga titik - halimbawa, ito
ay maaaring isang numero o simbolo - pagkatapos namin ay hindi pagpunta sa gumawa ng kahit ano dito.
>> Kaya, ano ang mga formula?
Well, paano ko shift namin ang mga character na A?
Gusto naming ituring ang karakter Ang isang bilang ng bilang 0.
At gusto naming ituring ang karakter B bilang mga numero 1, at iba pa.
Ito ay ang 0 at unang character ng alpabeto at iba pa.
>> Kaya dito, mensahe i minus A ay dapat upang bigyan kami ng mga lugar na pang numero ng
sulat sa alpabeto.
Kaya kung mensaheng i ay A, ito ay pagpunta sa bigyan kami ng 0.
Ngayon, gusto naming idagdag sa na ang numero na gustong gumagamit na i-
ikutin ang sulat sa pamamagitan ng.
Kaya, kung ipinasok nila 3, pagkatapos kung mensahe i noon ay A, ito ay magbibigay sa amin ng 0 at plus
key ay magbibigay sa amin 3.
>> Kaya ngayon, kami ay isinasaalang-alang ang ikatlong lugar sa alpabeto.
Susubukan naming makita kung bakit kailangan naming i-mod sa pamamagitan ng num titik sa isang segundo.
Ngunit sa wakas, gusto naming idagdag sa sa magtapos A muli upang ilipat sa amin pabalik sa
Mga halaga ng ASCII para sa mga character na ito sa halip ng mga de-numerong mga lugar sa
alpabeto ng mga character na ito.
>> Kaya, bakit namin mod sa pamamagitan ng num titik?
Alalahanin na gusto naming balutin sa paligid mula sa dulo ng alpabeto sa
simula ng alpabeto.
Kaya sa kung ipinasok ng gumagamit ang Z, pagkatapos ay pagbabawas A mula sa na pagpunta sa
bigyan kami ng 25.
At kung ang susi ay 3, pagkatapos kami ay pagpunta sa may 28.
Ngunit Z dapat balutin sa paligid sa ABC, kaya 28 mod num titik, na kung saan ay natukoy ng hash
bilang 26 na inaasahan, ay pagpunta upang bigyan sa amin 2, kung saan C ay ang pangalawang titik ng
ang alpabeto, kung tandaan mo na A ay ang 0 katinig.
>> Kaya na ang dahilan kung bakit kailangan namin upang mod sa pamamagitan ng num titik.
Ngayon, kailangan naming gawin ang parehong eksaktong bagay para sa maliliit na mga titik, maliban
tandaan na kapag kami ay pagharap sa maliliit na mga titik, mayroong iba't ibang mga nila
Mga halaga ng ASCII.
At kaya kailangan naming ibawas at idagdag sa isang upang ilipat ito pababa mula sa maliliit na titik
Mga halaga ng ASCII at pagkatapos ay bumalik sa orihinal na halaga lowercase na ASCII.
>> At sa wakas, na makikita magbibigay sa amin ang aming naka-encrypt mensahe.
At sa dulo, i-print pa lang namin out mensaheng iyon, at iyon ito.
Ang pangalan ko ay Rob, at noon ay Caesar.