1 00:00:00,000 --> 00:00:11,960 2 00:00:11,960 --> 00:00:13,750 >> ROB Bowden: Hola, sóc Rob. 3 00:00:13,750 --> 00:00:17,360 I quan a Roma, anem a programa el que vegis. 4 00:00:17,360 --> 00:00:22,280 Per tant, el primer que hem de fer és comprovar per assegurar-se que l'usuari realment va entrar 5 00:00:22,280 --> 00:00:26,670 el nombre que volem rotar cada personatge en la línia d'ordres. 6 00:00:26,670 --> 00:00:27,740 >> Així, comprovem. 7 00:00:27,740 --> 00:00:30,180 És argc igual a 2? 8 00:00:30,180 --> 00:00:34,190 Si no és així, això significa que l'usuari sigui no introduïu el número al 9 00:00:34,190 --> 00:00:37,770 línia d'ordres o entrar massa coses en la línia d'ordres, en la qual 10 00:00:37,770 --> 00:00:40,560 cas no sabem què fer amb la resta de les coses. 11 00:00:40,560 --> 00:00:45,750 Així, sempre que argc tenia dos anys, podem continuar amb la resta del programa. 12 00:00:45,750 --> 00:00:49,610 >> Ara, recordeu que argv 1 sempre és una cadena. 13 00:00:49,610 --> 00:00:52,490 Però volem tractar com un sencer. 14 00:00:52,490 --> 00:00:57,550 Per tant, utilitzem la funció atoi això és setembre p esmentada especificació per convertir el 15 00:00:57,550 --> 00:01:02,330 cadena argv 1 en un sencer, i que emmagatzemem en clau. 16 00:01:02,330 --> 00:01:06,050 Volem assegurar-nos que el nombre enter que s'ha introduït no és negatiu. 17 00:01:06,050 --> 00:01:09,490 I si ho fos, volem publicar que a l'usuari que no se'ls permet 18 00:01:09,490 --> 00:01:11,980 per fer això, i tornar. 19 00:01:11,980 --> 00:01:15,100 >> Per tant, ara tenim una vàlida nombre de l'usuari. 20 00:01:15,100 --> 00:01:19,780 Però hem d'aconseguir una cadena de la usuari que volem xifrar. 21 00:01:19,780 --> 00:01:25,340 Així que solíem fer-while i utilitzi arribar cadena per obtenir aquesta cadena des del 22 00:01:25,340 --> 00:01:29,190 usuari, i continuar rebent la cadena fins que realment 23 00:01:29,190 --> 00:01:31,270 introduïu una cadena vàlida. 24 00:01:31,270 --> 00:01:34,400 >> Un cop tinguem aquesta cadena, que pot passar a xifrar. 25 00:01:34,400 --> 00:01:38,120 Així, aquest bucle està fent que el xifrat. 26 00:01:38,120 --> 00:01:43,250 Noteu que estem iterant des i és igual a 0 t fins al final fins que i és igual a 27 00:01:43,250 --> 00:01:47,790 n, on n es defineix com la longitud de nostre missatge, on el missatge és el 28 00:01:47,790 --> 00:01:50,260 cadena que l'usuari ha introduït. 29 00:01:50,260 --> 00:01:54,330 >> Així que estem interactuant sobretot caràcters de la cadena. 30 00:01:54,330 --> 00:01:59,740 I si un personatge està en majúscules, a continuació, canviarem usant aquesta 31 00:01:59,740 --> 00:02:01,860 fórmula, que anem a arribar en un segon. 32 00:02:01,860 --> 00:02:05,260 I si estava en minúscules, a continuació, anem a canviar usant aquest és 33 00:02:05,260 --> 00:02:07,290 fórmula molt similar. 34 00:02:07,290 --> 00:02:10,850 I si no era ni una majúscula ni una lletra minúscula - per exemple, 35 00:02:10,850 --> 00:02:15,370 podria ser un nombre o un símbol - llavors no faran res per a això. 36 00:02:15,370 --> 00:02:18,220 >> Així que, quines són aquestes fórmules? 37 00:02:18,220 --> 00:02:22,090 Bé, com podem canviar el caràcter A? 38 00:02:22,090 --> 00:02:27,250 Volem tractar el caràcter A mesura que el nombre 0. 39 00:02:27,250 --> 00:02:30,710 I volem tractar el caràcter B com el número 1, i així successivament. 40 00:02:30,710 --> 00:02:35,170 Són els personatges d'ordre zero i l'alfabet i així successivament. 41 00:02:35,170 --> 00:02:42,900 >> Així que aquí, el missatge i menys A se suposa per donar-nos el lloc numèric del 42 00:02:42,900 --> 00:02:44,400 lletra de l'alfabet. 43 00:02:44,400 --> 00:02:48,080 Així que si el missatge i és A, aquesta ens donarà 0. 44 00:02:48,080 --> 00:02:52,880 Ara, volem afegir que el nombre que l'usuari desitja 45 00:02:52,880 --> 00:02:54,840 girar la carta. 46 00:02:54,840 --> 00:03:03,280 Així que, si entraven 3, llavors si el missatge Jo era una, això ens dóna 0 i més 47 00:03:03,280 --> 00:03:05,400 clau ens donarà 3. 48 00:03:05,400 --> 00:03:09,450 >> Així que ara, estem considerant la el tercer lloc en l'alfabet. 49 00:03:09,450 --> 00:03:12,810 Ja veurem per què necessitem de mod per lletres nombres en un segon. 50 00:03:12,810 --> 00:03:18,700 Però, finalment, volem afegir a la A acabar de nou a nosaltres canviar de nou en el 51 00:03:18,700 --> 00:03:22,020 Valors ASCII d'aquests personatges en lloc dels llocs numèrics en la 52 00:03:22,020 --> 00:03:24,260 alfabet d'aquests personatges. 53 00:03:24,260 --> 00:03:26,580 >> Així que, per què mod per lletres nombres? 54 00:03:26,580 --> 00:03:29,960 Recordi que volem per embolicar des del final de l'alfabet a la 55 00:03:29,960 --> 00:03:31,470 a partir de l'alfabet. 56 00:03:31,470 --> 00:03:38,530 Així Z si l'usuari havia entrat, a continuació, Un restar de la que es va a 57 00:03:38,530 --> 00:03:40,520 ens donen 25. 58 00:03:40,520 --> 00:03:44,800 I si la clau no són 3, llavors tindrem 28. 59 00:03:44,800 --> 00:03:53,000 Però Z ha d'embolicar a l'ABC, per la qual cosa 28 lletres num mod, que es defineix de hash 60 00:03:53,000 --> 00:04:01,890 com 26 que és d'esperar, donarà nosaltres 2, on C és la segona lletra de l' 61 00:04:01,890 --> 00:04:05,880 l'alfabet, si vostè recorda que A és la carta zero de l'alfabet. 62 00:04:05,880 --> 00:04:09,210 >> Així que per això hem de mod per lletres num. 63 00:04:09,210 --> 00:04:13,540 Ara, hem de fer exactament el mateix per les lletres minúscules, excepte 64 00:04:13,540 --> 00:04:17,240 recordar que quan estem tractant amb lletres minúscules, tenen diferent 65 00:04:17,240 --> 00:04:18,579 Valors ASCII. 66 00:04:18,579 --> 00:04:24,550 I així hem de restar i afegir un per desplaçar cap avall des de la minúscula 67 00:04:24,550 --> 00:04:30,020 Valors ASCII i després de tornada a la valors ASCII minúscules originals. 68 00:04:30,020 --> 00:04:33,140 >> I, finalment, que ens donarà nostre missatge xifrat. 69 00:04:33,140 --> 00:04:37,780 I al final, acabem imprimim aquest missatge, i això és tot. 70 00:04:37,780 --> 00:04:39,875 El meu nom és Rob, i era César. 71 00:04:39,875 --> 00:04:49,856