Olá e bem-vindo.
Vocês estão prontos para outro desafio?
Sei quem eu sou.
Agora que terminamos de conversar sobre loops, vamos aplicá-los.
Vamos tentar descobrir como resolver um problema.
Então, neste desafio, você vai crie uma estimativa do programa de número c.
Vai ser muito legal.
Vai ser um joguinho.
O que vai acontecer é o seu programa
irá gerar um número aleatório de 0 a 20.
Depois de gerar aquele número aleatório, você vai pedir
ao usuário para adivinhar o que é.
Portanto, o usuário só deve ser capaz para inserir números de 0 a 20.
Se eles tentarem adivinhar como número 50, você vai exibir
um erro e dizer, ei, você pode insira apenas números de 0 a 20.
Então essa é uma estipulação.
Mas, uma vez que o usuário realmente obtém um adivinhar e for um
palpite válido, você dirá ao usuário se ou não eram muito altos ou muito baixos.
Ou se eles estivessem corretos, você mostrar dizendo que eles estão corretos
e eles vão ganhar o jogo.
Agora eles só têm um certo número de vezes que eles podem
adivinhar o número correto.
Eles só podem adivinhar o número 5 vezes.
Depois de cinco vezes, eles perdem o jogo.
Portanto, este jogo é sobre adivinhando o número correto.
Qualquer número de 0 a 20, você deseja valide a entrada do usuário para certificar-se
de que inseriu 0 a 20.
E se eles entraram em algo e eles tem menos de 5 tentativas, você vai dizer a
eles, ei, isso era muito alto ou, ei, isso era muito baixo do que o
número que eles deveriam adivinhar.
E esses são os básicos requisitos do programa, uma suposição básica de
seu jogo de tipo de número.
Agora, qual é a aparência da saída.
Para te dar uma ideia de como eu projetou, você pode querer seguir.
Isto. Quando eu comecei o programa, eu exibi uma pequena mensagem.
Eu disse que este é um jogo de adivinhação, apenas para que eles saibam o que está acontecendo.
Eu então disse a eles que tenho escolheu um número entre 0 e
20, que você deve adivinhar.
Você tem cinco tentativas restantes para adivinhar.
Eu disse então digite um palpite.
Eles deveriam para inserir seu palpite.
Eles entraram com 12 e eu imprimi fora, desculpe, 12 está errado, meu número é
menor do que isso.
E então eu mostrei você tem quatro tentativas restantes.
Em seguida, eles entraram em um palpite de 8, e eu disse, bem, 8 também está
errado, meu número é menor do que isso.
E então eles entraram 3, eu disse que eles faltavam 3 tentativas, eles entraram em 4.
Eu disse que 4 está errado.
E então eles tiveram 2 tentativas saiu e
finalmente adivinhou meu número, que era 2.
Depois de adivinharem o número correto, Eu disse a eles parabéns,
você adivinhou, então eles ganharam o jogo porque eles ainda tinham 2 tentativas restantes.
É um tipo básico de jogo simples onde você vai precisar
usar instruções if, você vai precisar usar loops while.
Então você vai precisar usar um fazer isso porque
você tem que continuar pedindo entrada até que o o usuário adivinhou corretamente ou até que
o número de tentativas fosse superior a 5.
Então, uma das melhores maneiras de iniciar um programa como este é para escrever como
você está indo para criar o programa no papel.
E eu sugiro que você faça isso porque se você escrever como vai atacar
o problema no papel, vai ser mais fácil de resolver.
E você pode escrever em pseudocódigo, então é apenas
o idioma inglês, mas você deseja identificar onde você terá os loops
e onde você terá o if declarações para verificar as condições.
Porque f você olha para isso saída, há muitas condições
que você deve verificar.
O loop while vai verificar para as condições ou o loop for,
ele vai verificar para ter certeza de que sai do loop se você adivinhou corretamente ou se
você for maior que 5 para tentativas.
Você vai ter condições de também validar o que eles inseriram.
Então você vai ter um se declaração para dizer, ei,
você acabou de inserir um número.
E se não estiver entre 0 e 20 e pode ser que você também queira ter
um loop aninhado para esse caso.
Porque você quer continuar perguntando para inserir outro número
até inserir um número válido, não o número correto que você adivinhou,
mas um número válido.
Então eu pude ver por isso programar um loop externo.
O loop externo seria o loop que pediu ao usuário para inserir números até adivinhar
com sucesso o número correto ou até que tenham obtido sucesso
no número de tentativas.
Eu pude ver um loop interno onde pergunta se o número não é válido entre
0 e 20, eles continuam perguntando o usuário insira um número válido.
E então eu posso ver se as declarações para basicamente verifique se o
número é ou não muito baixo, muito alto ou igual.
Porque você tem várias saídas condições para o seu
loop externo, quer você tenha adivinhado corretamente ou se os números são iguais
ou não, isso pode ser uma boa caso para usar uma instrução break.
Porque lembre-se, você usa a instrução break quando você
tem várias saídas.
E então você poderia ter algo dentro de seu loop externo que
diz que se eles acertarem, pule para fora.
E então a condição no exterior o próprio loop no loop while ou no próprio loop
for, a condição x seria se o número de tentativas fosse
ou não maior que 5.
Essa é uma abordagem de design.
Eu mencionei muitas coisas.
A única coisa que resta, você tem tudo à sua disposição.
Se você aprendeu tudo que eu mencionei exceto este gerador de números aleatórios.
Isso é novo.
Você sabe como fazer declarações if, você sabe como
fazer loops, você sabe como declarar variáveis, você conhece todas essas coisas boas.
Você sabe como imprimir a saída para o display, mas você não sabe como
fazer um gerador de números aleatórios.
Então eu vou dar você o código para isso.
Você precisa gerar um número aleatório.
Porque cada vez que você executa o programa, você deseja ter um
novo número que eles possam adivinhar.
Então, para gerar um número aleatório de 0 a 20, essas são as etapas
que você deve seguir.
Primeiro você deve incluir 2 adicionais bibliotecas, o stdlib. h, tempo. h.
Então você deseja adicionar estes incluem diretivas na parte superior do seu arquivo.
Sdtlib. h permitirá que você use a função srand, que
permite gerar números aleatórios.
Tempo. h permite que você forneça o seed para o número aleatório usando
a hora, obtendo a hora atual.
Então, quando incluímos bibliotecas fora do nosso programa, significa apenas que
queremos realizar alguma funcionalidade adicional.
Nós não falamos sobre todos os bibliotecas padrão que vem
com c, mas vêm com 2 boas uns para obter a hora atual e
também para gerar um número que vamos usar.
Então, incluímos aqueles primeiro 2 diretivas na parte superior.
Então vamos criar um variável dentro
de nossa função principal chamada time_t, e você pode apenas nomeá-lo t, você adiciona isso.
Depois de adicionar sua variável de tempo, você pode inicializar seu gerador de
números aleatórios usando a função srand.
Então o que você faz é dizer srand.
Isso fornece uma semente para o gerador aleatório, é usado
apenas para inicializá-lo.
E aqui você apenas copia esta linha de código srand ((sem sinal) e, em seguida, hora e, em seguida, você passa
um E comercial t.
Nem precisa entender o que este código faz,
apenas copie e cole.
Mas está gerando um aleatório, ele está inicializando o
gerador de números aleatórios.
Depois de inicializar um gerador de números aleatórios, você
tem que gerar o número.
E tudo que você faz para gerar o número
é você diz rand, você chama uma função chamada rand e você diga% 21 que é um módulo porque você
deseja que esteja entre 0 e 21, você usa 21 codificado.
Você pode armazenar aquele número aleatório em um número inteiro, e esse é o
número que você vai comparar contra para sair do loop, independentemente
de adivinharem ou não.
Também vai ser o número que você compara com uh para determinar
se ou não você imprime muito baixo ou muito alto.
Portanto, isso deve ser muito divertido.
Novamente, muitos conceitos que você vai ser exposto a, instruções
if, construções de loop, o break instrução, loops internos e externos, loops
aninhados, um monte de coisas legais.
Então, boa sorte, divirta-se, e vou fornecer uma solução na
próxima aula. Obrigada.