1
00:00:00,000 --> 00:00:00,720

2
00:00:00,720 --> 00:00:03,190
>> DAVID J. Malan: Dejme tomu, že bych chtěl
realizovat program, který vyzve

3
00:00:03,190 --> 00:00:06,650
uživatel na řetězec a pak pokračuje
využít jejich přínos,

4
00:00:06,650 --> 00:00:09,790
Převod jakékoli malá písmena
že typ na velká písmena.

5
00:00:09,790 --> 00:00:11,770
Dobře, pojďme do toho a
provádění tohoto programu.

6
00:00:11,770 --> 00:00:18,760
>> Pojďme si nejprve jsou následně cs50.h
které zahrnují stdio.h.

7
00:00:18,760 --> 00:00:23,990
A tak, že můžeme použít strlen,
pojďme patří string.h.

8
00:00:23,990 --> 00:00:29,860
>> Pojďme další deklarovat hlavní jako int main prázdno
a pojďme nyní pokračovat na výzvu

9
00:00:29,860 --> 00:00:31,600
uživatel na provázku.

10
00:00:31,600 --> 00:00:34,840
Printf, pojďme vyzve je
pro nějaký vstup.

11
00:00:34,840 --> 00:00:36,460
Nyní pojďme deklarovat řetězec -

12
00:00:36,460 --> 00:00:37,630
zavoláme je to -

13
00:00:37,630 --> 00:00:44,010
a uložit do ní výsledek volání
CS50 knihovna funkce GetString.

14
00:00:44,010 --> 00:00:48,850
>> Pojďme se nyní přistoupit k iteraci každý
z charakterů v s, vydělávat

15
00:00:48,850 --> 00:00:50,650
nějaké malá písmena, které vidíme.

16
00:00:50,650 --> 00:00:53,630
Pro int, i se 0.

17
00:00:53,630 --> 00:00:58,780
Pojďme se také prohlásit n jako je rovna
délka řetězce s, takže můžeme

18
00:00:58,780 --> 00:01:03,590
iterovat od i až do n,
délka S, a na každém

19
00:01:03,590 --> 00:01:05,760
iterace přírůstek i.

20
00:01:05,760 --> 00:01:09,970
>> A pak se uvnitř této smyčky, pojďme
První kontrola je aktuální písmeno -

21
00:01:09,970 --> 00:01:12,270
i-tý písmeno s, abych tak řekl -

22
00:01:12,270 --> 00:01:14,170
malé písmeno.

23
00:01:14,170 --> 00:01:23,090
Je-li s konzola i je větší než nebo rovno
na malá písmena, a to je méně

24
00:01:23,090 --> 00:01:26,900
než nebo rovnající se malým Z -

25
00:01:26,900 --> 00:01:30,860
Nyní, pokud chceme převést na malá písmena
Dopis na velká písmena, připomenout zaprvé, že

26
00:01:30,860 --> 00:01:35,810
v ASCII malá 97
a velká 65.

27
00:01:35,810 --> 00:01:41,020
Mezitím, malými písmeny b je 98,
a velká písmena B je 66.

28
00:01:41,020 --> 00:01:44,180
>> Pokud budeme i nadále hledat v této struktuře,
uvidíme, že malá

29
00:01:44,180 --> 00:01:49,240
písmena jsou vždy 32 vyšších hodnot
než velká písmena.

30
00:01:49,240 --> 00:01:53,490
Takže pokud chceme převést z malých písmen
na velká písmena, by měl

31
00:01:53,490 --> 00:01:57,210
stačí, opravdu, odečíst
32 od vstupu uživatele.

32
00:01:57,210 --> 00:02:01,330
Nebo obecněji, jen odečíst, že
Rozdíl mezi malými písmeny A a A

33
00:02:01,330 --> 00:02:02,310
kapitál A.

34
00:02:02,310 --> 00:02:03,410
>> Jak vyjádřit, že?

35
00:02:03,410 --> 00:02:04,640
Dobře, pojďme to udělat v kódu.

36
00:02:04,640 --> 00:02:09,960
Printf, citace, konec citátu "% c" k tisku
aktuální znak, následovaný

37
00:02:09,960 --> 00:02:18,500
tisk bez ohledu na to v s držákem i mínus
Výsledkem dělá malá písmena A

38
00:02:18,500 --> 00:02:22,660
minus velká písmena A středník.

39
00:02:22,660 --> 00:02:27,010
Jinými slovy, tento závorkách
výraz, trochu minus velký, je

40
00:02:27,010 --> 00:02:29,360
chystá se vrátit k nám na
konec dne 32..

41
00:02:29,360 --> 00:02:31,230
Ale já nemusím pamatovat
že je to 32.

42
00:02:31,230 --> 00:02:34,150
Nemohu dovolit počítač přijít na to,
, jaký je rozdíl mezi malými písmeny

43
00:02:34,150 --> 00:02:35,990
a kapitálu je.

44
00:02:35,990 --> 00:02:39,610
>> Mezitím, když jsem vědět, že rozdíl,
I to může odečíst od s

45
00:02:39,610 --> 00:02:43,710
držák i, který bude mít to, co je
pravděpodobně malé písmeno na

46
00:02:43,710 --> 00:02:48,100
nižší hodnota, a to hodnota, která mapuje
na s velkým ekvivalent.

47
00:02:48,100 --> 00:02:51,240
Pojďme nyní uložit, zkompilovat,
a spustit tento program.

48
00:02:51,240 --> 00:02:57,760
Ujistěte se vydělávat tečka lomítko aktivovány.

49
00:02:57,760 --> 00:03:01,290
A můj vstup bude ahoj.

50
00:03:01,290 --> 00:03:02,920
A tady to máme, ahoj.

51
00:03:02,920 --> 00:03:05,570
>> Teď moje výzva, pravda, je
trochu ošklivá, protože máme

52
00:03:05,570 --> 00:03:07,810
vynechat jeden bit tisku.

53
00:03:07,810 --> 00:03:09,370
A vraťme se a dodává, že.

54
00:03:09,370 --> 00:03:12,890
Na samém konci tohoto programu,
Jsem velmi jednoduše, a do značné míry na

55
00:03:12,890 --> 00:03:18,440
estetický účel, přidáme printf,
citace, konec citátu zpětné lomítko n.

56
00:03:18,440 --> 00:03:22,330
Pojďme znovu uložit tento soubor,
překompilovat, opakování.

57
00:03:22,330 --> 00:03:28,090
>> Ujistěte se vydělávat, tečka lomítko vydělat.

58
00:03:28,090 --> 00:03:32,540
Opět platí, že pro vstup budu poskytovat "ahoj"
ve všech malými písmeny a nyní stiskněte klávesu Enter,

59
00:03:32,540 --> 00:03:34,550
a "ahoj", mnohem čistěji vytisknout.

60
00:03:34,550 --> 00:03:36,432