1 00:00:00,000 --> 00:00:11,960 2 00:00:11,960 --> 00:00:13,750 >> ROB BOWDEN: Ciao, sono Rob. 3 00:00:13,750 --> 00:00:17,360 E quando a Roma, cerchiamo di programma come fanno i romani. 4 00:00:17,360 --> 00:00:22,280 Quindi, la prima cosa che dobbiamo fare è di controllo per assicurarsi che l'utente effettivamente immesso 5 00:00:22,280 --> 00:00:26,670 il numero che vogliamo ruotare ogni personaggio nella riga di comando. 6 00:00:26,670 --> 00:00:27,740 >> Quindi, controlliamo. 7 00:00:27,740 --> 00:00:30,180 È argc uguale a 2? 8 00:00:30,180 --> 00:00:34,190 Se non lo è, significa che l'utente sia non inserire il numero nella 9 00:00:34,190 --> 00:00:37,770 riga di comando o sono entrati troppi cose alla riga di comando, in cui 10 00:00:37,770 --> 00:00:40,560 caso non sappiamo cosa fare con il resto delle cose. 11 00:00:40,560 --> 00:00:45,750 Quindi, fintanto argc era due, possiamo continuare con il resto del programma. 12 00:00:45,750 --> 00:00:49,610 >> Ora, ricordate che argv 1 è sempre una stringa. 13 00:00:49,610 --> 00:00:52,490 Ma vogliamo trattarlo come un intero. 14 00:00:52,490 --> 00:00:57,550 Quindi, usiamo la funzione atoi che è p set sopra indicati spec per convertire il 15 00:00:57,550 --> 00:01:02,330 stringa argv 1 a un numero intero, e memorizziamo che in chiave. 16 00:01:02,330 --> 00:01:06,050 Vogliamo fare in modo che l'intero che è stato inserito non è negativo. 17 00:01:06,050 --> 00:01:09,490 E se fosse, vogliamo stampare che a l'utente che non è permesso 18 00:01:09,490 --> 00:01:11,980 per farlo, e ritorno. 19 00:01:11,980 --> 00:01:15,100 >> Così, ora abbiamo un valido numero dall'utente. 20 00:01:15,100 --> 00:01:19,780 Ma abbiamo bisogno di ottenere una stringa dal utente che vogliamo criptare. 21 00:01:19,780 --> 00:01:25,340 Così abbiamo usato per do-while loop e utilizzare arrivare stringa per ottenere questa stringa dal 22 00:01:25,340 --> 00:01:29,190 utente, e continuare a ricevere stringa fino a che realmente 23 00:01:29,190 --> 00:01:31,270 inserire una stringa valida. 24 00:01:31,270 --> 00:01:34,400 >> Una volta che abbiamo la stringa, abbiamo può andare avanti per crittografare esso. 25 00:01:34,400 --> 00:01:38,120 Quindi, questo ciclo for sta facendo che la crittografia. 26 00:01:38,120 --> 00:01:43,250 Notate che stiamo scorrendo da i è uguale a 0 t tutta la strada fino a i equals 27 00:01:43,250 --> 00:01:47,790 n, dove n è definita come la lunghezza di nostro messaggio, in cui il messaggio è l' 28 00:01:47,790 --> 00:01:50,260 stringa che l'utente ha inserito. 29 00:01:50,260 --> 00:01:54,330 >> Quindi stiamo iterare su tutti caratteri della stringa. 30 00:01:54,330 --> 00:01:59,740 E se un personaggio è maiuscola, quindi stiamo andando a spostare utilizzando questo 31 00:01:59,740 --> 00:02:01,860 formula, che faremo arrivare in un secondo. 32 00:02:01,860 --> 00:02:05,260 E se era minuscolo, poi ci spostiamo utilizzando questo è 33 00:02:05,260 --> 00:02:07,290 formula molto simile. 34 00:02:07,290 --> 00:02:10,850 E se non era né una maiuscola né una lettera minuscola - per esempio, 35 00:02:10,850 --> 00:02:15,370 potrebbe essere un numero o un simbolo - poi abbiamo non stanno andando a fare qualcosa per esso. 36 00:02:15,370 --> 00:02:18,220 >> Allora, che cosa sono queste formule? 37 00:02:18,220 --> 00:02:22,090 Bene, come facciamo spostiamo il carattere A? 38 00:02:22,090 --> 00:02:27,250 Vogliamo trattare il carattere A come il numero 0. 39 00:02:27,250 --> 00:02:30,710 E vogliamo trattare il carattere B come il numero 1, e così via. 40 00:02:30,710 --> 00:02:35,170 Sono i personaggi zeroth e prima dell'alfabeto e così via. 41 00:02:35,170 --> 00:02:42,900 >> Così qui, il messaggio i meno A si suppone per darci il luogo numerica del 42 00:02:42,900 --> 00:02:44,400 lettera dell'alfabeto. 43 00:02:44,400 --> 00:02:48,080 Quindi, se il messaggio mi è A, questo sta per darci 0. 44 00:02:48,080 --> 00:02:52,880 Ora, vogliamo aggiungere che l' numero che l'utente desidera 45 00:02:52,880 --> 00:02:54,840 ruotare la lettera da. 46 00:02:54,840 --> 00:03:03,280 Quindi, se sono entrati 3, poi se il messaggio Ero una, questo ci darà 0 piú 47 00:03:03,280 --> 00:03:05,400 Tasto ci darà 3. 48 00:03:05,400 --> 00:03:09,450 >> Così ora, stiamo considerando la terzo posto in alfabeto. 49 00:03:09,450 --> 00:03:12,810 Vedremo perché abbiamo bisogno di mod con lettere num in un secondo. 50 00:03:12,810 --> 00:03:18,700 Ma alla fine, vogliamo aggiungere al A finire nuovamente a spostare indietro nel 51 00:03:18,700 --> 00:03:22,020 Valori ASCII per questi personaggi invece dei luoghi numerici nel 52 00:03:22,020 --> 00:03:24,260 alfabeto di questi personaggi. 53 00:03:24,260 --> 00:03:26,580 >> Allora, perché abbiamo Mod con lettere num? 54 00:03:26,580 --> 00:03:29,960 Ricordate che vogliamo avvolgere intorno dalla fine dell'alfabeto alla 55 00:03:29,960 --> 00:03:31,470 inizio dell'alfabeto. 56 00:03:31,470 --> 00:03:38,530 Quindi, se l'utente fosse entrato Z, allora sottraendo A da che sta per 57 00:03:38,530 --> 00:03:40,520 ci danno 25. 58 00:03:40,520 --> 00:03:44,800 E se la chiave fosse 3, poi stiamo andando ad avere 28. 59 00:03:44,800 --> 00:03:53,000 Ma Z dovrebbe avvolgere intorno alla ABC, quindi 28 lettere num mod, che viene definito hash 60 00:03:53,000 --> 00:04:01,890 26 come prevedibile, sta per dare noi 2, dove C è la seconda lettera di 61 00:04:01,890 --> 00:04:05,880 l'alfabeto, se si ricorda che A è la lettera zeroth dell'alfabeto. 62 00:04:05,880 --> 00:04:09,210 >> Ecco perché abbiamo bisogno di mod con lettere num. 63 00:04:09,210 --> 00:04:13,540 Ora, abbiamo bisogno di fare la stessa cosa esatta per le lettere minuscole, ad eccezione 64 00:04:13,540 --> 00:04:17,240 ricordare che quando abbiamo a che fare con lettere minuscole, hanno diversi 65 00:04:17,240 --> 00:04:18,579 Valori ASCII. 66 00:04:18,579 --> 00:04:24,550 E così dobbiamo sottrarre e aggiungere un spostare giù dal minuscolo 67 00:04:24,550 --> 00:04:30,020 Valori ASCII e poi di nuovo l' valori ASCII minuscoli originali. 68 00:04:30,020 --> 00:04:33,140 >> E, infine, che ti do ci il nostro messaggio cifrato. 69 00:04:33,140 --> 00:04:37,780 E alla fine, abbiamo appena stampiamo quel messaggio, e questo è tutto. 70 00:04:37,780 --> 00:04:39,875 Il mio nome è Rob, ed era Cesare. 71 00:04:39,875 --> 00:04:49,856