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