DAVID J. Malan: Segjum sem svo að mig langar að hrinda í framkvæmd áætlun sem hvetja notanda fyrir streng og þá fer áfram að nýta inntak þeirra, Umbreyti allir lágstafir sem þeir slá í hástafi. Jæja, við skulum fara á undan og framkvæma þessi forrit. 

Skulum fyrst fela cs50.h fylgt fela stdio.h. Og svo að við getum notað strlen, skulum fela string.h. 

Skulum næst lýsa helstu og int helstu tóm og við skulum nú halda áfram að hvetja notanda fyrir streng. Printf, við skulum hvetja þá um nokkurt inntak. Nú skulum lýsa streng - við munum kalla það s - og geyma í það afleiðing af starf að cs50 bókasafn virka GetString. 

Skulum nú halda áfram að iterate yfir hvor persónurnar í s, fjármagna allir lágstafir sem við sjáum. INT, ég fá 0. Skulum einnig lýsa n eins og að vera jöfn band lengd s þannig að við getum iterate frá i upp til N, lengd s, og á hvorum endurtekning vöxtur i. 

Og þá inni þessa lykkju, við skulum Fyrst skaltu athuga er núverandi bréf - i-th bréf af s, svo að segja - A lágstafir bréf. Ef s krappi, i er stærra en eða jafnt til lágstafir a, og það er minna en eða jafnt og lágstafir Z - Nú ef við viljum breyta lágstafir bréf til hástafi, muna fyrst að ASCII er lágstafir a er 97 og hástafi A er 65. Á meðan, a lágstafir b er 98, og hástafi B er 66. 

Ef við höldum áfram að líta á þessi mynstur, við munum sjá að lágstafir bréf eru alltaf 32 gildi hærri en bréf hástafi. Þannig að ef við viljum breyta frá lágstafir í hástafi, ætti það nægja, í raun, að draga 32 frá inntak notandans. Eða fleiri almennt, bara draga að Munurinn á milli lágstafir A og A höfuðborg A. 

Hvernig á að tjá það? Jæja, við skulum gera það í kóða. Printf, quote, unquote "% c" til að prenta Núverandi karakter, fylgt eftir með því að prentun hvað er í s krappi i mínus afleiðing af aðgerð lágstafir a mínus hástafi semíkommu. Með öðrum orðum, þessi parenthetical tjáningu, lítið mínus stór A, er að fara að koma aftur til okkar á í lok dags 32.. En ég þarf ekki að muna að það er 32. Ég get að leyfa tölvunni að reikna út hvað er munurinn lágstafir a og fjármagns A er. 

Á sama tíma, þegar ég veit að máli, Ég get draga það frá s krappi i, sem mun taka það sem er væntanlega lágstafir bréf til A lægra gildi, þ.e. gildi sem kort inná hástafi samsvarandi. Skulum nú spara, safna saman, og keyra þetta forrit. Gera nýta punktur skástrik eignar. Og inntak mitt verður halló. Og þar sem við höfum, halló. 

Nú hvetja minn, að vísu, er svolítið ljótt, því að við höfum sleppt einn hluti af prentun. Og við skulum fara aftur og bæta við að. Á mjög neðst á þessari áætlun, Ég er mjög einfaldlega, og að mestu leyti fyrir fagurfræðilegu tilgangi, að fara að bæta við printf, vitna, unquote sviga n. Skulum vistað póstinn þessari skrá, laun, endursýning. 

Gera nýta, punktur rista nyt. Aftur, fyrir hjálpina ég mun veita "halló" í öllum lágstöfum og nú högg á Enter, og "halló," miklu meira hreinlegur prentuð.