1 00:00:00,000 --> 00:00:00,720 2 00:00:00,720 --> 00:00:03,190 >> DAVID J. Malan: Suposem que m'agradaria per implementar un programa que sol · liciti 3 00:00:03,190 --> 00:00:06,650 l'usuari per a una cadena i després procedeix per aprofitar les seves aportacions, 4 00:00:06,650 --> 00:00:09,790 la conversió de les lletres en minúscula que s'escrigui en majúscules. 5 00:00:09,790 --> 00:00:11,770 Bé, seguirem endavant i posar en pràctica aquest programa. 6 00:00:11,770 --> 00:00:18,760 >> Primer anem a incloure cs50.h seguit per incloure stdio.h. 7 00:00:18,760 --> 00:00:23,990 I perquè puguem utilitzar strlen, anem a incloure string.h. 8 00:00:23,990 --> 00:00:29,860 >> Anem a declarar el proper principal void main com int i ara anem a procedir a un ràpid 9 00:00:29,860 --> 00:00:31,600 l'usuari per a una cadena. 10 00:00:31,600 --> 00:00:34,840 Printf, anem a impulsar- per alguna entrada. 11 00:00:34,840 --> 00:00:36,460 Ara anem a declarar una cadena - 12 00:00:36,460 --> 00:00:37,630 l'anomenarem s - 13 00:00:37,630 --> 00:00:44,010 i emmagatzemar-hi el resultat de l'anomenada la funció GetString biblioteca CS50. 14 00:00:44,010 --> 00:00:48,850 >> Ara anem a procedir a iterar sobre cada dels personatges de s, capitalitzant 15 00:00:48,850 --> 00:00:50,650 les lletres minúscules que veiem. 16 00:00:50,650 --> 00:00:53,630 Per int, em surt 0. 17 00:00:53,630 --> 00:00:58,780 Suposem també declaren n com igual a la longitud de la cadena de s perquè puguem 18 00:00:58,780 --> 00:01:03,590 repetir des i fins a n, la longitud de s, i en cada un 19 00:01:03,590 --> 00:01:05,760 i Valor mínim de la iteració. 20 00:01:05,760 --> 00:01:09,970 >> I després dins d'aquest bucle, anem a comproveu primer és la lletra actual - 21 00:01:09,970 --> 00:01:12,270 la lletra i de s, per dir-ho - 22 00:01:12,270 --> 00:01:14,170 una lletra minúscula. 23 00:01:14,170 --> 00:01:23,090 Si s suport d'i és més gran o igual a minúscules a, i és menys 24 00:01:23,090 --> 00:01:26,900 que o igual a z minúscules - 25 00:01:26,900 --> 00:01:30,860 Ara bé, si volem convertir una minúscula lletra en majúscula, cal recordar en primer lloc que 26 00:01:30,860 --> 00:01:35,810 en ASCII minúscula és un 97 i una majúscula A és 65. 27 00:01:35,810 --> 00:01:41,020 Mentrestant, una b minúscula és de 98, i una B majúscula és 66. 28 00:01:41,020 --> 00:01:44,180 >> Si continuem a mirar a aquest patró, veurem que la minúscula 29 00:01:44,180 --> 00:01:49,240 cartes són sempre 32 valors superiors que les lletres majúscules. 30 00:01:49,240 --> 00:01:53,490 Així que si volem convertir de minúscules a majúscules, el que hauria 31 00:01:53,490 --> 00:01:57,210 suficient, en realitat, per restar 32 de la entrada de l'usuari. 32 00:01:57,210 --> 00:02:01,330 O més en general, només resta que diferència entre una minúscula i una 33 00:02:01,330 --> 00:02:02,310 capital d'A 34 00:02:02,310 --> 00:02:03,410 >> Com expressar això? 35 00:02:03,410 --> 00:02:04,640 Bé, anem a fer-ho en el codi. 36 00:02:04,640 --> 00:02:09,960 Printf, cometes, tanca "% c" per imprimir el caràcter actual, seguit per 37 00:02:09,960 --> 00:02:18,500 impressió del que sigui en suport de s i menys el resultat de fer una minúscula 38 00:02:18,500 --> 00:02:22,660 menys majúscules Un punt i coma. 39 00:02:22,660 --> 00:02:27,010 En altres paraules, aquest parèntesi expressió, poc un menys gran A, és 40 00:02:27,010 --> 00:02:29,360 tornarà a nosaltres en al final del dia 32. 41 00:02:29,360 --> 00:02:31,230 Però jo no he de recordar que és 32. 42 00:02:31,230 --> 00:02:34,150 Puc permetre que l'equip per esbrinar quina és la diferència entre minúscules 43 00:02:34,150 --> 00:02:35,990 1 i el capital A és. 44 00:02:35,990 --> 00:02:39,610 >> Mentrestant, una vegada que sé que la diferència, Puc restar de s 45 00:02:39,610 --> 00:02:43,710 suport d'i, que es durà al que és presumiblement una lletra minúscula a un 46 00:02:43,710 --> 00:02:48,100 valor més baix, és a dir, un valor que s'assigna en un equivalent en majúscules. 47 00:02:48,100 --> 00:02:51,240 Ara anem a guardar, compilar, i executar aquest programa. 48 00:02:51,240 --> 00:02:57,760 Fer capitalitzar slash dot capitalitzat. 49 00:02:57,760 --> 00:03:01,290 I la meva aportació serà hola. 50 00:03:01,290 --> 00:03:02,920 I aquí el tenim, hola. 51 00:03:02,920 --> 00:03:05,570 >> Ara la meva ràpida, com és obvi, una mica lleig, perquè hem 52 00:03:05,570 --> 00:03:07,810 omès una mica d'impressió. 53 00:03:07,810 --> 00:03:09,370 I anem a tornar enrere i afegir això. 54 00:03:09,370 --> 00:03:12,890 A la part inferior d'aquest programa, Sóc molt senzilla, i en gran part de 55 00:03:12,890 --> 00:03:18,440 finalitat estètica, va a afegir printf, Ho van dir barra invertida n. 56 00:03:18,440 --> 00:03:22,330 Anem a tornar a guardar l'arxiu, recompilar, torneu a executar. 57 00:03:22,330 --> 00:03:28,090 >> Feu capitalitzar, slash dot capitalitzar. 58 00:03:28,090 --> 00:03:32,540 Una vegada més, per a l'entrada vaig a oferir "hola" en minúscules i ara premeu Enter, 59 00:03:32,540 --> 00:03:34,550 i "hola", molt més netament imprès. 60 00:03:34,550 --> 00:03:36,432