1 00:00:00,000 --> 00:00:11,960 2 00:00:11,960 --> 00:00:13,750 >> ROB Bowden: Bok, ja sam Rob. 3 00:00:13,750 --> 00:00:17,360 A kada je u Rimu, neka je Program kao Rimljanin. 4 00:00:17,360 --> 00:00:22,280 Dakle, prva stvar koju trebate učiniti je provjeriti kako bi bili sigurni korisnik zapravo ušao 5 00:00:22,280 --> 00:00:26,670 broj koji želimo okretati jedni slovo po na naredbenog retka. 6 00:00:26,670 --> 00:00:27,740 >> Dakle, možemo provjeriti. 7 00:00:27,740 --> 00:00:30,180 Je argc jednaka 2? 8 00:00:30,180 --> 00:00:34,190 Ako nije, to znači da korisnik bilo nije unesite broj na 9 00:00:34,190 --> 00:00:37,770 naredbenog retka ili su ušli previše stvari na naredbenog retka, u kojem 10 00:00:37,770 --> 00:00:40,560 Slučaj ne znamo što učiniti s ostalim stvarima. 11 00:00:40,560 --> 00:00:45,750 Dakle, dok argc je dva, možemo i dalje s ostatkom programa. 12 00:00:45,750 --> 00:00:49,610 >> Sad, sjetite se da argv 1 je uvijek niz. 13 00:00:49,610 --> 00:00:52,490 No, želimo ga tretiraju kao cijeli broj. 14 00:00:52,490 --> 00:00:57,550 Dakle, mi koristimo atoi funkciju koja je spomenutom p set spec. pretvoriti 15 00:00:57,550 --> 00:01:02,330 Niz argv 1 u cijeli broj, i spremamo da u ključu. 16 00:01:02,330 --> 00:01:06,050 Želimo biti sigurni da je cijeli koji je ušao nije negativna. 17 00:01:06,050 --> 00:01:09,490 A ako je, želimo ispisati da bi Korisnik koji oni ne smiju 18 00:01:09,490 --> 00:01:11,980 to učiniti, i vratiti. 19 00:01:11,980 --> 00:01:15,100 >> Dakle, sada imamo vrijedi broj od korisnika. 20 00:01:15,100 --> 00:01:19,780 No, moramo dobiti niz od Korisnik koji želimo kodirati. 21 00:01:19,780 --> 00:01:25,340 Tako smo se učiniti-while petlje i koristiti se Niz da se ovaj niz od 22 00:01:25,340 --> 00:01:29,190 korisnik, i nastaviti sve niz dok su oni zapravo 23 00:01:29,190 --> 00:01:31,270 unesite valjani string. 24 00:01:31,270 --> 00:01:34,400 >> Nakon što smo ih niz, mi može ići na to šifriranje. 25 00:01:34,400 --> 00:01:38,120 Dakle, ovo za loop radi da enkripcija. 26 00:01:38,120 --> 00:01:43,250 Uočite da smo iterating između j iznosi 0 t skroz do je jednako 27 00:01:43,250 --> 00:01:47,790 n, gdje n je definiran kao u duljini naša poruka, u kojoj je poruka 28 00:01:47,790 --> 00:01:50,260 niz koji korisnik unio. 29 00:01:50,260 --> 00:01:54,330 >> Tako smo iterating preko svega Likovi u nizu. 30 00:01:54,330 --> 00:01:59,740 A ako lik velika slova, onda ćemo ga prebaciti pomoću ovog 31 00:01:59,740 --> 00:02:01,860 formula, koje ćemo doći do u sekundu. 32 00:02:01,860 --> 00:02:05,260 A ako je malim slovima, a zatim ćemo ga prebaciti pomoću to 33 00:02:05,260 --> 00:02:07,290 Vrlo slična formula. 34 00:02:07,290 --> 00:02:10,850 A ako to nije bila ni velika slova niti malo slovo - primjerice, da 35 00:02:10,850 --> 00:02:15,370 može biti broj ili simbol - onda smo ne će učiniti ništa za njega. 36 00:02:15,370 --> 00:02:18,220 >> Dakle, ono što su te formule? 37 00:02:18,220 --> 00:02:22,090 Pa, kako ćemo pomaknuti karakter? 38 00:02:22,090 --> 00:02:27,250 Želimo liječiti karakter Kao broj 0. 39 00:02:27,250 --> 00:02:30,710 I želimo tretirati karakter B kao broj 1, i tako dalje. 40 00:02:30,710 --> 00:02:35,170 To je nultoga i prvi znakovi abecede i tako dalje. 41 00:02:35,170 --> 00:02:42,900 >> Pa evo, poruka i minus je trebalo da nam daju brojčani mjesto 42 00:02:42,900 --> 00:02:44,400 Pismo u pismu. 43 00:02:44,400 --> 00:02:48,080 Dakle, ako je poruka i je, to će nam dati 0. 44 00:02:48,080 --> 00:02:52,880 Sada, želimo dodati da je broj koji korisnik želi 45 00:02:52,880 --> 00:02:54,840 rotirati pismo. 46 00:02:54,840 --> 00:03:03,280 Dakle, ako su ušli tri, a zatim, ako poruka bio sam, to će nam dati 0 i plus 47 00:03:03,280 --> 00:03:05,400 Ključ će nam dati tri. 48 00:03:05,400 --> 00:03:09,450 >> Tako sada, mi smo s obzirom Treće mjesto u abecedi. 49 00:03:09,450 --> 00:03:12,810 Vidjet ćemo zašto nam treba mod by num slova u sekundi. 50 00:03:12,810 --> 00:03:18,700 Ali na kraju, želimo staviti na završiti opet nas guraju natrag u 51 00:03:18,700 --> 00:03:22,020 ASCII vrijednosti za tih likova umjesto numeričkih mjesta u 52 00:03:22,020 --> 00:03:24,260 abeceda od tih likova. 53 00:03:24,260 --> 00:03:26,580 >> Dakle, zašto mi mod by num slova? 54 00:03:26,580 --> 00:03:29,960 Zapamtite da želimo zaokrenuti od kraja abecede u 55 00:03:29,960 --> 00:03:31,470 s početkom u abecedi. 56 00:03:31,470 --> 00:03:38,530 Dakle, ako je korisnik ušao Z, a zatim oduzimanjem od koje će se 57 00:03:38,530 --> 00:03:40,520 dajte nam 25. 58 00:03:40,520 --> 00:03:44,800 A ako ključ su 3, a zatim ćemo imati 28. 59 00:03:44,800 --> 00:03:53,000 Ali Z treba zaokrenuti za ABC, pa 28 mod num pisma, koje je mljeveno meso definirane 60 00:03:53,000 --> 00:04:01,890 kao 26 za očekivati, će dati nas 2, gdje je C druga pismo 61 00:04:01,890 --> 00:04:05,880 abeceda, ako se sjetite da je nultoga slovo abecede. 62 00:04:05,880 --> 00:04:09,210 >> Dakle, to je razlog zašto nam je potrebna kako bi mod by num slova. 63 00:04:09,210 --> 00:04:13,540 Sada moramo učiniti isto točno stvar za mala slova, osim 64 00:04:13,540 --> 00:04:17,240 sjetite se da kad imamo posla malih slova, imaju drugačija 65 00:04:17,240 --> 00:04:18,579 ASCII vrijednosti. 66 00:04:18,579 --> 00:04:24,550 I tako nam je potrebno oduzeti i dodati na to pomak prema dolje od mala slova 67 00:04:24,550 --> 00:04:30,020 ASCII vrijednosti i onda natrag u izvorni mala ASCII vrijednosti. 68 00:04:30,020 --> 00:04:33,140 >> I na kraju, to će nam dati naš šifrirana poruka. 69 00:04:33,140 --> 00:04:37,780 I na kraju, samo smo ispisali ta je poruka, i to je to. 70 00:04:37,780 --> 00:04:39,875 Moje ime je Rob, a bio je Cezar. 71 00:04:39,875 --> 00:04:49,856