>> DAVID J. Malan: Supoñamos que me gustaría para aplicar un programa que solicita
o usuario a unha cadea e entón comeza para capitalizar a súa entrada,
converter todas as letras minúsculas que escribir en maiúsculas.
Ben, imos adiante e aplicar este programa.
>> Imos primeiro inclúen cs50.h seguido por incluír stdio.h.
E para que poidamos utilizar strlen, imos incluír string.h.
>> Imos preto declarar principal void main como int e imos agora proceder para solicitar
o usuario a unha cadea.
Printf, imos levalos para algunha entrada.
Agora imos declarar unha cadea -
imos chamalo s -
e almacenar nel o resultado da chamada a función GetString biblioteca CS50.
>> Imos agora avanzar iterado sobre cada dos personaxes s, capitalizando
todas as letras minúsculas que vemos.
Para int, eu recibín 0.
Imos tamén declarar n como igual a a lonxitude da corda de s para que poidamos
iteración i ata n, a lonxitude de s, e en cada
i incremento iteración.
>> E, a continuación, dentro dese loop, imos primeiro cheque é letra actual -
letra i da s, por así dicir -
unha letra minúscula.
Se s soporte i é maior o igual en minúscula unha, e é menos
que ou igual a z minúscula -
Agora, se quere converter un minúsculo letra en maiúscula, lembre-se primeiro de que
en ASCII un minúsculo un é de 97 e unha letra maiúscula A é 65.
Mentres tanto, unha minúscula b é de 98, e un B maiúsculo é 66.
>> Continuamos a ollar a este estándar, imos ver que a minúscula
letras son sempre 32 valores máis altos do que as letras maiúsculas.
Polo tanto, se queremos converter e minúsculas en maiúsculas, que debería
suficiente, realmente, para restar 32 desde a entrada do usuario.
Ou, máis xeralmente, só restar este diferenza entre un pequeno e un
Capital A.
>> Como expresar isto?
Ben, imos facelo no código.
Printf, multimedia, pecha comiñas "% c" para imprimir o carácter actual, seguido por
imprimir o que está en s soporte i menos o resultado de facer unha minúscula
menos maiúsculas Un punto e coma.
Noutras palabras, este parénteses expresión, algo menos de un gran A, é
vai voltar a nós no Ao final do día 32.
Pero eu non teño que lembrar que é 32.
Podo facer que o ordenador para descubrir que a diferenza entre minúsculas
un e maiúscula é.
>> Mentres tanto, xa que sei que diferenza, Podo restar s
soporte de i, que terá o que hai de presuntamente unha letra minúscula a un
menor valor, ou sexa, un valor que mapea a un equivalente en maiúsculas.
Imos agora gardar, compilar e executar este programa.
Fai capitalizar barra dot capitalizar.
E a miña entrada será Olá
E aí temos, Olá
>> Agora o meu alerta, en realidade, é algo feo, porque temos
omitido algo de impresión.
E imos volver e engadir iso.
Na parte inferior do programa, Estou moi simplemente, e en gran parte para
finalidade estética, indo a engadir printf, cita, pecha comiñas barra invertida n.
Imos gardar de novo este ficheiro, recompilar, reprise.
>> Fai capitalizar, barra dot capitalizar.
Unha vez máis, para a entrada vou dar "Ola" en todas as minúsculas e agora prema Intro,
e "Ola", moito máis limpa impreso.