>> DAVID J. Malan: Supposons que je voudrais de mettre en œuvre un programme qui invite
l'utilisateur pour une chaîne et procède ensuite de capitaliser leur entrée,
convertir des lettres minuscules qu'ils tapent en majuscules.
Eh bien, allons-y et mettre en œuvre ce programme.
>> Incluons premier cs50.h suivi par incluent stdio.h.
Et afin que nous puissions utiliser strlen, nous allons inclure string.h.
>> Disons prochaine déclarent principal void main int et nous allons procéder maintenant à inciter
l'utilisateur pour une chaîne.
Printf, nous allons les inciter pour une entrée.
Maintenant, nous allons déclarer une chaîne -
nous l'appellerons s -
et stocker en elle le résultat de l'appel la fonction de bibliothèque CS50 GetString.
>> Passons maintenant à itérer sur chaque les caractères de s, en capitalisant
des lettres minuscules que nous voyons.
Pour int, je reçois 0.
Déclarons également n comme étant égale à la longueur de la chaîne de sorte que nous pouvons
itérer de i jusqu'à n, le longueur de l'art, et sur chaque
incrément d'itération i.
>> Et puis à l'intérieur de cette boucle, nous allons premier chèque est la lettre actuelle -
la lettre i-ème de s, pour ainsi dire -
une lettre minuscules.
Si le support s i est supérieur ou égal en minuscules un, et il est moins
supérieure ou égale à z minuscule -
Maintenant, si nous voulons convertir un minuscule lettre en majuscule, rappelons d'abord que
en ASCII minuscule est un 97 et un A majuscule est de 65.
Pendant ce temps, un b minuscule est de 98, et un B majuscule est de 66.
>> Si nous continuons à chercher à ce modèle, nous verrons que la minuscule
lettres sont toujours 32 valeurs supérieures que les lettres majuscules.
Donc, si nous voulons convertir en minuscules en majuscules, il devrait
suffire, vraiment, à soustraire 32 de l'entrée de l'utilisateur.
Ou, plus généralement, juste soustraire que différence entre un a minuscule et un
grand A.
>> Comment exprimer cela?
Eh bien, faisons-le dans le code.
Printf, entre guillemets "% c" pour impression le caractère courant, suivi par
impression tout ce qui est dans l support i moins le résultat de faire une minuscule
moins majuscules un point-virgule.
En d'autres termes, cette parenthèse expression, peu un moins grand A, est
va nous revenir à la fin du jour 32.
Mais je n'ai pas de souvenir que c'est 32.
Je ne peux permettre à l'ordinateur de comprendre quelle est la différence entre les minuscules
une capitale et un est.
>> Pendant ce temps, une fois que je sais que la différence, Je peux soustraire de s
support i, qui aura ce qui est probablement une lettre minuscule à une
valeur plus basse, à savoir une valeur qui mappe sur un équivalent en majuscule.
Voyons maintenant enregistrer, compiler, et exécuter ce programme.
Faire capitaliser point barre capitalisés.
Et mon entrée sera bonjour.
Et là, nous avons, bonjour.
>> Maintenant, mon invite, certes, est un peu moche, parce que nous avons
omis un peu de l'impression.
Et revenons et ajouter que.
Au bas de ce programme, Je suis très simplement, et en grande partie pour
but esthétique, va ajouter printf, entre guillemets barre oblique inverse n.
Disons réenregistrer ce fichier, recompiler, reprise.
>> Faire tirer, barre oblique point capitaliser.
Encore une fois, pour l'entrée, je vais vous donner "bonjour" dans tous les cas inférieure et maintenant appuyez sur Entrée,
et "bonjour", beaucoup plus proprement imprimé.