Skip to content

Instantly share code, notes, and snippets.

@Maransatto
Created February 13, 2021 18:00
Show Gist options
  • Save Maransatto/c601b8e5e013d265aa0999ae0c00f080 to your computer and use it in GitHub Desktop.
Save Maransatto/c601b8e5e013d265aa0999ae0c00f080 to your computer and use it in GitHub Desktop.
Crud Completo Empresa Ozzy em VisualG
Algoritmo "Funções (procedimentos)"
// Disciplina : UC4 - Lógica de Programação
// Professor : Fernando Silva Maransatto
// Descrição : Exemplos de funções e procedimentos
// Autor(a) : Maransatto
// Data atual : 13/02/2021
Var
funcionarios: vetor[0..100, 0..4] de caracter
busca: caracter
indiceBusca: inteiro
acao: caracter
continuarAcao: caracter
procedimento preencherDadosParaTeste()
inicio
funcionarios[0,0] := "Fernando Silva Maransatto"
funcionarios[0,1] := "Professor"
funcionarios[0,2] := "32"
funcionarios[0,3] := "M"
funcionarios[0,4] := "1000"
funcionarios[1,0] := "Maria da Silva"
funcionarios[1,1] := "Professora"
funcionarios[1,2] := "30"
funcionarios[1,3] := "F"
funcionarios[1,4] := "2000"
funcionarios[2,0] := "José de Abreu Santos"
funcionarios[2,1] := "TI"
funcionarios[2,2] := "40"
funcionarios[2,3] := "M"
funcionarios[2,4] := "1000"
funcionarios[3,0] := "Ana Maria del Barrio"
funcionarios[3,1] := "Professora de Espanhol"
funcionarios[3,2] := "60"
funcionarios[3,3] := "F"
funcionarios[3,4] := "3000"
funcionarios[4,0] := "Don Diego de La Vega (zorro)"
funcionarios[4,1] := "Heroi"
funcionarios[4,2] := "27"
funcionarios[4,3] := "M"
funcionarios[4,4] := "10000"
fimprocedimento
funcao indiceFuncionario(nome: caracter): inteiro
var
linha, indice: inteiro
inicio
para linha de 0 ate 100 faca
indice := -1
se pos(nome, funcionarios[linha, 0]) > 0 entao
indice := linha
interrompa
fimse
fimpara
retorne indice
fimfuncao
procedimento removerFuncionario(indice: inteiro)
var
linha, coluna: inteiro
inicio
para coluna de 0 ate 4 faca // são 5 atributos a serem removidos
funcionarios[indice, coluna] := ""
fimpara
para linha de indice + 1 ate 100 faca // são 5 posições de funcionários
para coluna de 0 ate 4 faca
funcionarios[linha - 1, coluna] := funcionarios[linha, coluna]
se linha = 100 entao
funcionarios[linha, coluna] := ""
fimse
fimpara
fimpara
fimprocedimento
procedimento listar()
var
linha, coluna: inteiro
inicio
escreval()
escreval("-------------------------------------")
escreval("Ação escolhida: L - Listar ----------")
escreval("-------------------------------------")
para linha de 0 ate 100 faca
se funcionarios[linha, 0] = "" entao
interrompa
fimse
escreva(linha, " - ")
para coluna de 0 ate 4 faca
escreva(funcionarios[linha, coluna], " ")
fimpara
escreval()
fimpara
escreval()
fimprocedimento
procedimento atualizarLinha(linha: inteiro)
var
nome, funcaoFuncionario, idade, sexo, salario: caracter
inicio
escreva("Nome: ")
leia(nome)
escreva("Função: ")
leia(funcaoFuncionario)
escreva("Idade: ")
leia(idade)
escreva("Sexo (M/F): ")
leia(sexo)
escreva("Salário: ")
leia(salario)
funcionarios[linha,0] := nome
funcionarios[linha,1] := funcaofuncionario
funcionarios[linha,2] := idade
funcionarios[linha,3] := sexo
funcionarios[linha,4] := salario
fimprocedimento
procedimento inclusao()
var
linha: inteiro
inicio
escreval()
escreval("-------------------------------------")
escreval("Ação escolhida: I - Incluir ---------")
escreval("-------------------------------------")
para linha de 0 ate 100 faca
se (funcionarios[linha, 0] = "") entao
escreval("-------------------------------")
escreval("Novo índice ", linha)
escreval("-------------------------------")
atualizarLinha(linha)
interrompa
fimse
fimpara
limpatela
fimprocedimento
procedimento atualizacao()
var
inicio
escreval()
escreval("-------------------------------------")
escreval("Ação escolhida: A - Atualizar -------")
escreval("-------------------------------------")
escreva("Informe o nome do funcionário a ser alterado: ")
leia(busca)
indiceBusca := indiceFuncionario(busca)
se indiceBusca >= 0 entao
escreval("Encontrado no índice: ", indiceBusca)
atualizarLinha(indiceBusca)
escreval("Funcionário alterado com sucesso...")
senao
escreval("Funcionário não encontrado")
fimse
limpatela
fimprocedimento
procedimento remocao()
var
inicio
escreval()
escreval("-------------------------------------")
escreval("Ação escolhida: R - Remover ---------")
escreval("-------------------------------------")
escreva("Informe o nome do funcionário a excluir: ")
leia(busca)
indiceBusca := indiceFuncionario(busca)
se indiceBusca >= 0 entao
escreval("Encontrado no índice: ", indiceBusca)
removerFuncionario(indiceBusca)
escreval("Funcionário removido com sucesso...")
senao
escreval("Funcionário não encontrado")
fimse
limpatela
fimprocedimento
procedimento acaoInvalida()
inicio
escreval()
escreval("Opa... Ação inválida...")
escreval()
fimprocedimento
procedimento finalizar()
inicio
continuarAcao := "N"
escreval("---------------------------------------------")
escreval("------ Obrigado, volte sempre ---------------")
escreval("---------------------------------------------")
fimprocedimento
Inicio
preencherDadosParaTeste()
enquanto (continuarAcao <> "N") e (continuarAcao <> "n") faca
escreval("---------------------------------------------------------")
escreval("------------ Controle de Funcionários (Ozzy) ------------")
escreval("---------------------------------------------------------")
escreval("Ações Permitidas:")
escreval("(l)istar")
escreval("(i)ncluir")
escreval("(a)lterar")
escreval("(r)emover")
escreval("(s)air")
escreva("O que deseja fazer? ")
escreval()
leia(acao)
escreval()
escolha maiusc(acao)
caso "L"
listar()
caso "I"
inclusao()
caso "A"
atualizacao()
caso "R"
remocao()
caso "S"
finalizar()
outrocaso
acaoInvalida()
fimescolha
fimenquanto
Fimalgoritmo
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment