1
00:00:00,000 --> 00:00:00,280

2
00:00:00,280 --> 00:00:02,240
>> DAVID MALAN: Ahora vamos a refinar
este programa un poco más lejos.

3
00:00:02,240 --> 00:00:06,510
¿No sería bueno si pudiera toupper
una letra en mayúsculas, si minúscula y

4
00:00:06,510 --> 00:00:08,880
si no es en minúsculas, pase
a través de sin cambios?

5
00:00:08,880 --> 00:00:12,110
En otras palabras, ¿podría reemplazar
mi if-else bloque con una

6
00:00:12,110 --> 00:00:13,960
sola llamada a toupper?

7
00:00:13,960 --> 00:00:16,000
>> Bueno, para responder a esta pregunta,
Será mejor que consultar a los

8
00:00:16,000 --> 00:00:17,630
documentación para toupper.

9
00:00:17,630 --> 00:00:22,100
Para ello, vamos a abrir una terminal más grande
fuera de la ventana de gedit, y

10
00:00:22,100 --> 00:00:26,060
a continuación, escriba el hombre toupper, con lo que
lo que significa que me gustaría abrir el

11
00:00:26,060 --> 00:00:29,060
denominada página de manual de
la toupper función.

12
00:00:29,060 --> 00:00:31,580
Al oprimir la tecla Enter, veo
una pantalla como esta.

13
00:00:31,580 --> 00:00:34,750
Y ahora cuenta de que parece que tienen
combinado la documentación para toupper

14
00:00:34,750 --> 00:00:37,010
superior con que para tolower.

15
00:00:37,010 --> 00:00:38,010
Pero no importa.

16
00:00:38,010 --> 00:00:41,640
>> Se dará cuenta de que en virtud de la sinopsis
Me acuerdo de que, en efecto, para utilizar esta

17
00:00:41,640 --> 00:00:45,220
función, que debe incluir la
ctype.h archivo de cabecera.

18
00:00:45,220 --> 00:00:49,520
Debajo de eso, se ve que es toupper
declarado como devolver un int y

19
00:00:49,520 --> 00:00:52,720
aceptar un int, que es un poco
curioso, ya que hasta ahora, he estado

20
00:00:52,720 --> 00:00:54,370
manipular sólo caracteres.

21
00:00:54,370 --> 00:00:55,310
Pero eso está bien.

22
00:00:55,310 --> 00:00:59,070
Resulta que esto es sólo una
convención, y todavía podemos utilizar como c

23
00:00:59,070 --> 00:01:01,990
aunque es un char, a pesar de que
está declarada como int.

24
00:01:01,990 --> 00:01:05,850
>> Ahora, en la descripción aquí, veo que
toupper convierte la letra c a

25
00:01:05,850 --> 00:01:07,980
mayúsculas si es posible.

26
00:01:07,980 --> 00:01:11,520
Y bajo valor de retorno, veo que
el valor devuelto es el de la

27
00:01:11,520 --> 00:01:15,320
carta convertida, oc, si el
conversión no era posible.

28
00:01:15,320 --> 00:01:17,120
Y ahí está la visión
Que estaba buscando.

29
00:01:17,120 --> 00:01:21,060
Si c no es, de hecho, una minúscula
carta, parece que se toupper

30
00:01:21,060 --> 00:01:23,450
simplemente pasarlo adelante sin cambios.

31
00:01:23,450 --> 00:01:25,750
>> Así que ahora vamos a volver a mi código.

32
00:01:25,750 --> 00:01:30,480
Y ahora vamos a eliminar la totalidad de
este bloque condicional y reemplazarlo,

33
00:01:30,480 --> 00:01:40,240
simplemente, con printf% c comas
toupper de s abrazadera cierro paren

34
00:01:40,240 --> 00:01:45,120
cerca paren punto y coma, por lo tanto
lo que significa que me gustaría reemplazar% c

35
00:01:45,120 --> 00:01:49,050
con la capitalización de la
ésima letra en s si la i-ésima

36
00:01:49,050 --> 00:01:50,530
carta de s está en minúsculas.

37
00:01:50,530 --> 00:01:53,710
O incluso si no lo es, será
pasado a través sin cambios.

38
00:01:53,710 --> 00:01:58,790
>> Ahora vamos a compilar este programa con
hacer capitalize2, y ejecutarlo con

39
00:01:58,790 --> 00:02:01,800
capitalize2, de nuevo, al escribir hola.

40
00:02:01,800 --> 00:02:03,800
Y, en efecto, volvamos mayúsculas.

41
00:02:03,800 --> 00:02:05,090
Vamos de nuevo Tipo David.

42
00:02:05,090 --> 00:02:06,340
Y es, también, es mayúscula.

43
00:02:06,340 --> 00:02:09,380