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é.