1 00:00:00,000 --> 00:00:11,960 2 00:00:11,960 --> 00:00:13,750 >> ROB BOWDEN: Hei, olen Rob. 3 00:00:13,750 --> 00:00:17,360 Ja kun Roomassa, nyt ohjelma maan tavalla. 4 00:00:17,360 --> 00:00:22,280 Joten ensimmäinen asia, meidän täytyy tehdä, on tarkistaa varmista käyttäjä todella tuli 5 00:00:22,280 --> 00:00:26,670 numero että haluamme käännä kaikkia merkin komentoriviltä. 6 00:00:26,670 --> 00:00:27,740 >> Joten, voimme tarkistaa. 7 00:00:27,740 --> 00:00:30,180 On argc yhtä kuin 2? 8 00:00:30,180 --> 00:00:34,190 Jos se ei ole, se tarkoittaa, että käyttäjä joko ei anna numeroon 9 00:00:34,190 --> 00:00:37,770 komentoriviltä tai ne on syötetty liian monta asioita komentoriviltä, ​​jossa 10 00:00:37,770 --> 00:00:40,560 tapauksessa emme tiedä mitä tehdä muun asioita. 11 00:00:40,560 --> 00:00:45,750 Joten niin kauan kuin argc oli kaksi, voimme edelleen muun ohjelman. 12 00:00:45,750 --> 00:00:49,610 >> Nyt, muista, että argv 1 on aina merkkijono. 13 00:00:49,610 --> 00:00:52,490 Mutta haluamme käsitellä sitä kokonaisluku. 14 00:00:52,490 --> 00:00:57,550 Joten, käytämme atoi toiminto, joka on mainitut p set spec muuntaa 15 00:00:57,550 --> 00:01:02,330 merkkijono argv 1 kokonaisluku, ja me tallentaa, että monilla keskeisillä. 16 00:01:02,330 --> 00:01:06,050 Haluamme varmistaa, että kokonaisluku syötetyt ei ole kielteinen. 17 00:01:06,050 --> 00:01:09,490 Ja jos se oli, haluamme tulostaa että käyttäjälle, että he eivät saa 18 00:01:09,490 --> 00:01:11,980 tehdä niin, ja palata. 19 00:01:11,980 --> 00:01:15,100 >> Joten, nyt meillä on voimassa numero käyttäjältä. 20 00:01:15,100 --> 00:01:19,780 Mutta meidän täytyy saada merkkijonon käyttäjälle, että haluamme salata. 21 00:01:19,780 --> 00:01:25,340 Joten meillä oli tapana tehdä-while-silmukka ja käyttää saada string saat tämän merkkijonon 22 00:01:25,340 --> 00:01:29,190 käyttäjä, ja jatkaa saada string kunnes ne todella 23 00:01:29,190 --> 00:01:31,270 Kirjoita voimassa oleva merkkijono. 24 00:01:31,270 --> 00:01:34,400 >> Kun meillä on tuo merkkijono, me voi mennä salata sitä. 25 00:01:34,400 --> 00:01:38,120 Niin, tämä silmukka tekee että salaus. 26 00:01:38,120 --> 00:01:43,250 Huomaa, että olemme iteroimalla alkaen i vastaa 0 t kaikki tavalla jopa I on 27 00:01:43,250 --> 00:01:47,790 n, jossa n on määritelty pituus viestimme, jossa sanoma on 28 00:01:47,790 --> 00:01:50,260 merkkijono, että käyttäjä syöttää. 29 00:01:50,260 --> 00:01:54,330 >> Joten olemme iteroimalla yli kaiken merkkejä merkkijonon. 30 00:01:54,330 --> 00:01:59,740 Ja jos merkki on iso kirjain, sitten aiomme siirtää sen käyttämällä tätä 31 00:01:59,740 --> 00:02:01,860 kaava, jota will päästä toiseen. 32 00:02:01,860 --> 00:02:05,260 Ja jos se pieniksi, sitten me siirtää sen haluamasi tämä on 33 00:02:05,260 --> 00:02:07,290 hyvin samanlainen kaava. 34 00:02:07,290 --> 00:02:10,850 Ja jos se ei ollut isoja eikä kirjain - esimerkiksi se 35 00:02:10,850 --> 00:02:15,370 voisi olla numero tai symboli - sitten eivät aio tehdä mitään sille. 36 00:02:15,370 --> 00:02:18,220 >> Joten, mitä nämä kaavat? 37 00:02:18,220 --> 00:02:22,090 No, miten voimme siirtää merkki? 38 00:02:22,090 --> 00:02:27,250 Haluamme hoitaa merkin Kuin numero 0. 39 00:02:27,250 --> 00:02:30,710 Ja haluamme kohdella merkki B-numero 1, ja niin edelleen. 40 00:02:30,710 --> 00:02:35,170 Se on zeroth ja ensimmäiset merkit aakkosten ja niin edelleen. 41 00:02:35,170 --> 00:02:42,900 >> Joten tässä, viesti i miinus on tarkoitus antaa meille numeerinen paikka 42 00:02:42,900 --> 00:02:44,400 kirjain aakkosissa. 43 00:02:44,400 --> 00:02:48,080 Joten jos viesti i on, tämä aikoo antaa meille 0. 44 00:02:48,080 --> 00:02:52,880 Nyt haluamme lisätä, että numero että käyttäjä haluaa 45 00:02:52,880 --> 00:02:54,840 kiertää kirjeen. 46 00:02:54,840 --> 00:03:03,280 Joten, jos ne tuli 3, sitten jos viesti i oli, tämä antaa meille 0 ja plus 47 00:03:03,280 --> 00:03:05,400 näppäin antaa meille 3. 48 00:03:05,400 --> 00:03:09,450 >> Joten nyt pohdimme kolmannella sijalla aakkoset. 49 00:03:09,450 --> 00:03:12,810 Saa nähdä, miksi meidän mod by num kirjaimet toisessa. 50 00:03:12,810 --> 00:03:18,700 Mutta lopulta, haluamme lisätä edelleen Loppuun jälleen siirtyä meidät takaisin 51 00:03:18,700 --> 00:03:22,020 ASCII-arvot näiden merkkien sen sijaan, että numeerinen paikkoja 52 00:03:22,020 --> 00:03:24,260 aakkoset näistä merkeistä. 53 00:03:24,260 --> 00:03:26,580 >> Joten, miksi me mod by CD kirjeitä? 54 00:03:26,580 --> 00:03:29,960 Muista, että haluamme kietoa lopusta aakkoset 55 00:03:29,960 --> 00:03:31,470 alussa aakkoset. 56 00:03:31,470 --> 00:03:38,530 Joten jos käyttäjä oli tullut Z, niin vähentämällä siitä tulee 57 00:03:38,530 --> 00:03:40,520 antaa meille 25. 58 00:03:40,520 --> 00:03:44,800 Ja jos avain oli 3, niin aiomme olla 28. 59 00:03:44,800 --> 00:03:53,000 Mutta Z pitäisi kietoa ABC, joten 28 mod num kirjeitä, jotka on hash määritelty 60 00:03:53,000 --> 00:04:01,890 kuin 26 odotettavissa, aikoo antaa meitä 2, missä C on toinen kirjeellä 61 00:04:01,890 --> 00:04:05,880 aakkoset, jos muistat, että on zeroth kirjaimen. 62 00:04:05,880 --> 00:04:09,210 >> Joten siksi meidän täytyy mod by num kirjaimia. 63 00:04:09,210 --> 00:04:13,540 Nyt meidän täytyy tehdä täsmälleen sama asia ja pieniä kirjaimia, paitsi 64 00:04:13,540 --> 00:04:17,240 muistaa, että kun olemme tekemisissä pieniä kirjaimia, ne ovat eri 65 00:04:17,240 --> 00:04:18,579 ASCII-arvoja. 66 00:04:18,579 --> 00:04:24,550 Ja niin meidän täytyy vähentää ja lisätä siirtää sen alas pieniä 67 00:04:24,550 --> 00:04:30,020 ASCII-arvot ja sitten takaisin alkuperäinen pieniä ASCII-arvot. 68 00:04:30,020 --> 00:04:33,140 >> Ja lopuksi, että annan meille meidän salattu viesti. 69 00:04:33,140 --> 00:04:37,780 Ja lopulta, me vain tulostaa että viesti, ja se on siinä. 70 00:04:37,780 --> 00:04:39,875 Nimeni on Rob ja oli Caesar. 71 00:04:39,875 --> 00:04:49,856