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

2
00:00:00,720 --> 00:00:03,190
>> Дејвид Џ MALAN: Да претпоставиме дека јас би сакал
да спроведе програма што го поттикнува

3
00:00:03,190 --> 00:00:06,650
корисникот за низа и потоа продолжува
за да профитираат нивниот придонес,

4
00:00:06,650 --> 00:00:09,790
конвертирање на било мали букви
дека тие тип во големи букви.

5
00:00:09,790 --> 00:00:11,770
Добро, ајде да одиме напред и да
спроведување на таа програма.

6
00:00:11,770 --> 00:00:18,760
>> Ајде прво да вклучуваат cs50.h проследено
од вклучуваат stdio.h.

7
00:00:18,760 --> 00:00:23,990
И така што можеме да го користиме strlen,
ајде да вклучуваат string.h.

8
00:00:23,990 --> 00:00:29,860
>> Ајде следната прогласи главната како int главната празнина
и ајде сега продолжи да поттикне

9
00:00:29,860 --> 00:00:31,600
корисникот за низа.

10
00:00:31,600 --> 00:00:34,840
Printf, ајде да ги поттикне
за некои влез.

11
00:00:34,840 --> 00:00:36,460
Сега ајде да прогласи низа -

12
00:00:36,460 --> 00:00:37,630
ние ќе го нарекуваат е -

13
00:00:37,630 --> 00:00:44,010
и чување во него резултат на повик
на cs50 библиотека функција GetString.

14
00:00:44,010 --> 00:00:48,850
>> Ајде сега продолжи да iterate преку секоја
од ликовите во ОК, Капитализиране

15
00:00:48,850 --> 00:00:50,650
било мали букви, кои ги гледаме.

16
00:00:50,650 --> 00:00:53,630
За int, можам да добијам 0.

17
00:00:53,630 --> 00:00:58,780
Да, исто така прогласи n како да е еднаква на
стрингот должина на коментарите, така што можеме да

18
00:00:58,780 --> 00:01:03,590
iterate од i до n,
должина на s, и на секоја

19
00:01:03,590 --> 00:01:05,760
повторување зголемување i.

20
00:01:05,760 --> 00:01:09,970
>> А потоа внатрешноста на овој циклус, ајде да
Прво проверете е моменталниот писмо -

21
00:01:09,970 --> 00:01:12,270
i-тиот писмо на ОК, така да се каже -

22
00:01:12,270 --> 00:01:14,170
на мали букви.

23
00:01:14,170 --> 00:01:23,090
Ако s држач i е поголема од или еднаква
во мали букви А, и тоа е помалку

24
00:01:23,090 --> 00:01:26,900
од или еднаква на мали z -

25
00:01:26,900 --> 00:01:30,860
Сега, ако сакаме да го конвертирате мали
писмо во големи букви, да се потсетиме првиот што

26
00:01:30,860 --> 00:01:35,810
во ASCII мали букви a е 97
и големи A е 65.

27
00:01:35,810 --> 00:01:41,020
Во меѓувреме, мали б е 98,
и големи B е 66.

28
00:01:41,020 --> 00:01:44,180
>> Ако продолжиме да се погледне во тоа шема,
ќе видиме дека мали

29
00:01:44,180 --> 00:01:49,240
Буквите се секогаш 32 повисоки вредности
од големи букви.

30
00:01:49,240 --> 00:01:53,490
Значи, ако сакаме да го конвертирате од мали
во големи букви, што треба

31
00:01:53,490 --> 00:01:57,210
доволни, навистина, да се одземе
32 од влез на корисникот.

32
00:01:57,210 --> 00:02:01,330
Или поопшто, само одземе дека
разликата помеѓу мали е и

33
00:02:01,330 --> 00:02:02,310
капитал А

34
00:02:02,310 --> 00:02:03,410
>> Како да го изразат тоа?

35
00:02:03,410 --> 00:02:04,640
Добро, ајде да го направиме тоа во код.

36
00:02:04,640 --> 00:02:09,960
Printf, цитат, unquote "% c" за печатење
сегашниот карактер, по што следи

37
00:02:09,960 --> 00:02:18,500
печатење на сé што е во с заградата јас минус
резултат на вршење на мали на

38
00:02:18,500 --> 00:02:22,660
минус големи букви точка-запирка.

39
00:02:22,660 --> 00:02:27,010
Со други зборови, ова parenthetical
изразување, малку минус голема, е

40
00:02:27,010 --> 00:02:29,360
ќе се врати на нас
на крајот на денот 32.

41
00:02:29,360 --> 00:02:31,230
Но, јас не треба да се запамети
дека тоа е 32.

42
00:02:31,230 --> 00:02:34,150
Можам да им овозможи на компјутерот да дознаам
што е разликата помеѓу мали

43
00:02:34,150 --> 00:02:35,990
а и капитал А е.

44
00:02:35,990 --> 00:02:39,610
>> Во меѓувреме, еднаш знам дека разликата,
Можам да го одземе од s

45
00:02:39,610 --> 00:02:43,710
заградата јас, кој ќе се она што е
претпоставува дека мали букви на

46
00:02:43,710 --> 00:02:48,100
пониска вредност, имено вредност која мапи
врз еквивалент големи букви.

47
00:02:48,100 --> 00:02:51,240
Ајде сега спаси, состави,
и да ја стартувате програмата.

48
00:02:51,240 --> 00:02:57,760
Направи профитираат точка црта капитализирани.

49
00:02:57,760 --> 00:03:01,290
И мојот влез ќе биде здраво.

50
00:03:01,290 --> 00:03:02,920
И ние имаме, здраво.

51
00:03:02,920 --> 00:03:05,570
>> Сега, мојот брза, очигледно, е
малку грдо, затоа што ние сме

52
00:03:05,570 --> 00:03:07,810
испуштени една малку на печатење.

53
00:03:07,810 --> 00:03:09,370
И да се вратиме и додаваат дека.

54
00:03:09,370 --> 00:03:12,890
На самото дно на оваа програма,
Јас сум многу едноставно, и во голема мера за

55
00:03:12,890 --> 00:03:18,440
естетски цел, ќе се додаде printf,
понуда, unquote обратна коса црта n.

56
00:03:18,440 --> 00:03:22,330
Ајде resave оваа датотека,
прекомпајлирате, повторување.

57
00:03:22,330 --> 00:03:28,090
>> Направи профитираат, точка црта профитираат.

58
00:03:28,090 --> 00:03:32,540
Повторно, за влез ќе обезбеди "здраво"
во сите мали букви и сега притиснете Ентер,

59
00:03:32,540 --> 00:03:34,550
и "здраво", многу повеќе чисто печатени.

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