1 00:00:00,000 --> 00:00:00,720 2 00:00:00,720 --> 00:00:03,190 >> DAVID J. MALAN: Supongamos que me gustaría para implementar un programa que solicite 3 00:00:03,190 --> 00:00:06,650 el usuario para una cadena y luego procede para aprovechar sus aportaciones, 4 00:00:06,650 --> 00:00:09,790 la conversión de las letras en minúscula que se escriba en mayúsculas. 5 00:00:09,790 --> 00:00:11,770 Bueno, vamos a seguir adelante y poner en práctica ese programa. 6 00:00:11,770 --> 00:00:18,760 >> Primero vamos a incluir cs50.h seguido por incluir stdio.h. 7 00:00:18,760 --> 00:00:23,990 Y para que podamos utilizar strlen, vamos a incluir string.h. 8 00:00:23,990 --> 00:00:29,860 >> Vamos a declarar el próximo principal void main como int y ahora vamos a proceder a un pronto 9 00:00:29,860 --> 00:00:31,600 el usuario para una cadena. 10 00:00:31,600 --> 00:00:34,840 Printf, vamos a impulsarlos por alguna entrada. 11 00:00:34,840 --> 00:00:36,460 Ahora vamos a declarar una cadena - 12 00:00:36,460 --> 00:00:37,630 lo llamaremos s - 13 00:00:37,630 --> 00:00:44,010 y almacenar en ella el resultado de la llamada la función GetString biblioteca CS50. 14 00:00:44,010 --> 00:00:48,850 >> Ahora vamos a proceder a iterar sobre cada de los personajes de s, capitalizando 15 00:00:48,850 --> 00:00:50,650 las letras minúsculas que vemos. 16 00:00:50,650 --> 00:00:53,630 Para int, me sale 0. 17 00:00:53,630 --> 00:00:58,780 Supongamos también declaran n como igual a la longitud de la cadena de s para que podamos 18 00:00:58,780 --> 00:01:03,590 repetir desde i hasta n, la longitud de s, y en cada uno 19 00:01:03,590 --> 00:01:05,760 i Valor mínimo de la iteración. 20 00:01:05,760 --> 00:01:09,970 >> Y luego dentro de este bucle, vamos a compruebe primero es la letra actual - 21 00:01:09,970 --> 00:01:12,270 la letra i de s, por así decirlo - 22 00:01:12,270 --> 00:01:14,170 una letra minúscula. 23 00:01:14,170 --> 00:01:23,090 Si s soporte de i es mayor o igual a minúsculas a, y es menos 24 00:01:23,090 --> 00:01:26,900 que o igual a z minúsculas - 25 00:01:26,900 --> 00:01:30,860 Ahora bien, si queremos convertir una minúscula letra en mayúscula, hay que recordar en primer lugar que 26 00:01:30,860 --> 00:01:35,810 en ASCII minúscula es un 97 y una mayúscula A es 65. 27 00:01:35,810 --> 00:01:41,020 Mientras tanto, una b minúscula es de 98, y una B mayúscula es 66. 28 00:01:41,020 --> 00:01:44,180 >> Si continuamos a mirar a ese patrón, veremos que la minúscula 29 00:01:44,180 --> 00:01:49,240 cartas son siempre 32 valores superiores que las letras mayúsculas. 30 00:01:49,240 --> 00:01:53,490 Así que si queremos convertir de minúsculas a mayúsculas, lo que debería 31 00:01:53,490 --> 00:01:57,210 suficiente, en realidad, para restar 32 de la entrada del usuario. 32 00:01:57,210 --> 00:02:01,330 O más en general, sólo resta que diferencia entre una minúscula y una 33 00:02:01,330 --> 00:02:02,310 capital de A. 34 00:02:02,310 --> 00:02:03,410 >> ¿Cómo expresar eso? 35 00:02:03,410 --> 00:02:04,640 Bueno, vamos a hacerlo en el código. 36 00:02:04,640 --> 00:02:09,960 Printf, comillas, cierra "% c" para imprimir el carácter actual, seguido por 37 00:02:09,960 --> 00:02:18,500 impresión de lo que sea en soporte de s i menos el resultado de hacer una minúscula 38 00:02:18,500 --> 00:02:22,660 menos mayúsculas Un punto y coma. 39 00:02:22,660 --> 00:02:27,010 En otras palabras, este paréntesis expresión, poco un menos grande A, es 40 00:02:27,010 --> 00:02:29,360 va a volver a nosotros en el final del día 32. 41 00:02:29,360 --> 00:02:31,230 Pero yo no tengo que recordar que es 32. 42 00:02:31,230 --> 00:02:34,150 Puedo permitir que el equipo para averiguar cuál es la diferencia entre minúsculas 43 00:02:34,150 --> 00:02:35,990 una y el capital A es. 44 00:02:35,990 --> 00:02:39,610 >> Mientras tanto, una vez que sé que la diferencia, Puedo restar de s 45 00:02:39,610 --> 00:02:43,710 soporte de i, que se llevará a lo que es presumiblemente una letra minúscula a un 46 00:02:43,710 --> 00:02:48,100 valor más bajo, es decir, un valor que se asigna en un equivalente en mayúsculas. 47 00:02:48,100 --> 00:02:51,240 Ahora vamos a guardar, compilar, y ejecutar este programa. 48 00:02:51,240 --> 00:02:57,760 Hacer capitalizar slash dot capitalizado. 49 00:02:57,760 --> 00:03:01,290 Y mi aportación será hola. 50 00:03:01,290 --> 00:03:02,920 Y ahí lo tenemos, hola. 51 00:03:02,920 --> 00:03:05,570 >> Ahora mi pronta, como es obvio, un poco feo, porque hemos 52 00:03:05,570 --> 00:03:07,810 omitido un poco de impresión. 53 00:03:07,810 --> 00:03:09,370 Y vamos a volver atrás y añadir eso. 54 00:03:09,370 --> 00:03:12,890 En la parte inferior de este programa, Soy muy sencilla, y en gran parte de 55 00:03:12,890 --> 00:03:18,440 finalidad estética, va a añadir printf, Lo dijeron barra invertida n. 56 00:03:18,440 --> 00:03:22,330 Vamos a volver a guardar el archivo, recompilar, vuelva a ejecutar. 57 00:03:22,330 --> 00:03:28,090 >> Haga capitalizar, slash dot capitalizar. 58 00:03:28,090 --> 00:03:32,540 Una vez más, para la entrada voy a ofrecer "hola" en minúsculas y ahora presione Enter, 59 00:03:32,540 --> 00:03:34,550 y "hola", mucho más limpiamente impreso. 60 00:03:34,550 --> 00:03:36,432