Bom dia,
Estou com problema na hora de excluir um contato nessa agenda em pseudocode. Ele não não exclui contato a contato. Alguém poderia dar uma força?
Algoritmo "Projeto Cadastro"
Var
nome, endereco, email, tel: vetor [1..100] de caracter
x: inteiro
opcao: inteiro
Procedimento Menu
Var
Inicio
escreval ("========================")
escreval ("== PROJETO - CADASTRO ==")
escreval ("========================")
escreval ("")
escreval ("========================")
escreval ("==== [1] Cadastrar =====")
escreval ("==== [2] Listar =====")
escreval ("==== [3] Editar =====")
escreval ("==== [4] Excluir =====")
escreval ("==== [5] Sair =====")
escreval ("========================")
escreval ("")
escreva ("Entre com a sua opção: ")
leia (opcao)
escolha opcao
caso 1
cadastronome
caso 2
listarnomes
caso 3
editarnome
caso 4
excluircadastro
caso 5
sair
outrocaso
escreval ("Opção Inválida.")
Menu
fimescolha
Fimprocedimento
procedimento cadastronome
Inicio
limpatela
escreval ("")
escreval ("=================")
escreval ("==",x,"o. Contato ==")
escreval ("=================")
escreval ("")
escreva ("Nome: ")
leia (nome[x])
escreva ("Telefone: ")
leia (tel[x])
escreva ("Endereço: ")
leia (endereco[x])
escreva ("E-mail: ")
leia (email[x])
escreval("")
x <- x + 1
limpatela
escreval("Contato cadastrado com sucesso!")
escreval("")
escreval ("== [1] Cadastrar novo contato ==")
escreval ("== [2] Voltar Menu Principal ==")
escreval ("")
escreva ("Entre com a sua opção: ")
leia (opcao)
escolha opcao
caso 1
cadastronome
caso 2
limpatela
Menu
outrocaso
escreval ("Opção Inválida.")
Menu
Fimprocedimento
Procedimento listarnomes
Var
i, cadastro: inteiro
Inicio
limpatela
escreval ("========================")
escreval ("== LISTA DE CADASTROS ==")
escreval ("========================")
para i de 1 ate (x-1) faca
escreval (i,"o Cadastro")
escreval ("Nome: ", nome[i])
escreval ("Telefone: ", tel[i])
escreval ("Endereço: ", endereco[i])
escreval ("E-mail: ", email[i])
escreval ("")
fimpara
escreval ("== [1] Listar novamente ==")
escreval ("== [2] Voltar Menu Principal ==")
escreval ("")
escreva ("Entre com a sua opção: ")
leia (opcao)
escolha opcao
caso 1
listarnomes
caso 2
limpatela
Menu
outrocaso
escreval ("Opção Inválida.")
Menu
Fimprocedimento
Procedimento editarnome
Var
cadastro, i, dado: inteiro
Inicio
limpatela
escreval ("")
escreval ("======================")
escreval ("== ALTERAR CADASTRO ==")
escreval ("======================")
escreval ("")
para i de 1 ate (x-1) faca
escreval (i,"o Cadastro")
escreval ("Nome: ", nome[i])
escreval ("Telefone: ", tel[i])
escreval ("Endereço: ", endereco[i])
escreval ("E-mail: ", email[i])
escreval ("")
fimpara
escreval ("")
escreval ("Entre com o nº do cadastro a ser alterado")
leia (cadastro)
para i de 1 ate (x-1) faca
se i = cadastro entao
escreval ("Nº de cadastro: ", i)
escreval ("[1] - Nome: ", nome[i])
escreval ("[2] - Telefone: ", tel[i])
escreval ("[3] - Endereço: ", endereco[i])
escreval ("[4] - E-mail: ", email[i])
escreval ("[5] - Não alterar.")
escreval ("Escolha o dado que deseja alterar: ")
leia (dado)
escolha (dado)
caso 1
escreval ("Digite o novo nome: ")
leia (nome[i])
caso 2
escreval ("Digite o novo telefone: ")
leia (tel[i])
caso 3
escreval ("Digite o novo endereço: ")
leia (endereco[i])
caso 4
escreval ("Digite o novo e-mail: ")
leia (email[i])
caso 5
escreval ("O cadastro não foi alterado.")
outrocaso
Menu
fimescolha
fimse
fimpara
escreval ("O Cadastro foi alterado com sucesso.")
escreval ("")
escreval ("== [1] Alterar outro contato ==")
escreval ("== [2] Voltar Menu Principal ==")
escreval ("")
escreva ("Entre com a sua opção: ")
leia (opcao)
escolha opcao
limpatela
caso 1
editarnome
caso 2
limpatela
Menu
outrocaso
escreval ("Opção Inválida.")
Menu
Fimprocedimento
Procedimento excluircadastro
Var
cadastro,i: inteiro
Inicio
limpatela
escreval ("======================")
escreval ("== EXCLUIR CADASTRO ==")
escreval ("======================")
escreval ("")
escreval ("== LISTA DE CADASTROS ==")
escreval ("")
para i de 1 ate (x-1) faca
escreval (i,"o Cadastro")
escreval ("Nome: ", nome[i])
escreval ("Telefone: ", tel[i])
escreval ("Endereço: ", endereco[i])
escreval ("E-mail: ", email[i])
escreval ("")
fimpara
escreval ("==========================================")
escreva ("Entre com o nº do cadastro a ser excluído: ")
leia (cadastro)
para i de 1 ate (x-1) faca
se i = cadastro entao
x <- i
fimse
fimpara
escreval ("O Cadastro foi excluido com sucesso.")
escreval ("")
escreval ("== [1] Excluir outro contato ==")
escreval ("== [2] Voltar Menu Principal ==")
escreval ("")
escreva ("Entre com a sua opção: ")
leia (opcao)
escolha opcao
limpatela
caso 1
excluircadastro
caso 2
limpatela
Menu
outrocaso
escreval ("Opção Inválida.")
Menu
Fimprocedimento
Procedimento sair
Inicio
limpatela
Fimprocedimento
Inicio
x <- 1
Menu
Fimalgoritmo