DAVID J. Malan: Tuseme kwamba Ningependa kutekeleza mpango huo papo kwa user kwa kamba na kisha kuendelea capitalize mchango wao, kuwabadili barua yoyote lowercase kwamba wao aina ya uppercase. Naam, hebu kwenda mbele na kutekeleza mpango huo. Hebu kwanza ni pamoja na cs50.h ikifuatiwa na ni pamoja na stdio.h. Na ili tuweze kutumia strlen, hebu ni pamoja na string.h. Hebu ijayo kutangaza kuu kama int kuu utupu na hebu sasa kuendelea na kuchochea user kwa kamba. Printf, hebu kuwashawishi kwa baadhi ya pembejeo. Sasa hebu kutangaza string - Tutamwita s - na kuhifadhi katika ni matokeo ya wito cs50 kazi maktaba GetString. Hebu sasa kuendelea na iterate juu ya kila wa wahusika katika s, kutumia barua yoyote lowercase kwamba sisi kuona. Kwa int, i kupata 0. Hebu pia kutangaza n kama kuwa sawa na kamba urefu wa s ili tuweze iterate kutoka i hadi n, urefu wa s, na kila iteration nyongeza i. Na kisha ndani ya kitanzi hii, hebu kuangalia kwanza ni barua sasa - i-th barua ya s, hivyo kusema - lowercase barua. Kama s bracket i ni kubwa zaidi kuliko au sawa kwa Herufi za chini, na ni chini ya kuliko au sawa na lowercase z - Sasa kama tunataka kubadili lowercase barua kwa uppercase, kukumbuka kwanza kwamba katika ASCII lowercase a ni 97 na uppercase A ni 65. Wakati huo huo, lowercase b ni 98, na uppercase B ni 66. Kama tutaendelea kuangalia mfano kwamba, tutaweza kuona kwamba lowercase barua ni daima 32 maadili ya juu kuliko herufi kubwa. Hivyo kama tunataka kubadili kutoka lowercase kwa uppercase, ni lazima inatosha, kwa kweli, Ondoa 32 kutoka pembejeo mtumiaji. Au zaidi kwa ujumla, tu Ondoa kwamba tofauti kati ya lowercase a na a mji mkuu wa A. Jinsi ya kueleza kwamba? Naam, hebu kufanya hivyo katika kanuni. Printf, quote, unquote "% c" kwa magazeti tabia ya sasa, ikifuatiwa na uchapishaji chochote ni katika s bracket i minus matokeo ya kufanya lowercase a minus uppercase semicolon. Kwa maneno mengine, parenthetical hii kujieleza, kidogo minus kubwa A, ni kwenda na kurudi kwetu kwa njia ya mwisho wa siku 32. Lakini sina kukumbuka kwamba ni 32. Siwezi kuruhusu kompyuta kufikiri nini tofauti kati ya lowercase a na mji mkuu wa A ni. Wakati huo huo, mara moja najua tofauti kwamba, Naweza Ondoa kutoka s bracket i, ambayo itachukua nini labda barua lowercase kwa thamani ya chini, yaani thamani kwamba ramani kwenye sawa uppercase. Hebu sasa kuokoa, kukusanya, na kuendesha mpango huu. Kufanya capitalize dot slash mtaji. Na pembejeo yangu itakuwa hello. Na huko tuna, hello. Sasa haraka yangu, admittedly, ni kidogo mbaya, kwa sababu tumekuwa liliondolewa moja kidogo ya uchapishaji. Na hebu kwenda nyuma na kuongeza kwamba. Chini kabisa ya mpango huu, Mimi nina tu sana, na kwa kiasi kikubwa kwa kusudi aesthetic, kwenda kuongeza printf, quote, unquote backslash n. Hebu resave faili hili, recompile, rerun. Kufanya capitalize, dot slash capitalize. Tena, kwa ajili ya pembejeo mimi itabidi kutoa "hello" katika yote ya kesi ya chini na sasa hit Enter, na "hello," kiasi zaidi cleanly kuchapishwa.