Jump to content

Buscar nome (Portugol Studio)


francisco esley

Recommended Posts

Olá, pessoal! Tudo bem?

Bom, estou com um pequeno problema ao realizar busca de nomes em uma lista de convidados no Portugol Studio, o primeiro nome eu sempre consigo encontrá-lo, porém o segundo em diante acusa como convidado não encontrado. Gostaria da ajuda de vocês para resolver isso, aqui está meu código:

programa{   
  funcao inicio()
  {
    cadeia lista[100], nome
    inteiro opcao, i, numero
    caracter resp

    faca{
        escreva("========================\n")
        escreva("     MENU DE OPÇÕES\n")
        escreva("========================\n")
        escreva("1) Adicionar nome\n")
        escreva("2) Listar os nomes\n")
        escreva("3) Remover nome\n")
        escreva("4) Buscar nome\n")
        escreva("0) Sair\n")
        escreva("========================\n")
        escreva("Escolha sua opção: ")
        leia(opcao)

        escolha(opcao){
            caso 1:
                faca{
                    escreva("\nEscreva o nome do convidado: ")
                    leia(nome)
                    para (i = 0; i < 100; i++) {
                        se (lista[i] == "") {
                            lista[i] = nome
                            pare
                        }
                    }
                    escreva("\nNome adicionado!\n")
                    escreva("Deseja continuar? (s)im (n)ão: ")
                    leia(resp)
                }enquanto(resp != 'n')
                limpa()
            pare
                
            caso 2:
                faca{
                    limpa()
                    escreva("========================\n")
                    escreva("  LISTA DE CONVIDADOS\n")
                    escreva("========================\n\n")
                    para (i = 0; i < 100; i++) {
                        se (lista[i] != "") {
                            escreva(lista[i] + "\n")
                        }
                    }
                    escreva("\n======FIM DA LISTA======\n")
                    escreva("Digite " + "s" + " para voltar ao menu: ")
                    leia(resp)
                }enquanto(resp != 's')
                limpa()
            pare

            caso 3:
                escreva("\n======REMOVER CONVIDADO======\n\n")
                para (i = 0; i < 100; i++) {
                    se (lista[i] != "") {
                        escreva( i + ":" + lista[i] + "\n")
                    }
                }
                escreva("\nEscolha o número do convidado para remover: ")
                leia(numero)
                lista[numero] = ""
                limpa()
                escreva("Nome removido.\n")         
            pare

            caso 4:
                escreva("\n======BUSCAR CONVIDADO======\n\n")
                escreva("Informe o nome: ")
                leia(nome)
                para (i = 0; i < 100; i++) {
                    se (lista[i] == nome) {
                        escreva("Convidado encontrado!\n")
                        pare
                    } senao {
                        escreva("Convidado NÃO encontrado!\n")
                        pare
                    }
                }
            pare

            caso contrario:
            escreva("Opção inválida!\n")
        }
    }enquanto (opcao != 0)
    escreva("Programa finalizado!")
 }
}

 

Link to comment
Share on other sites

  • 1 year later...

VC ESQUECEU DE IMPRIMR OS NOMES 

DEI UMA ATUALIZADA NO SEU CODIGO

programa{   

    
  funcao inicio()
  {
    cadeia lista[100], nome, buscanome
    inteiro opcao, i, numero
    caracter resp

    faca{
        escreva("========================\n")
        escreva("     MENU DE OPÇÕES\n")
        escreva("========================\n")
        escreva("1) Adicionar nome\n")
        escreva("2) Listar os nomes\n")
        escreva("3) Remover nome\n")
        escreva("4) Buscar nome\n")
        escreva("0) Sair\n")
        escreva("========================\n")
        escreva("Escolha sua opção: ")
        leia(opcao)

        escolha(opcao){
            caso 1:
            limpa()
                faca{
                    escreva("\nEscreva o nome do convidado: ")
                    leia(nome)
                    limpa()
                    para (i = 0; i < 100; i++) {
                        se (lista[i] == "") {
                            lista[i] = nome
                            pare
                        }
                    }
                    escreva("\n=======Nome adicionado!========\n")
                    escreva("=========Deseja continuar?========\n (1)sim: \n (2)não: ")
                    leia(resp)
                    limpa()
                }enquanto(resp != '2')
                limpa()
            pare
                
            caso 2:
            limpa()
                faca{
                    limpa()
                    escreva("========================\n")
                    escreva("  LISTA DE CONVIDADOS\n")
                    escreva("========================\n\n")
                    para (i = 0; i < 100; i++) {
                        se (lista[i] != "") {
                            escreva(lista[i] + "\n")
                        }
                    }
                    escreva("\n======FIM DA LISTA======\n")
                    escreva("Digite " + "s" + " para voltar ao menu: ")
                    leia(resp)
                }enquanto(resp != 's')
                limpa()
            pare

            caso 3:
            limpa()
                escreva("\n======REMOVER CONVIDADO======\n\n")
                para (i = 0; i < 100; i++) {
                    se (lista[i] != "") {
                        escreva( i + ":" + lista[i] + "\n")
                    }
                }
                escreva("\nEscolha o número do convidado para remover: ")
                leia(numero)
                lista[numero] = ""
                limpa()
                escreva("Nome removido.\n")         
            pare

            caso 4:
            limpa()
                escreva("\n======BUSCAR CONVIDADO======\n\n")
                escreva("Informe o nome: ")
                leia(nome)
                limpa()
                para (i = 0; i < 100; i++) {
                    se (lista[i] == nome) {
                        escreva("---Convidado encontrado!----\n")
                        escreva("\nNome: ", lista[i],"\n")
                        pare
                    } senao {
                        escreva("Convidado NÃO encontrado!\n")
                        pare
                    }
                }
            pare

            caso contrario:
            escreva("Opção inválida!\n")
        }
    }enquanto (opcao != 0)
    limpa()
    escreva("======SAINDO=======")
 }

}
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.