DAVID J. Malan: Ejja ngħidu li nixtieq li timplimenta programm li tqanqal l-utent għal string u mbagħad tipproċedi għall-kapitalizzazzjoni input tagħhom, konverżjoni xi ittri zghar li dawn it-tip li uppercase. Well, ejja imorru quddiem u jimplimenta l-programm. 

Ejja ewwel jinkludu cs50.h segwit billi jinkludu stdio.h. U hekk li nistgħu nużaw strlen, ejja jinkludu string.h. 

Ejja jmiss tiddikjara null prinċipali ewlieni kif int u ejja issa tipproċedi għall-pront l-utent għal string. Printf, ejja twassalhom għal xi input. Issa ejja tiddikjara string - aħna ser sejħa hija s - u jaħżnu fiha r-riżultat ta 'sejħa l GetString funzjoni librerija cs50. 

Ejja issa tipproċedi biex jtenni fuq kull mill-karattri fit s-kapitalizzazzjoni xi ittri zghar li naraw. Għal int, i nikseb 0. Ejja wkoll jiddikjara n bħala ugwali għal it-tul sensiela ta 'i sabiex inkunu nistgħu jtenni minn i sa n, il- tul ta 'i, u fuq kull i inkrement iterazzjoni. 

U mbagħad ġewwa ta 'dan loop, ejja ewwel verifika huwa l-ittra attwali - l-ittra i-th i, biex ngħidu hekk - ittra zghar. Jekk i bracket i huwa akbar minn jew daqs biex zghar a, u huwa inqas minn jew daqs z zghar - Issa jekk irridu li jikkonverti lowercase ittra lill uppercase, tfakkar l-ewwel li fil ASCII a lowercase a huwa 97 u uppercase A huwa 65. Sadanittant, lowercase b huwa 98, u uppercase B huwa 66. 

Jekk aħna nkomplu nħarsu lejn dak il-mudell, aħna ser tara li l-zghar ittri huma dejjem 32 f'valuri ogħla mill-ittri majjuskoli ta 'kulur. Mela jekk irridu li jikkonvertu mill-zghar li uppercase, għandu biżżejjed, verament, li naqqas 32 minn input-utent. Jew b'mod iktar ġenerali, biss naqqas li differenza bejn zghar u jservi ta ' kapital A. 

Kif jesprimu dak? Well, ejja tagħmel dan fil-kodiċi. Printf, kwotazzjoni, unquote "% c" biex print l-karattru attwali, segwit minn istampar x'ikun s fis bracket s minus i ir-riżultat ta 'kif isir zghar a minus uppercase A virgola. Fi kliem ieħor, dan parenthetical espressjoni, ftit big A minus, huwa ser jirritornaw għall us fi l-aħħar tal-ġurnata 32. Imma jien ma jkollhom tiftakar li huwa 32. I jistgħu jippermettu l-kompjuter biex insemmu x'inhi d-differenza bejn zghar a u l-kapital A huwa. 

Sadanittant, ladarba naf li differenza, I jista naqqas minn s bracket i, li se jieħu x'hemm preżumibbilment ittra zghar għal valur aktar baxx, jiġifieri valur li l-mapep fuq ekwivalenti uppercase. Ejja issa jiffranka, tiġbor, u run dan il-programm. Kun kapitalizzazzjoni dot slash kapitalizzat. U l-input tiegħi se tkun bonjour. U hemm aħna għandna, bonjour. 

Issa fil-pront tiegħi, ċertament, hija daqsxejn ikrah, għaliex konna barra waħda daqsxejn ta 'stampar. U ejja mur lura u jżidu li. Fil-qiegħ nett ta 'dan il-programm, Jien sempliċiment ħafna, u ġeneralment għall- funzjoni estetika, se jżid printf, kwotazzjoni, unquote backslash n. Ejja resave dan il-fajl, recompile, terġa 'ssir. 

Jagħmlu kapitalizzazzjoni, dot slash kapitalizzazzjoni. Għal darb'oħra, għall-input I ser jipprovdu "bonjour" f'kull każ inqas u issa hit Ikteb, u "hello," ħafna aktar nadif stampati.