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.