Transforme a função anterior de tal forma que o inteiro seja colocado num parâmetro enviado ao procedimento Ler_Inteiro.
Passo 1
Fala aí! Na questão anterior, fizemos uma função com um único parâmetro, prompt, o qual recebia uma mensagem que solicitava ao usuário um valor inteiro, ou seja, somente a mensagem era passada como um dado de entrada. Agora, queremos alterar esta função de modo que o próprio inteiro inserido seja passado como um parâmetro.
Bom, a nossa função anterior tinha ficado assim:

Se alguma parte tiver ficado confusa, por favor, volte na questão 2 deste mesmo capítulo, pois lá tudo tá bem explicadinho. Aqui vou focar somente nas partes que foram alteradas.
Passo 2
Beleza, a primeira alteração a ser feita vai ser ali nas variáveis declaradas. Como queremos passar o inteiro (que havíamos chamado de n) como parâmetro, devemos mudar a declaração da função:

Como queremos simplesmente ler este inteiro e devolvê-lo para o usuário – não queremos alterá-lo –, podemos simplesmente declarar como uma variável do tipo int. Neste caso, não há necessidade de declarar um ponteiro.
Passo 3
Por fim, a outra alteração no nosso programa aparece só lá no main. Como nossa função tem agora 2 parâmetros, precisamos passar uma nova variável quando a chamarmos, por isso, declarei a variável valor.

E tudo pronto, cumprimos o que o enunciado nos pediu!
Só um detalhe, se você quisesse chegar no mesmo resultado usando ponteiros, é só tomar cuidado com o uso correto dos operadores. Por exemplo, olha só como ficaria se declarássemos n como um ponteiro int *n:

Perceba que, sempre que queremos nos referir ao valor de n, usamos o operador *, o qual significa “apontado por”. Por exemplo, na linha 13, queremos dizer: se o valor apontado por n for maior ou igual a zero. Se usássemos somente n, sem o operador “apontado por”, estaríamos nos referindo ao endereço da variável e não ao seu valor, pois n agora é um ponteiro. Similarmente, naquele scanf na linha 11 não precisaríamos mais do operador &, pois n por si só já se refere ao endereço da variável.
Novamente, ambos os meios de resolução chegam no mesmo resultado, um só permite mais liberdade caso queiramos utilizar o programa para outros fins. Então, sinta-se à vontade para escolher seu caminho de preferência 😊
Resposta
