quehomem 0 Denunciar post Postado Maio 21, 2016 Preciso de ajuda em um algoritmo, basicamente preciso criar um algoritmo de cadastro de sapatos de uma loja.. Já quase acabei ele porém quando mando excluir um cadastro por exemplo, ele apaga todos os cadastros q fiz depois do que mandei excluir. Me ajuda ae.Algoritmo "Loja de Sapatos"VarModelo, Cor, Marca: vetor [1..50] de caracterTamanho: vetor [1..50] de inteiroPreco: vetor [1..50] de realx: inteiroopcao: inteiroProcedimento MenuVarInicio escreval (" ******************") escreval (" * LOJA DE SAPATOS *") escreval (" ******************") escreval ("") escreval ("1 - Cadastrar sapato") escreval ("2 - Listar sapatos") escreval ("3 - Editar cadastro") escreval ("4 - Excluir cadastro") escreval ("5 - Sair") escreval ("") escreva ("Entre com a sua opção: ") leia (opcao) escolha opcao caso 1 cadastrosapato caso 2 listarsapatos caso 3 editarsapato caso 4 excluirsapato caso 5 sair outrocaso Menu fimescolhaFimprocedimentoprocedimento cadastrosapatoVarInicio escreval ("") escreval (" *****************") escreval (" * SAPATO Nº",x, " *") escreval (" *****************") escreval ("") escreva ("Modelo do sapato: ") leia (Modelo[x]) escreva ("Tamanho do sapato: ") leia (Tamanho[x]) escreva ("Cor do sapato: ") leia (Cor[x]) escreva ("Marca do sapato: ") leia (Marca[x]) escreva ("Preço do sapato: ") leia (Preco[x]) x <- x + 1 MenuFimprocedimentoProcedimento listarsapatosVar j: inteiroInicio limpatela escreval (" ****************") escreval (" * LISTA DE CADASTROS *") escreval (" ****************") para j de 1 ate (x-1) faca escreval ("Nº de cadastro: ", j) escreval ("Modelo do sapato: ", Modelo[j]) escreval ("Tamanho do sapato: ", Tamanho[j]) escreval ("Cor do sapato: ", Cor[j]) escreval ("Marca do sapato: ", Marca[j]) escreval ("Preço do sapato: ", Preco[j]) escreval ("") fimparaMenuFimprocedimentoProcedimento editarsapatoVar cadastro, j, dado: inteiroInicio escreval ("") escreval (" *****************") escreval (" * ALTERAR CADASTRO * ") escreval (" *****************") escreval ("") escreval ("Digite o nº de cadastro do sapato: ") leia (cadastro) para j de 1 ate (x-1) faca se j = cadastro entao escreval ("Nº de cadastro: ", j) escreval ("#1# - Modelo do sapato: ", Modelo[j]) escreval ("#2# - Tamanho do sapato: ", Tamanho[j]) escreval ("#3# - Cor do sapato: ", Cor[j]) escreval ("#4# - Marca do sapato: ", Marca[j]) escreval ("#5# - Preço do sapato: ", Preco[j]) escreval ("#6# - Não alterar.") escreval ("Escolha qual dado quer alterar: ") leia (dado) escolha (dado) caso 1 escreval ("Digite o novo modelo do sapato: ") leia (Modelo[j]) caso 2 escreval ("Digite o novo tamanho do sapato: ") leia (Tamanho[j]) caso 3 escreval ("Digite a nova cor do sapato: ") leia (Cor[j]) caso 4 escreval ("Digite a nova marca do sapato: ") leia (Marca[j]) caso 5 escreval ("Digite o novo preço do sapato: ") leia (Preco[j]) caso 6 escreval ("O cadastro não foi alterado.") outrocaso Menu fimescolha fimse fimparaMenuFimprocedimentoProcedimento excluirsapatoVar cadastro, j : inteiroInicio limpatela escreval (" ****************") escreval (" * EXCLUIR CADASTRO *") escreval (" ****************") escreva ("Entre com o nº de cadastro do sapato a ser excluído: ") leia (cadastro) para j de 1 ate (x-1) faca se j = cadastro entao x <- j fimse fimpara escreval ("O sapato foi excluido com sucesso.")MenuFimprocedimentoProcedimento sairIniciolimpatelaFimprocedimentoIniciox <- 1MenuFimalgoritmo Compartilhar este post Link para o post Compartilhar em outros sites
snowstormdelivery 19 Denunciar post Postado Maio 21, 2016 Você está usando alguma ferramenta para testar o código? Alguns erros de sintaxe apontam que não. Só perguntei isso, porque ajuda bastante utilizar estas ferramentas, como o VisuAlg. Quanto ao código, eu analisei brevemente as rotinas de excluir e listar, e não percebi nada referente ao seu problema de todas posições excluídas.Excluir uma variável em Portugol, o que seria?Desconheço algum comando que destrua determinada variável, por isso utilizo técnicas, como atribuir o valor zero a tais variáveis. Assim, quando peço para listar todas variáveis, utilizo um laço de repetição com condição, para não mostrar variáveis com valor zero.No seu código, não vejo nenhum método parecido, somente a variável "x" recebendo o valor do cadastro a ser excluído. Nada mais! para j de 1 ate (x-1) faca se j = cadastro entao x <- j fimse fimpara escreval ("O sapato foi excluido com sucesso.") Procedimento listarsapatos Var j: inteiro Inicio limpatela escreval (" ****************") escreval (" * LISTA DE CADASTROS *") escreval (" ****************") para j de 1 ate (x-1) faca escreval ("Nº de cadastro: ", j) escreval ("Modelo do sapato: ", Modelo[j]) escreval ("Tamanho do sapato: ", Tamanho[j]) escreval ("Cor do sapato: ", Cor[j]) escreval ("Marca do sapato: ", Marca[j]) escreval ("Preço do sapato: ", Preco[j]) escreval ("") fimpara Menu Fimprocedimento Como vemos, variável "x" recebe o valor de cadastro a ser excluído, depois, se executado a função de listar, o programa irá mostrar todos os valores, até o que era para ser excluído.Bem, minha conclusão remete a um desconfiança: Foi, realmente, você quem criou este código? Não vejo nada relacionado ao que você falou estar com problema, por isso questiono.Independente de ter sido você, ou não, procure utilizar um método como eu disse que usaria, lá no terceiro parágrafo.Estarei aberto para mais discussões e dúvidas. Só precisa responder! Compartilhar este post Link para o post Compartilhar em outros sites