Created
February 13, 2021 18:00
-
-
Save Maransatto/c601b8e5e013d265aa0999ae0c00f080 to your computer and use it in GitHub Desktop.
Crud Completo Empresa Ozzy em VisualG
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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