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.