DAVID J. Malan: Imos agora aplicar un función que non ten só unha banda efecto, pero en vez diso retorna un valor de retorno. En concreto, imos aplicar unha función chamado obter int positivo cuxo propósito na vida é facer exactamente isto. En concreto, gustaríame utilizar esta función do seguinte xeito - int N recibe obter int positivo. E, a continuación, imprimir f grazas á porcentaxe de i como un espazo reservado, coma final. Agora, por suposto, estar positivo int aínda non existe. Entón, imos prometer para implementar lo por engadindo ao principio do meu arquivo dunha liña como int o que significa que esta función volverá en int - obter int positivo. E imos indicar explicitamente que este función non terá ningunha entrada, e para que os seus argumentos son nulos. Imos agora no fondo do meu arquivo, simplemente para que eu poida manter principal encima, realmente aplicar ou establecer esta función. Primeiro imos comezar coa mesma sinatura, por así dicir - int obter int baleiro positivo. E agora imos aplicar obter int positivo como segue. Imos declarar un int, tamén chamado de N, pero poderiamos chamalo case calquera cousa queremos, faga o seguinte, mentres algúns condición é certa, e nós imos volver esta condición nun momento. Imprimir f, por favor me dea un int positivo, e agora imos usar Get int de a biblioteca CS50 realmente conseguir que int. Pero, na miña condición, imos facelo lazo mentres N é inferior a 1. Noutras palabras, sempre que o usuario non coopera por me proporcionar cun int positivo, déixeme volver preparado el ou ela de novo, e de novo, e de novo ata que el ou ela fai. Pero eu non estou preparado aínda, porque o final desta función que eu teño realmente facer algo con esa entrada. E así eu estou indo a ir en volver cunha liña como final retorno punto e coma, retornando, así, unha real int Visita que chamou esta función. Agora paga a pena notar que, a pesar de obter retorno positivos en int int, é certamente ben para que volva un int positivo especificamente. Non hai un tipo de datos especial para enteiro positivo en concreto, polo tanto, simplemente usar o construída en "int". Agora, de volta na liña nove, entender que eu son imprimir N. Pero a N nesta liña pertenza ao N, que está declarado na liña oito. Entón non é que pode perfectamente ter variables con nomes idénticos así desde que existen dentro diferentes ámbitos. E lembrar que o alcance é definido pola as claves que máis de preto introduza a variable que marcou. Agora imos compilar e executar este programa. Facer funcións 1, punto reducir funcións 1. Imos darlle un positivo int-como 50, e el di que grazas polo 50. Mentres tanto, se non cooperar, executar o programa de novo, dándolle 0, estou solicitado de novo, ou dándolle 1 negativo, estou solicitado de novo. Pero se eu cooperar dando-lle, dicir, 50 anos, estou agradeceu a 50.