>> DAVID J. MALAN: Suponha que eu gostaria para implementar um programa que solicita
o usuário para uma string e então começa para capitalizar sua entrada,
converter todas as letras minúsculas que digitar em maiúsculas.
Bem, vamos em frente e implementar esse programa.
>> Vamos primeiro incluem cs50.h seguido por incluir stdio.h.
E para que possamos usar strlen, vamos incluir string.h.
>> Vamos próximo declarar principal void main como int e vamos agora proceder para solicitar
o usuário para uma string.
Printf, vamos levá-los para alguma entrada.
Agora vamos declarar uma string -
vamos chamá-lo s -
e armazenar nele o resultado da chamada a função GetString biblioteca CS50.
>> Vamos agora avançar para iterar sobre cada dos personagens s, capitalizando
todas as letras minúsculas que vemos.
Para int, eu recebo 0.
Vamos também declarar n como sendo igual a o comprimento da corda de s para que possamos
iteração de i até n, o comprimento de s, e em cada
i incremento iteração.
>> E, em seguida, dentro desse loop, vamos primeiro cheque é a letra atual -
a letra i da s, por assim dizer -
uma letra minúscula.
Se s suporte i é maior ou igual para minúsculas uma, e é menos
que ou igual a z minúsculas -
Agora, se quiser converter um minúsculo letra em maiúscula, lembre-se primeiro de que
em ASCII um minúsculo um é de 97 e uma letra maiúscula A é 65.
Enquanto isso, uma minúscula b é de 98, e um B maiúsculo é 66.
>> Se continuarmos a olhar para esse padrão, vamos ver que a minúscula
letras são sempre 32 valores mais elevados do que as letras maiúsculas.
Portanto, se queremos converter de minúsculas em maiúsculas, que deveria
suficiente, realmente, para subtrair 32 a partir da entrada do usuário.
Ou, mais geralmente, apenas subtrair esse diferença entre um minúsculo e uma
Capital A.
>> Como expressar isso?
Bem, vamos fazê-lo no código.
Printf, citações, fecha aspas "% c" para impressão o caráter atual, seguido por
imprimir o que está em s suporte i menos o resultado de fazer uma minúscula
menos maiúsculas Um ponto e vírgula.
Em outras palavras, este parêntesis expressão, pouco menos de um grande A, é
vai voltar para nós no No final do dia 32.
Mas eu não tenho que lembrar que é 32.
Eu posso permitir que o computador para descobrir qual a diferença entre minúsculas
um e maiúsculo é.
>> Enquanto isso, uma vez que eu sei que diferença, Eu posso subtrair s
suporte de i, que terá o que há de presumivelmente uma letra minúscula a um
menor valor, ou seja, um valor que mapeia para um equivalente em maiúsculas.
Vamos agora salvar, compilar e executar este programa.
Faça capitalizar barra dot capitalizados.
E a minha entrada será Olá.
E aí temos, Olá.
>> Agora o meu alerta, na verdade, é um pouco feio, porque nós temos
omitido um pouco de impressão.
E vamos voltar e adicionar isso.
Na parte inferior do programa, Estou muito simplesmente, e em grande parte para
finalidade estética, indo para adicionar printf, citação, fecha aspas barra invertida n.
Vamos salvar novamente este arquivo, recompilar, reprise.
>> Faça capitalizar, barra dot capitalizar.
Mais uma vez, para a entrada eu vou dar "Olá" em todas as minúsculas e agora pressione Enter,
e "Olá", muito mais limpa impresso.