>> DAVID J. MALAN: Angenommen, ich möchte ein Programm, das fordert Umsetzung
der Benutzer eine Zeichenfolge und dann schreitet um ihren Beitrag zu nutzen,
Umwandlung keine Kleinbuchstaben geben, dass sie in Großbuchstaben.
Nun, lasst uns weitermachen und Umsetzung dieses Programms.
>> Lassen Sie uns zuerst gefolgt sind cs50.h von stdio.h sind.
Und damit wir strlen verwenden können, wir sind string.h.
>> Lassen Sie uns erklären nächsten Haupt als int main nichtig und lassen Sie uns nun daran gehen, veran
der Benutzer eine Zeichenfolge.
Printf, lassen Sie uns auffordern, für einige Eingang.
Lassen Sie uns jetzt erklären, einen String -
wir nennen es s -
und speichern Sie es in das Ergebnis des Aufrufs der CS50-Bibliothek-Funktion GetString.
>> Lassen Sie uns nun damit fortfahren, über jeden laufen der Zeichen in s, Kapital
alle Kleinbuchstaben, die wir sehen.
Für int, bekomme ich null.
Lassen Sie uns auch erklären, n als gleich der String-Länge von s, so dass wir
laufen von i bis n, die Länge s und auf jeder
Iteration i Schritt.
>> Und dann in dieser Schleife, lassen erste Prüfung ist der aktuelle Buchstabe -
der i-te Schreiben von s sozusagen -
ein Kleinbuchstabe.
Wenn s Halterung i größer als oder gleich ist ein Kleinbuchstaben, und es ist weniger
oder gleich Klein z -
Nun, wenn wir einen Klein konvertieren möchten Schreiben in Großbuchstaben, erinnern zunächst, dass
in ASCII ein Klein a 97 und ein großes A ist 65 Jahre.
Unterdessen ist ein Klein b 98, und ein Groß B 66 ist.
>> Wenn wir weiterhin in diesem Muster aussehen, wir werden sehen, dass die Klein
Briefe sind immer 32 Werte höher als die Großbuchstaben.
Also, wenn wir von Klein konvertieren möchten in Großbuchstaben, sollte es
ausreichen, wirklich, zu subtrahieren 32 aus der Eingabe des Benutzers.
Oder allgemeiner, subtrahieren Sie einfach, dass Differenz zwischen einem Klein a und a
Kapital A.
>> Wie man das ausdrücken?
Nun, machen wir es im Code.
Printf, Zitat, Zitat Ende "% c", um die Druck das aktuelle Zeichen, gefolgt von
Druck, was auch immer in s i minus Klammer ist das Ergebnis tun, ein Klein
minus Großbuchstaben A Semikolon.
In anderen Worten, diese in Klammern Ausdruck, wenig ein Minus großen A,
gehen, um zu uns zurück das Ende der 32 Tage.
Aber ich habe nicht daran zu erinnern, dass es 32.
Ich kann damit der Computer, um herauszufinden, was der Unterschied zwischen Klein
ein-und Kapital A ist.
>> Inzwischen weiß ich, einmal diesen Unterschied, Ich kann es von s subtrahieren
Halterung i, die stattfinden wird, was vermutlich ein Kleinbuchstabe, ein
niedrigeren Wert, nämlich ein Wert, der Karten auf einen entsprechenden Großbuchstaben.
Lassen Sie uns nun speichern, übersetzen, und führen Sie dieses Programm.
Machen Sie profitieren dot Strich aktiviert.
Und meine Eingabe wird hallo.
Und da haben wir, hallo.
>> Jetzt ist meine Aufforderung, zugegeben, ist ein bisschen hässlich, denn wir haben
weggelassen ein bisschen Druck.
Und lassen Sie uns zurückgehen und hinzufügen, dass.
Am unteren Rand des Programms, Ich bin sehr einfach und weitgehend für
ästhetischen Zweck, geht auf printf hinzufügen Zitat unquote Backslash n.
Lassen Sie uns diese Datei erneut speichern, neu kompilieren, Wiederholung.
>> Stellen Sie nutzen, profitieren dot Schrägstrich.
Auch für die Eingabe werde ich sorgen "Hallo" in Kleinbuchstaben und jetzt drücken Sie die Eingabetaste,
und "hallo", viel mehr sauber gedruckt.