1 00:00:00,000 --> 00:00:00,580 2 00:00:00,580 --> 00:00:02,950 >> DAVID J. MALAN: Ahora vamos a implementar un función que no sólo tienen un lado 3 00:00:02,950 --> 00:00:05,920 efecto, pero en cambio vuelve un valor de retorno. 4 00:00:05,920 --> 00:00:09,150 En concreto, vamos a implementar una función llamado conseguir int positivo cuya 5 00:00:09,150 --> 00:00:11,490 propósito en la vida es hacer exactamente eso. 6 00:00:11,490 --> 00:00:14,500 En concreto, me gustaría utilizar esta función de la siguiente manera - 7 00:00:14,500 --> 00:00:18,770 int N consigue obtener int positivo. 8 00:00:18,770 --> 00:00:23,640 Y luego print f, gracias para el porcentaje i como una 9 00:00:23,640 --> 00:00:26,490 marcador de posición, coma, fin. 10 00:00:26,490 --> 00:00:29,030 >> Ahora, por supuesto, obtener positivo int aún no existe. 11 00:00:29,030 --> 00:00:33,020 Así que vamos a prometer para ponerlo en práctica por añadiendo a la parte superior de mi archivo una línea 12 00:00:33,020 --> 00:00:37,110 como int significa que esta función regresará en int - 13 00:00:37,110 --> 00:00:39,110 conseguir int positivo. 14 00:00:39,110 --> 00:00:43,000 Y vamos a especificar explícitamente que esta función no tomará ninguna entrada, y 15 00:00:43,000 --> 00:00:45,570 por lo que sus argumentos son nulos. 16 00:00:45,570 --> 00:00:49,500 Ahora vamos a la parte inferior de mi archivo, simplemente para que yo pueda mantener principal encima de la tapa, 17 00:00:49,500 --> 00:00:52,220 realmente implementar o definir esta función. 18 00:00:52,220 --> 00:00:55,120 >> Primero empezamos con la misma firma, por así decirlo - 19 00:00:55,120 --> 00:00:59,140 int conseguir positiva int vacío. 20 00:00:59,140 --> 00:01:01,910 Y ahora vamos a implementar llegar int positivo de la siguiente manera. 21 00:01:01,910 --> 00:01:05,410 Vamos a declarar un int, también llamada N, pero podríamos llamarlo casi cualquier cosa 22 00:01:05,410 --> 00:01:11,360 nos gustaría, haga lo siguiente mientras que algunos condición es verdadera, y vamos a volver a 23 00:01:11,360 --> 00:01:13,030 esa condición en un momento. 24 00:01:13,030 --> 00:01:20,800 Imprimir f, por favor dame un int positivo, y ahora vamos a usar Get int de 25 00:01:20,800 --> 00:01:23,290 la biblioteca CS50 a realidad conseguir que el int. 26 00:01:23,290 --> 00:01:28,210 >> Pero en mi condición, vamos a hacer esto bucle siempre y cuando N es menor que 1. 27 00:01:28,210 --> 00:01:31,260 En otras palabras, siempre y cuando el usuario no coopera proporcionándome 28 00:01:31,260 --> 00:01:36,260 con un int positivo, que me re-prompt él o ella de nuevo, y otra vez, y otra vez 29 00:01:36,260 --> 00:01:37,720 hasta que él o ella hace. 30 00:01:37,720 --> 00:01:40,360 Pero yo no he terminado todavía, porque en el final de esta función que necesito 31 00:01:40,360 --> 00:01:42,210 realmente hacer algo con esa entrada. 32 00:01:42,210 --> 00:01:46,710 Y así me voy a ir en volver con una línea como extremo de retorno 33 00:01:46,710 --> 00:01:52,850 punto y coma, volviendo de este modo una real int to main que llama a esta función. 34 00:01:52,850 --> 00:01:56,810 Ahora vale la pena señalar que a pesar de obtener rentabilidades positivas en int int, es 35 00:01:56,810 --> 00:02:00,470 sin duda muy bien para que vuelva un int positivo específicamente. 36 00:02:00,470 --> 00:02:04,170 No hay un tipo de datos especial para entero positivo específicamente, por lo que 37 00:02:04,170 --> 00:02:06,490 sólo tiene que utilizar el construido en el "int". 38 00:02:06,490 --> 00:02:11,250 >> Ahora, de vuelta en la línea nueve, noto que estoy imprimir N. Pero el N en esta línea 39 00:02:11,250 --> 00:02:13,970 pertenece a la N que se declaró en línea ocho. 40 00:02:13,970 --> 00:02:17,840 Así que resulta que usted puede tener absolutamente las variables con nombres idénticos de modo 41 00:02:17,840 --> 00:02:20,250 siempre que existen dentro de diferentes ámbitos. 42 00:02:20,250 --> 00:02:24,950 Y recordemos que el alcance está definido por las llaves que más estrechamente 43 00:02:24,950 --> 00:02:27,620 rodear la variable que ha definido. 44 00:02:27,620 --> 00:02:30,370 >> Ahora vamos a compilar y ejecutar este programa. 45 00:02:30,370 --> 00:02:35,210 Hacer las funciones 1, punto slash funciones 1. 46 00:02:35,210 --> 00:02:40,040 Vamos a darle un positivo int-como 50, y dice gracias por el 50. 47 00:02:40,040 --> 00:02:43,180 Mientras tanto, si no cooperamos, ejecutar el programa de nuevo, dándole 48 00:02:43,180 --> 00:02:47,550 0, estoy incitó de nuevo, o dándole 1 negativo, estoy me pide otra vez. 49 00:02:47,550 --> 00:02:51,720 Pero si yo no coopero dotándolo, decir, 50, Me dio las gracias por el 50. 50 00:02:51,720 --> 00:02:54,590