1 00:00:00,000 --> 00:00:00,720 2 00:00:00,720 --> 00:00:03,190 >> DAVID J. Malan: Supozu, ke mi ŝatus apliki programon kiu pelas 3 00:00:03,190 --> 00:00:06,650 la uzanto por ŝnuro kaj tiam procedas profiti ilian eniron, 4 00:00:06,650 --> 00:00:09,790 konverti ajnan minusklaj literoj ke oni tajpas al majuskle. 5 00:00:09,790 --> 00:00:11,770 Nu, ni iru antaŭen kaj apliki tiu programo. 6 00:00:11,770 --> 00:00:18,760 >> Ni unue inkluzivi cs50.h sekvis per inkluzivi stdio.h. 7 00:00:18,760 --> 00:00:23,990 Kaj tial ke ni povas uzi strlen, ni inkluzivas string.h. 8 00:00:23,990 --> 00:00:29,860 >> Ni sekvanta deklaras ĉefajn kiel int ĉefa void kaj ni nun procedas suflori 9 00:00:29,860 --> 00:00:31,600 la uzanto por kordoj. 10 00:00:31,600 --> 00:00:34,840 Printf, ni instigas ilin por iuj enigo. 11 00:00:34,840 --> 00:00:36,460 Nun ni rakontos ĉenon - 12 00:00:36,460 --> 00:00:37,630 ni nomas ĝin s - 13 00:00:37,630 --> 00:00:44,010 kaj stoki en ĝi la rezulto de vokanta la cs50 biblioteko funkcio GetString. 14 00:00:44,010 --> 00:00:48,850 >> Ni nun procedas persisti super ĉiu de la karakteroj en s, kapitaligi 15 00:00:48,850 --> 00:00:50,650 neniu minusklaj literoj kiujn ni vidas. 16 00:00:50,650 --> 00:00:53,630 Por int, i get 0. 17 00:00:53,630 --> 00:00:58,780 Ni ankaŭ deklari n kiel estante egala al la arĉa longo de s tiel ke ni povos 18 00:00:58,780 --> 00:01:03,590 persisti de i supren ĝis n, la longeco de s, kaj sur ĉiu 19 00:01:03,590 --> 00:01:05,760 ripeta pliigo i. 20 00:01:05,760 --> 00:01:09,970 >> Kaj poste ene de ĉi maŝo, ni unua ĉeko estas la nuna letero - 21 00:01:09,970 --> 00:01:12,270 la i-a letero de s, por tiel diri - 22 00:01:12,270 --> 00:01:14,170 minuskla litero. 23 00:01:14,170 --> 00:01:23,090 Se s krampo i estas pli granda ol aŭ egala al minuskla a, kaj ĝi estas malpli 24 00:01:23,090 --> 00:01:26,900 ol aŭ egala al minuskla z - 25 00:01:26,900 --> 00:01:30,860 Nun se ni volas konverti minusklajn literon, memoru unue ke 26 00:01:30,860 --> 00:01:35,810 en Askio minuskla a estas 97 kaj majuskle A estas 65. 27 00:01:35,810 --> 00:01:41,020 Dume, minuskla b estas 98, kaj majuskle B estas 66. 28 00:01:41,020 --> 00:01:44,180 >> Se ni daŭrigus rigardi ke ŝablono, ni vidos, ke la minuskla 29 00:01:44,180 --> 00:01:49,240 leteroj estas ĉiam de 32 valoroj pli altaj ol la majusklajn literojn. 30 00:01:49,240 --> 00:01:53,490 Do, se ni volas igi de minuskla al majuskle, devus 31 00:01:53,490 --> 00:01:57,210 sufiĉi, vere, substraer 32 el la uzanto enigon. 32 00:01:57,210 --> 00:02:01,330 Aŭ pli ĝenerale, simple subtrahi ke diferenco inter minuskla a kaj a 33 00:02:01,330 --> 00:02:02,310 ĉefurbo A. 34 00:02:02,310 --> 00:02:03,410 >> Kiel esprimi tion? 35 00:02:03,410 --> 00:02:04,640 Nu, ni faru ĝin en kodo. 36 00:02:04,640 --> 00:02:09,960 Printf, citaĵo, unquote "% c" print la nuna karaktero, sekvate de 37 00:02:09,960 --> 00:02:18,500 impreso ajn estas en s krampo i minus la rezulto de fari minuskla a 38 00:02:18,500 --> 00:02:22,660 minus majuskle punktokomo. 39 00:02:22,660 --> 00:02:27,010 Alivorte, ĉi parenthetical esprimo, iom minus granda A, estas 40 00:02:27,010 --> 00:02:29,360 tuj revenos nin ĉe la fino de la tago 32. 41 00:02:29,360 --> 00:02:31,230 Sed mi ne devas memori ke ĝi estas 32. 42 00:02:31,230 --> 00:02:34,150 Mi povas permesi al la komputilo por elkompreni kio estas la diferenco inter minuskla 43 00:02:34,150 --> 00:02:35,990 a kaj ĉefurbo A estas. 44 00:02:35,990 --> 00:02:39,610 >> Dume, kiam mi scias ke la diferenco, Mi povas subtrahi ĝin el s 45 00:02:39,610 --> 00:02:43,710 krampo i, kiu prenos kio estas supozeble minuskla letero al 46 00:02:43,710 --> 00:02:48,100 malsupra valoron, nome valoro kiu mapas sur an majuskle ekvivalento. 47 00:02:48,100 --> 00:02:51,240 Ni nun savu, kompili, kaj kuri ĉi programo. 48 00:02:51,240 --> 00:02:57,760 Faru capitalize dot oblikvo majuskle. 49 00:02:57,760 --> 00:03:01,290 Kaj mia enigo estos saluton. 50 00:03:01,290 --> 00:03:02,920 Kaj tie ni havas, saluton. 51 00:03:02,920 --> 00:03:05,570 >> Nun mia prompto, rekoni, estas iom malbela, ĉar ni 52 00:03:05,570 --> 00:03:07,810 preterlasita unu bito de presado. 53 00:03:07,810 --> 00:03:09,370 Kaj ni reiru kaj aldonu tion. 54 00:03:09,370 --> 00:03:12,890 Je la tre malsupro de tiu programo, Mi estas tre simple, kaj grandparte pro 55 00:03:12,890 --> 00:03:18,440 estetikan celon, tuj aldonu printf, citaĵo, unquote backslash n. 56 00:03:18,440 --> 00:03:22,330 Ni resave tiu dosiero, rekompili, rerun. 57 00:03:22,330 --> 00:03:28,090 >> Faru capitalize, skalara oblikvo capitalize. 58 00:03:28,090 --> 00:03:32,540 Denove, por enigo Mi havigi "hello" en ĉiuj minuskloj kaj nun batis Enter, 59 00:03:32,540 --> 00:03:34,550 kaj "Saluton," multe pli pure presita. 60 00:03:34,550 --> 00:03:36,432