>> DAVID Malan: Supozi ni ŝatus skribi programo kiu pelas la uzanto
por ŝnuro kaj tiam capitalizes ke kordo.
Nu, ni komencu per kelkaj konataj kodo deklarante ŝnuro nomita s kaj
atribuante al ĝi la reveno valoro de getstring.
Kaj ni nun procedas persisti super la karakteroj en ĉi ŝnuro.
Nu, kiel fari tion?
Rezultas, ke kordoj estas nur vico de signoj, sed pli
konvene, ŝnuro estas tabelo de karakterojn, kiuj signifas ke ni povas uzi
kvadrata krampo notacio al indekson en ŝnuro kaj instigi al individua
karakteroj.
>> En aliaj vortoj, ni povas fari la sekvan.
Por int, i ricevas 0, kaj n prenas, diri, la longeco de s, uzante
nia funkcio [? kirli?]
[? linio,?]
i estas malpli ol n i + +.
En aliaj vortoj, kun ĉi maŝo, ni estos persisti super ĉiuj n literoj
en la kordo s.
Kaj ene de tiu ciklo, mi tuj kontrolu, se la i-a karaktero en s
pli granda ol aŭ egala al minuskla a, kaj la i-a karaktero estas malpli ol aŭ
egala al minuskla c, tiam mi volas procedi profiti tiun literon.
Alivorte, mi volas presi% c kiel lokokupilo kaj anstataŭanto en por
ke lokokupilo s krampo i.
>> Sed tiam mi devas konverti s krampo i al majuskle.
Por fari tion, mi povas simple subtrahi kion ajn la diferenco estas inter
minuskla a kaj ĉefurbo A. Nu, mi fakte ne memoras ke ĉefurbo A estas
65 en ASCII kaj minuskla a estas 97.
Do la diferenco estas teknike 32.
Do mi povis nur malfacile kodo 32 tien.
Sed mi ne nepre memori tiujn ciferojn.
>> Kaj cetere, kion se ili varias de komputilo?
Plej verŝajne ili ne estas.
Sed la punkto restas ke mi ankoraŭ povas ĝeneraligi tiu aritmetika esprimo
kiel simple nenial la diferenco estas inter minuskla a kaj majuskla A
estas kion mi volas subtrahi ekstermigxos el tiu aparta minuskla litero.
>> Nun, se tiu aparta letero ne estas minusklaj, mi simple
deziras presi ĝin.
printf,% c kiel mia lokokupilo, s krampo i.
Ĉe la malsupro de tiu programo, ni simple presi linion tiel, ke mia
prompt aperas sur nova linio de lia propra.
>> Ni nun kompili tiun programon kun make capitalize0.
Ni kuras kun capitalize0.
Kaj ni tajpas en vorto kiel saluton en ĉiuj minuskle.
Mi reiros SALUTON en majuskle kiel atendita.
Sed ni provu pli teston, ĉifoje kun mia propra nomo, D-Al-V-mi-D, sed kun
la unua D majuskle, ĝuste kazo mi paneas ion
kun tiu unua char.
Enter, kaj D-Al-V-mi-D en majuskle Estas presita tiel.