Respostas no Fórum
-
AutorPosts
-
Felipe BarbourParticipante
Bom dia, rsrs….
Entaooo, eu consegui chegar ao resultado esperado, porém minha lógica está com um pequeno problema, as vezes ele sorteia 3 bombas ou 4 bombas, ao verificar a lógica do professor creio que eu fiz pelo caminho mais difícil, gostaria de um auxilio referente a minha lógica, segue abaixo:programa
{
inclua biblioteca Util –> u
funcao inicio()
{
inteiro totcerto = 0, tot=1
cadeia jogo[4][4]escreva(“{ EXERCÍCIO – 068 Jogo Campo Minado }\n”)
escreva (“BOMBA = O”)
escreva (“\nSua jogada = V\n”)
para (inteiro sort = 0; sort < u.numero_colunas(jogo); sort++){
inteiro l = u.sorteia(0, u.numero_linhas(jogo)-1)
inteiro c = u.sorteia(0, u.numero_colunas(jogo)-1)
jogo[l][c] = ” O ”
}
para (inteiro l = 0; l < u.numero_linhas(jogo); l++){
para (inteiro c = 0; c < u.numero_colunas(jogo); c++){
se (jogo[l][c] != ” O “){
jogo[l][c] = “-”
}
}
}
para (inteiro l = 0; l < u.numero_linhas(jogo); l++){
para (inteiro c = 0; c < u.numero_colunas(jogo); c++){
se (jogo[l][c] != ” V “){
escreva (” ? “)
}
}
escreva (“\n”)
}
escreva (“———————————————–“)
para (inteiro sort = 0; sort < u.numero_colunas(jogo); sort++){
inteiro l
inteiro c
escreva (“\nFaça sua jogada! (Tentativa: “, tot, “)\n”)
escreva (“LINHA = “)
leia (l)
escreva (“\nColuna = “)
leia (c)
escreva (“———————————————–“)
se (jogo[l][c] != ” O “){
escreva (“\n–> ATIROU CERTO! Não acertou nenhuma bomba!!\n”)
jogo[l][c] = ” V ”
totcerto+=2
tot++para ( l = 0; l < u.numero_linhas(jogo); l++){
para ( c = 0; c < u.numero_colunas(jogo); c++){
se (jogo[l][c] != ” V “){
escreva (” ? “)
} senao {
escreva (jogo[l][c])
}
}
escreva (“\n”)
}} senao {
se (jogo[l][c] == ” O “){
escreva (“\n–> TIRO ERRADO! Acertou uma BOMBA!!”)
escreva (“\n\n\n”)
escreva (“———————————————–“)
escreva (“\nFIM DO JOGO!\n”)
para (l = 0; l < u.numero_linhas(jogo); l++){
para (c = 0; c < u.numero_colunas(jogo); c++){
se (jogo[l][c] != ” O ” e jogo [l][c] != ” V “){
jogo[l][c] = ” – ”
}
escreva (jogo[l][c])
}
escreva (“\n”)
}
escreva (“\nVocê fez “, totcerto, ” pontos, em “, tot, ” tentativas!!\n”)
escreva (“———————————————–“)
pare
}
}
}
}
}20 de julho de 2022 às 14:53 em resposta a: Exercicio – 54 estrutura de repetição validadando dados. #97940Felipe BarbourParticipanteBoa tarde!!
Realizei a ativade 054, porém gostaria de opiniões sobre o meu código, e se da para melhora-lo
Segue abaixo o Código:
programa
{inclua biblioteca Texto –> txt
inclua biblioteca Tipos –> t
funcao inicio()
{
inteiro c = 0, idade = 0, maioridade = 0, menoridade = 0
cadeia teclado1, teclado2, nome = ” “, nomeM = ” “, nomeME = ” ”
caracter resp = ‘ ‘escreva (“{ EXERCÍCIO 054 – Pessoas Validadas }”)
faca{
enquanto (verdadeiro){
escreva (“\n”, (c+1), “° Pessoa “)
escreva (“\n\nNome: “)
leia (nome)se (txt.numero_caracteres(nome) >= 3){
enquanto (verdadeiro){
escreva (“\nIdade: “)
leia (teclado2)
se (t.cadeia_e_inteiro(teclado2, 10)){
idade = t.cadeia_para_inteiro(teclado2, 10)
se (idade > 0 e idade < 130){
c++
se (c == 1){
maioridade = idade
menoridade = idade
nomeM = nome
nomeME= nome
} senao {
se (idade > maioridade){
maioridade = idade
nomeM = nome
pare
} senao {
se (idade < menoridade){
menoridade = idade
nomeME = nome
pare
}
}
}pare
} senao {
escreva (“<<ERROR>> IDADE INVÁLIDA, A idade deve estar entre 1 e 130, tente novamente\n”)}
} senao {
escreva (“<<ERROR>> IDADE INVÁLIDA, A idade deve ser um número inteiro, tente novamente\n”)}
}
}senao {
escreva (“<<ERROR>> O nome, deve ter pelo menos 3 caracteres!! Tente novamente\n”)}
se (txt.numero_caracteres(nome) >= 3){
pare
}}
escreva (“\nQuer continuar? [S/N] “)
leia (resp)}enquanto (resp == ‘s’ ou resp == ‘S’)
escreva (“\n-=-=-=-=-=-=-= Resultados -=-=-=-=-=-=-=”)
escreva (“\nAo todo, você cadastrou “, c, ” pessoas.”)
escreva (“\n”, nomeM, ” é a pessoa mais velha, com “, maioridade, ” anos.”)
escreva (“\n”, nomeME, ” é a pessoa mais jovem, com “, menoridade, ” anos.”)
}
} -
AutorPosts