>> DAVID MALAN: Suponha que gostaria de escrever um programa que solicita ao usuário
para uma seqüência e depois capitaliza essa cadeia.
Bem, vamos começar com alguns familiares código de declarar uma string chamada s e
atribuindo-lhe o retorno valor de getstring.
E vamos agora avançar para iterar as personagens desta cadeia.
Bem, como fazer isso?
Acontece que uma string é apenas um sequência de caracteres, mas mais
corretamente, uma string é um array de caracteres, o que significa que podemos usar
notação colchete de índice para uma corda e obter pelo indivíduo
caracteres.
>> Em outras palavras, podemos faça o seguinte.
Para int, i recebe 0, e fica n, dizer, o comprimento do s, usando
nossa função [? agitar?]
[? linha,?]
i é inferior a n i + +.
Em outras palavras, com este ciclo, podemos irá iterar sobre todas as n letras
na cadeia s.
E dentro deste loop, eu vou verificar, se o caráter i-th em s
maior do que ou igual a um minúsculas, e o caracter i-th é inferior ou
igual a um c minúsculo, então eu quero proceder para capitalizar essa letra.
Em outras palavras, eu quero imprimir% c como um espaço reservado e substituto para
suporte de i que espaço reservado s.
>> Mas, então, eu preciso converter s suporte i em maiúsculas.
Para fazer isso, eu posso simplesmente subtrair tudo o que é a diferença entre
minúsculas e um capital de A. Bem, eu realmente me lembro de que o capital é uma
65 em ASCII, e minúsculas é um 97.
Assim, a diferença é tecnicamente 32.
Então, eu poderia apenas código rígido de 32 aqui.
Mas eu poderia não necessariamente lembre-se esses números.
>> E além disso, o que se variam de acordo com computador?
O mais provável é que não são.
Mas o ponto é que eu ainda posso generalizar essa expressão aritmética
como apenas o que é a diferença entre um minúsculo e um A maiúsculo
é o que eu quero para subtrair fora de esta letra minúscula particular.
>> Agora, se esta carta especial não é minúscula, eu simplesmente
quer imprimi-lo.
printf,% c como o meu espaço reservado, s suporte i.
Na parte inferior do programa, vamos simplesmente imprimir nova linha para que a minha
prompt aparece em um novo linha própria.
>> Vamos agora compilar este programa com o make capitalize0.
Vamos executá-lo com capitalize0.
E vamos digitar uma palavra como Olá em todas as letras minúsculas.
Eu voltar OLÁ em maiúsculas como esperado.
Mas vamos tentar mais um teste, desta vez com meu próprio nome, D-A-V-I-D, mas com
o primeiro D capitalizados, apenas no caso eu errei alguma coisa
com esse primeiro caractere.
Enter e D-A-V-I-D em maiúsculas é impresso bem.