>> DAVID Malan: Supposons que nous aimerions écrire un programme qui demande à l'utilisateur
pour une chaîne et capitalise cette chaîne.
Eh bien, nous allons commencer avec certains familiers Code déclarant une chaîne appelée s et
lui attribuant le retour valeur de GetString.
Et nous allons procéder maintenant à parcourir les caractères de cette chaîne.
Eh bien, comment faire?
Il s'avère que la chaîne est juste un séquence de caractères, mais plus
correctement, une chaîne est un tableau de caractères, ce qui signifie que nous pouvons utiliser
notation entre crochets à l'index dans une chaîne et obtenir au niveau individuel
caractères.
>> En d'autres termes, nous pouvons procédez comme suit.
Pour int, i obtient 0, et n Gets, dire, la longueur de l'art, en utilisant
notre fonction [? remuer?]
[? ligne,?]
i est inférieur à n i + +.
En d'autres termes, avec cette boucle, nous va parcourir tous les n lettres
dans la chaîne s.
Et dans cette boucle, je vais vérifier, si le caractère de i-ième s
supérieure ou égale à une minuscule, et le caractère de la i-ième est inférieur ou
égale à un c minuscule, alors je veux procéder à capitaliser cette lettre.
En d'autres termes, je veux imprimer% c comme un espace réservé et la substitution de
Le support de cet espace réservé i.
>> Mais j'ai besoin de convertir s i support en majuscules.
Pour ce faire, je ne peux tout simplement soustraire quelle que soit la différence entre
minuscule et un grand A. Eh bien, je effectivement ne se souvient que le capital A est
65 en ASCII, et en minuscules un est 97.
Donc, la différence est techniquement 32.
Donc, je ne pouvais tout simplement coder en dur 32 ici.
Mais je ne pourrais pas nécessairement rappeler ces numéros.
>> Et d'ailleurs, si elles varier par ordinateur?
Très probablement, ils ne sont pas.
Mais le fait demeure que je peux encore généraliser cette expression arithmétique
que tout ce que la différence est entre un a minuscule et une majuscule
c'est ce que je veux soustraire hors de ce minuscule particulier.
>> Maintenant, si cette lettre particulière n'est pas minuscules, j'ai simplement
voulez imprimer.
printf,% c mon espace réservé, s i support.
Au bas de ce programme, nous allons il suffit d'imprimer retour à la ligne afin que mon
invite apparaît sur une nouvelle sa propre ligne.
>> Compilons maintenant ce programme avec make capitalize0.
Lançons avec capitalize0.
Et nous allons saisissez un mot comme bonjour en minuscules.
Je reviens BONJOUR en majuscules comme prévu.
Mais essayons un test plus, cette fois avec mon propre nom, D-A-V-I-D, mais avec
le premier D majuscule, tout en cas j'ai foiré quelque chose
avec ce premier caractère.
Entrez, et D-A-V-I-D en majuscule est imprimé ainsi.