1 00:00:00,000 --> 00:00:00,720 2 00:00:00,720 --> 00:00:03,190 >> David J. MALAN: Să presupunem că aș vrea să pună în aplicare un program care solicită 3 00:00:03,190 --> 00:00:06,650 utilizatorul pentru un șir și apoi purcede pentru a valorifica de intrare a acestora, 4 00:00:06,650 --> 00:00:09,790 Conversia orice litere mici care au tip de majuscule. 5 00:00:09,790 --> 00:00:11,770 Ei bine, să mergem mai departe și punerea în aplicare a acestui program. 6 00:00:11,770 --> 00:00:18,760 >> Să se numără în primul rând cs50.h urmat de includ stdio.h. 7 00:00:18,760 --> 00:00:23,990 Și astfel încât să putem folosi strlen, hai includ string.h. 8 00:00:23,990 --> 00:00:29,860 >> Să următor declara principal void main int și hai acum continua pentru a solicita 9 00:00:29,860 --> 00:00:31,600 utilizatorul pentru un șir. 10 00:00:31,600 --> 00:00:34,840 Printf, să-i determine pentru unele de intrare. 11 00:00:34,840 --> 00:00:36,460 Acum, haideți să declare un șir de caractere - 12 00:00:36,460 --> 00:00:37,630 vom numi aceasta e - 13 00:00:37,630 --> 00:00:44,010 și se păstrează în ea rezultatul de asteptare bibliotecă CS50 funcție getString. 14 00:00:44,010 --> 00:00:48,850 >> Să acum proceda pentru a itera peste fiecare din personajele s, valorificarea 15 00:00:48,850 --> 00:00:50,650 orice litere mici pe care le vedem. 16 00:00:50,650 --> 00:00:53,630 Pentru Int, I a lua 0. 17 00:00:53,630 --> 00:00:58,780 Să declare, de asemenea, n ca fiind egală cu lungimea șir de s astfel încât să putem 18 00:00:58,780 --> 00:01:03,590 repeta de la i până la n, lungimea s, iar pe fiecare 19 00:01:03,590 --> 00:01:05,760 i repetare creștere. 20 00:01:05,760 --> 00:01:09,970 >> Și apoi în interiorul această buclă, să verificați mai întâi este litera de curent - 21 00:01:09,970 --> 00:01:12,270 litera i-lea al lui, ca să spunem așa - 22 00:01:12,270 --> 00:01:14,170 o literă mică. 23 00:01:14,170 --> 00:01:23,090 Dacă s bracket i este mai mare sau egal în litere mici o, și este mai puțin 24 00:01:23,090 --> 00:01:26,900 mare sau egal cu z litere mici - 25 00:01:26,900 --> 00:01:30,860 Acum, dacă vrem pentru a converti o litere mici scrisoare de majuscule, amintim în primul rând că 26 00:01:30,860 --> 00:01:35,810 într-un ASCII litere mici o este de 97 și o majusculă A este de 65. 27 00:01:35,810 --> 00:01:41,020 Între timp, o minusculă b este de 98, și o majuscule B este 66. 28 00:01:41,020 --> 00:01:44,180 >> Dacă vom continua să se uite la acel model, vom vedea că minuscule 29 00:01:44,180 --> 00:01:49,240 scrisori sunt întotdeauna 32 de valori mai mari decât litere majuscule. 30 00:01:49,240 --> 00:01:53,490 Deci, dacă vrem pentru a converti de la litere mici în majuscule, ar trebui 31 00:01:53,490 --> 00:01:57,210 suficient, într-adevăr, pentru a scădea 32 de la intrare a utilizatorului. 32 00:01:57,210 --> 00:02:01,330 Sau mai mult, în general, doar că scade diferență între un minuscule o și o 33 00:02:01,330 --> 00:02:02,310 de capital A. 34 00:02:02,310 --> 00:02:03,410 >> Cum să-și exprime asta? 35 00:02:03,410 --> 00:02:04,640 Ei bine, hai să o facem în cod. 36 00:02:04,640 --> 00:02:09,960 Printf, citez, citatul "% c" pentru a imprima caracterul curent, urmat de 37 00:02:09,960 --> 00:02:18,500 imprimarea orice e în s suport i minus Rezultatul a face o literă mică 38 00:02:18,500 --> 00:02:22,660 minus majuscule punct și virgulă. 39 00:02:22,660 --> 00:02:27,010 Cu alte cuvinte, această paranteză expresie, puțin un minus mare A, este 40 00:02:27,010 --> 00:02:29,360 de gând să se întoarcă la noi la sfârșitul zilei 32. 41 00:02:29,360 --> 00:02:31,230 Dar nu am să vă amintiți că este 32. 42 00:02:31,230 --> 00:02:34,150 Eu pot permite computerului să dau seama ceea ce diferența dintre minuscule 43 00:02:34,150 --> 00:02:35,990 o și de capital A este. 44 00:02:35,990 --> 00:02:39,610 >> Între timp, o dată știu că diferență, Eu pot scădea de la s 45 00:02:39,610 --> 00:02:43,710 suport i, care va avea ceea ce-i probabil o literă mică pentru o 46 00:02:43,710 --> 00:02:48,100 valoare mai mică, și anume o valoare care hărți pe un echivalent majuscule. 47 00:02:48,100 --> 00:02:51,240 Să acum salva, compila, și a alerga acest program. 48 00:02:51,240 --> 00:02:57,760 Face valorifica punct slash capitalizate. 49 00:02:57,760 --> 00:03:01,290 Și de intrare mea va fi salut. 50 00:03:01,290 --> 00:03:02,920 Și aici avem, salut. 51 00:03:02,920 --> 00:03:05,570 >> Acum promptă mea, desigur, este un pic urât, pentru că ne-am 52 00:03:05,570 --> 00:03:07,810 omis un pic de imprimare. 53 00:03:07,810 --> 00:03:09,370 Și să ne întoarcem și adaugă că. 54 00:03:09,370 --> 00:03:12,890 În partea de jos a acestui program, Sunt foarte simplu, și în mare măsură de 55 00:03:12,890 --> 00:03:18,440 scop estetic, de gând să adăugați printf, citat, citatul backslash n. 56 00:03:18,440 --> 00:03:22,330 Să salvați din nou acest fișier, recompilați, reluare. 57 00:03:22,330 --> 00:03:28,090 >> Face valorifica, slash punct valorifica. 58 00:03:28,090 --> 00:03:32,540 Din nou, pentru intrare voi oferi "hello" în toate cazurile mai mici, iar acum a lovi Enter, 59 00:03:32,540 --> 00:03:34,550 și "salut", mult mai curat imprimate. 60 00:03:34,550 --> 00:03:36,432