1 00:00:00,000 --> 00:00:00,720 2 00:00:00,720 --> 00:00:03,190 >> David J. MALAN: Tegyük fel, hogy szeretnék hogy végre egy programot, amely kéri 3 00:00:03,190 --> 00:00:06,650 a felhasználó egy sor, majd folytatja kihasználni az input, 4 00:00:06,650 --> 00:00:09,790 konvertálása minden kisbetűk hogy a típus a nagybetűs. 5 00:00:09,790 --> 00:00:11,770 Nos, menjünk előre, és végre a program. 6 00:00:11,770 --> 00:00:18,760 >> Nézzük először tartalmazzák cs50.h követ a többek között stdio.h. 7 00:00:18,760 --> 00:00:23,990 És, hogy ki tudjuk használni strlen, nézzük közé string.h. 8 00:00:23,990 --> 00:00:29,860 >> Nézzük a következő kijelentik fő az int main érvénytelen és nézzük most folytassa, hogy azonnal 9 00:00:29,860 --> 00:00:31,600 a felhasználó egy string. 10 00:00:31,600 --> 00:00:34,840 Printf, hadd sugallják, valamelyik bemeneti. 11 00:00:34,840 --> 00:00:36,460 Most nyilvánítson egy húr - 12 00:00:36,460 --> 00:00:37,630 fogjuk nevezni s - 13 00:00:37,630 --> 00:00:44,010 és tárolja azt az eredmény a hívó A CS50 könyvtár funkciója getString. 14 00:00:44,010 --> 00:00:48,850 >> Nézzük most folytassa végighaladni az egyes A karakterek s, kihasználva 15 00:00:48,850 --> 00:00:50,650 minden kisbetű, hogy látjuk. 16 00:00:50,650 --> 00:00:53,630 Az int, kapok 0-ra. 17 00:00:53,630 --> 00:00:58,780 Nézzük is kijelentik n, hogy egyenlő a húr hossza s, hogy mi is 18 00:00:58,780 --> 00:01:03,590 ismételget I egészen n, a s hossza, és az egyes 19 00:01:03,590 --> 00:01:05,760 iteráció növekmény i. 20 00:01:05,760 --> 00:01:09,970 >> És akkor belül erre a ciklusra, nézzük először ellenőrizze az aktuális betű - 21 00:01:09,970 --> 00:01:12,270 Az i-edik levél s, hogy úgy mondjam - 22 00:01:12,270 --> 00:01:14,170 a kisbetű. 23 00:01:14,170 --> 00:01:23,090 Ha a konzol s i-nél nagyobb vagy azzal egyenlő a kisbetűs a, és ez kevesebb 24 00:01:23,090 --> 00:01:26,900 vagy egyenlő, mint kisbetűs z - 25 00:01:26,900 --> 00:01:30,860 Most, ha azt akarjuk, hogy konvertálni a kisbetűs levél a nagybetűs, emlékszem először, hogy 26 00:01:30,860 --> 00:01:35,810 Az ASCII egy kisbetűs a 97 és nagybetűs A 65. 27 00:01:35,810 --> 00:01:41,020 Eközben a kisbetűs b 98, és nagybetűs B 66. 28 00:01:41,020 --> 00:01:44,180 >> Ha továbbra is nézd meg, hogy a minta, látni fogjuk, hogy a kisbetűs 29 00:01:44,180 --> 00:01:49,240 levelek mindig 32 érték magasabb mint a nagybetűket. 30 00:01:49,240 --> 00:01:53,490 Tehát ha azt akarjuk átalakítani a kisbetűs nagybetűs, ahogy kellene 31 00:01:53,490 --> 00:01:57,210 elegendő, tényleg, kivonáshoz 32. a felhasználó bemenet. 32 00:01:57,210 --> 00:02:01,330 Vagy még általánosabban, csak kivonni, hogy különbség a kisbetűs a és a 33 00:02:01,330 --> 00:02:02,310 tőke A. 34 00:02:02,310 --> 00:02:03,410 >> Hogyan lehet kifejezni, hogy? 35 00:02:03,410 --> 00:02:04,640 Nos, akkor csinálni kódot. 36 00:02:04,640 --> 00:02:09,960 Printf, idézet, idézet vége "% c", hogy a nyomtatási az aktuális karaktert, majd 37 00:02:09,960 --> 00:02:18,500 nyomtatás bármi van s konzol i mínusz az eredmény ennek a kisbetűs 38 00:02:18,500 --> 00:02:22,660 mínusz nagybetű A pontosvessző. 39 00:02:22,660 --> 00:02:27,010 Más szóval, ez a zárójeles kifejezés, kis mínusz nagy A, az 40 00:02:27,010 --> 00:02:29,360 fog visszatérni hozzánk a végén a 32. napon. 41 00:02:29,360 --> 00:02:31,230 De nem kell emlékezni , hogy ez az 32. 42 00:02:31,230 --> 00:02:34,150 Azt is lehetővé teszi, hogy a számítógép kitalálni mi a különbség a kisbetűs 43 00:02:34,150 --> 00:02:35,990 a és a tőke A jelentése. 44 00:02:35,990 --> 00:02:39,610 >> Közben, ha már tudom, hogy a különbség, Tudom kivonni azt s 45 00:02:39,610 --> 00:02:43,710 konzol i, ami elviszi mi feltehetően a kisbetű, hogy a 46 00:02:43,710 --> 00:02:48,100 alacsonyabb értéket, azaz olyan érték, amely leképezi rá egy nagybetű egyenértékű. 47 00:02:48,100 --> 00:02:51,240 Nézzük most menteni, fordítani, és futtassa ezt a programot. 48 00:02:51,240 --> 00:02:57,760 Legyen tőkét dot perjel aktivált. 49 00:02:57,760 --> 00:03:01,290 És a bemenet lesz helló. 50 00:03:01,290 --> 00:03:02,920 És ott van, helló. 51 00:03:02,920 --> 00:03:05,570 >> Most a gyors, igaz, az egy kicsit csúnya, mert már 52 00:03:05,570 --> 00:03:07,810 kimaradt egy kicsit a nyomtatás. 53 00:03:07,810 --> 00:03:09,370 És menjünk vissza, és hozzáteszi, hogy. 54 00:03:09,370 --> 00:03:12,890 A legalján a program, Én nagyon egyszerű, és nagyrészt a 55 00:03:12,890 --> 00:03:18,440 esztétikai célból fog hozzá printf, idézet, idézet vége backslash n. 56 00:03:18,440 --> 00:03:22,330 Nézzük mentse ezt a fájlt, újrafordítani, futtassa újra. 57 00:03:22,330 --> 00:03:28,090 >> Legyen hasznosítani, pont perjel kihasználni. 58 00:03:28,090 --> 00:03:32,540 Ismét a bemeneti fogom az "hello" minden kisbetűs, és most nyomja meg az Enter, 59 00:03:32,540 --> 00:03:34,550 és a "hello," sokkal tisztábban nyomtatni. 60 00:03:34,550 --> 00:03:36,432