1 00:00:00,000 --> 00:00:00,340 2 00:00:00,340 --> 00:00:02,690 >> DAVID Malan: Supozi ni ŝatus skribi programo kiu pelas la uzanto 3 00:00:02,690 --> 00:00:05,100 por ŝnuro kaj tiam capitalizes ke kordo. 4 00:00:05,100 --> 00:00:09,000 Nu, ni komencu per kelkaj konataj kodo deklarante ŝnuro nomita s kaj 5 00:00:09,000 --> 00:00:11,380 atribuante al ĝi la reveno valoro de getstring. 6 00:00:11,380 --> 00:00:14,910 Kaj ni nun procedas persisti super la karakteroj en ĉi ŝnuro. 7 00:00:14,910 --> 00:00:16,000 Nu, kiel fari tion? 8 00:00:16,000 --> 00:00:19,350 Rezultas, ke kordoj estas nur vico de signoj, sed pli 9 00:00:19,350 --> 00:00:23,320 konvene, ŝnuro estas tabelo de karakterojn, kiuj signifas ke ni povas uzi 10 00:00:23,320 --> 00:00:27,590 kvadrata krampo notacio al indekson en ŝnuro kaj instigi al individua 11 00:00:27,590 --> 00:00:28,680 karakteroj. 12 00:00:28,680 --> 00:00:30,980 >> En aliaj vortoj, ni povas fari la sekvan. 13 00:00:30,980 --> 00:00:36,730 Por int, i ricevas 0, kaj n prenas, diri, la longeco de s, uzante 14 00:00:36,730 --> 00:00:37,530 nia funkcio [? kirli?] 15 00:00:37,530 --> 00:00:38,630 [? linio,?] 16 00:00:38,630 --> 00:00:40,450 i estas malpli ol n i + +. 17 00:00:40,450 --> 00:00:45,290 En aliaj vortoj, kun ĉi maŝo, ni estos persisti super ĉiuj n literoj 18 00:00:45,290 --> 00:00:46,670 en la kordo s. 19 00:00:46,670 --> 00:00:51,680 Kaj ene de tiu ciklo, mi tuj kontrolu, se la i-a karaktero en s 20 00:00:51,680 --> 00:00:57,630 pli granda ol aŭ egala al minuskla a, kaj la i-a karaktero estas malpli ol aŭ 21 00:00:57,630 --> 00:01:02,370 egala al minuskla c, tiam mi volas procedi profiti tiun literon. 22 00:01:02,370 --> 00:01:08,030 Alivorte, mi volas presi% c kiel lokokupilo kaj anstataŭanto en por 23 00:01:08,030 --> 00:01:11,120 ke lokokupilo s krampo i. 24 00:01:11,120 --> 00:01:14,390 >> Sed tiam mi devas konverti s krampo i al majuskle. 25 00:01:14,390 --> 00:01:18,930 Por fari tion, mi povas simple subtrahi kion ajn la diferenco estas inter 26 00:01:18,930 --> 00:01:24,120 minuskla a kaj ĉefurbo A. Nu, mi fakte ne memoras ke ĉefurbo A estas 27 00:01:24,120 --> 00:01:27,160 65 en ASCII kaj minuskla a estas 97. 28 00:01:27,160 --> 00:01:29,210 Do la diferenco estas teknike 32. 29 00:01:29,210 --> 00:01:31,620 Do mi povis nur malfacile kodo 32 tien. 30 00:01:31,620 --> 00:01:33,870 Sed mi ne nepre memori tiujn ciferojn. 31 00:01:33,870 --> 00:01:37,250 >> Kaj cetere, kion se ili varias de komputilo? 32 00:01:37,250 --> 00:01:38,520 Plej verŝajne ili ne estas. 33 00:01:38,520 --> 00:01:42,460 Sed la punkto restas ke mi ankoraŭ povas ĝeneraligi tiu aritmetika esprimo 34 00:01:42,460 --> 00:01:46,550 kiel simple nenial la diferenco estas inter minuskla a kaj majuskla A 35 00:01:46,550 --> 00:01:50,880 estas kion mi volas subtrahi ekstermigxos el tiu aparta minuskla litero. 36 00:01:50,880 --> 00:01:54,500 >> Nun, se tiu aparta letero ne estas minusklaj, mi simple 37 00:01:54,500 --> 00:01:56,620 deziras presi ĝin. 38 00:01:56,620 --> 00:02:01,110 printf,% c kiel mia lokokupilo, s krampo i. 39 00:02:01,110 --> 00:02:05,150 Ĉe la malsupro de tiu programo, ni simple presi linion tiel, ke mia 40 00:02:05,150 --> 00:02:07,520 prompt aperas sur nova linio de lia propra. 41 00:02:07,520 --> 00:02:11,540 >> Ni nun kompili tiun programon kun make capitalize0. 42 00:02:11,540 --> 00:02:13,900 Ni kuras kun capitalize0. 43 00:02:13,900 --> 00:02:17,190 Kaj ni tajpas en vorto kiel saluton en ĉiuj minuskle. 44 00:02:17,190 --> 00:02:19,960 Mi reiros SALUTON en majuskle kiel atendita. 45 00:02:19,960 --> 00:02:25,210 Sed ni provu pli teston, ĉifoje kun mia propra nomo, D-Al-V-mi-D, sed kun 46 00:02:25,210 --> 00:02:28,170 la unua D majuskle, ĝuste kazo mi paneas ion 47 00:02:28,170 --> 00:02:29,430 kun tiu unua char. 48 00:02:29,430 --> 00:02:34,250 Enter, kaj D-Al-V-mi-D en majuskle Estas presita tiel. 49 00:02:34,250 --> 00:02:36,873