Implemente a função Ler_Inteiro que devolve o inteiro lido. O parâmetro prompt contém a mensagem que solicita o inteiro ao usuário. Deverá receber apenas inteiros superiores ou iguais a zero.

Int Ler_Inteiro(char *prompt)

Passo 1

Fala aí! Deixa só eu ressaltar uma coisa antes de começar: como qualquer questão de programação, é quase garantido que terão diversas formas de se resolver o problema, o jeito que eu escolhi fazer pode não ser o mesmo que você, e isso não significa que um deles esteja errado. Beleza, dito isso, bora ver como ficou nosso programa.

Antes de ver nossa função, bora dar um pulo lá no main, só pra ficar um pouquinho mais fácil de entender.

Bem tranquilo, né? Essa mensagem será o que vamos passar como o parâmetro prompt lá para nossa função. E é só isso para nosso main, todo o resto do trabalho vai ser realizado lá na nossa função Ler_Inteiro.

Passo 2

Bora ver como ficou esse cara então. Começamos declarando as variáveis que iremos utilizar:

A variável n terá a função de armazenar o valor dado como entrada pelo usuário, e valido receberá o valor de n quando ele for válido, isto é, maior ou igual a zero. Logo em seguida, vamos imprimir a mensagem passada para o prompt, que vimos ali no main, e armazenar o valor em n. Tudo isso e mais um pouco, vamos fazer dentro de um laço do...while, pois queremos executar as instruções no mínimo uma vez e enquanto o valor inserido for válido.

Abrimos uma condição if para verificar se o valor inserido é válido ou não. Caso seja, o passamos para a variável valido.

Passo 3

Só para a tela do usuário não ficar muito poluída, vamos colocar a instrução system(“cls);, que serve para limpar a tela.

Ainda, imprimimos a variável valido para deixar registrado o último valor maior ou igual a zero inserido pelo usuário.

Por causa do laço do...while, todo esse processo vai se repetir enquanto o usuário fornecer um valor maior ou igual a zero, como dizemos na linha 19.

Para finalizar, como só saímos do laço do...while quando é inserido um valor menor que zero, podemos imprimir essa mensagem na tela. Assim, o usuário é avisado que foi inserido um valor inválido ao mesmo tempo que ele recebe o último valor válido.

Resposta