Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

RubensCalmon

Cadastro de Funcionário - VisualG

Recommended Posts

Dificuldade em concluir um algoritmo para criar um cadastro de funcionários, já fiz boa parte, porém não consigo termina-lo alguém pode me ajudar?

 

algoritmo "CadastroFuncionarios"
// Sistema resumido que simula a folha de pagamento de uma empresa.
//O sistema deverá permitir o cadastro do nome do funcionário,
//cargo do funcionário e o valor do salário, conforme a tabela abaixo:
//    Cargo           Salário
//Vendedor Externo    R$ 1200,00
//Vendedor Intero    R$ 1300,00
//Gerente de Loja    R$ 1800,00
//Diretor de Loja    R$ 2500,00
//O sistema deverá permitir o cadastro de no máximo 10 registros.
//Especificidade:
//O sistema não deverá permitir o cadastro com valores diferentes dos especificados na tabela.
var
opcao,opcaosalario, opcaoMenu, contadorFuncionario:inteiro
vetorNomeFuncionario:vetor[1..10] de caracter
vetorValorFuncionario:vetor[1..10] de inteiro
continuaCadastrar, listagemVoltarMenu, excluirVoltarMenu:caracter
procedimento menu()
var
inicio
escreval("SISTEMA DE CADASTRO DE FUNCIONÁRIOS SCF VERSÃO MASTER")
escreval()
escreval("Menu de Opções: ")
escreval("1 - Cadastro de Novo Funcionário (os)")
escreval("2 - Listagem de Funcionários")
escreval("3 - Exclusão de Funcionário (os)")
escreval("4 - Sair")
escreval()
escreva("Escolha a sua opção: ")
fimprocedimento
funcao cadastraFuncionario(var contador:inteiro):inteiro
var
nomeFuncionario, valorFuncionario:caracter
indice:inteiro
inicio
se contador=10 entao
   escreval("Número máximo de cadastros alcançado. Favor exclua um registro para continuar.")
senao
   contador<-contador+1
   escreval("Digite o nome do Funcionário a ser cadastrado: ")
   leia(nomeFuncionario)
   escreva("Informe a opcao que corresponde ao cargo do Funcionário a ser cadastrado: ")
   escreval()
   escreval("1-Vendedor Externo")
   escreval("2-Vendedor Intero")
   escreval("3-Gerente de Loja")
   escreval("4-Diretor de Loja")
   leia(opcaosalario)
   se opcaosalario = 1 entao
      escreval("Salario = R$ 1200,00")
   senao
      se opcaosalario = 2 entao
         escreval("Salario = R$ 1300,00")
      senao
         se opcaosalario = 3 entao
            escreval("Salario = R$ 1800,00")
         senao
            se opcaosalario = 4 entao
               escreval("Salario = R$ 2500,00")
            senao
               escreval("Opcao invalida!")
               vetornomeFuncionario[contador]<-nomeFuncionario
               vetorValorFuncionario[contador]<-opcaosalario
            fimse
         fimse
      fimse
   fimse
fimse
retorne contador
fimfuncao
procedimento listarFuncionario()
var
i:inteiro
inicio
para i de 1 ate 10 faca
   se vetorNomeFuncionario[i]<>""entao
      escreval("COD ",i," | ")
      escreval("Nome: ", vetorNomeFuncionario[i]," | ")
      escreval("Valor: R$ ", vetorvalorfuncionario)     , ",00 "
   fimse
fimpara
fimprocedimento
funcao excluirFuncionario(contador:inteiro):inteiro
var
decisao:caracter
inicio
escreval("Deseja excluir o último Funcionário da lista? (S/N)")
leia(decisao)
se decisao="S" entao
   vetorNomeFuncionario[contador]<-""
   vetorValorFuncionario[contador]<-""
   contador<-contador-1
   escreval("Cadastro de Funcionário deletado com sucesso.")
   escreval()
fimse
escreval("Total de Funcionários cadastrados: ", contador)
retorne contador
fimfuncao
inicio
// Seção de Comandos
opcaoMenu<-0
contadorFuncionario<-0//variável de controle para contar os itens. Max 10.
menu()
enquanto opcaoMenu<>4 faca
   leia(opcaoMenu)
   escolha opcaoMenu
   caso 1
      limpatela
      continuaCadastrar<-"S"
      enquanto continuaCadastrar="S" faca
         escreval("SISTEMA DE CADASTRO DE FUNCIONÁRIOS SCF VERSÃO MASTER")
         escreval("MENU 1 - Cadastro de Funcionários")
         escreval("(Máximo de 10 Funcionários - Total de Funcionários cadastrados:", contadorFuncionario,")")
         escreval()
         contadorFuncionario<-cadastraFuncionario(contadorFuncionario)
         escreval()
         escreval("Deseja continuar cadastrando? (S/N)")
         leia(continuaCadastrar)
         limpatela
      fimenquanto
      limpatela
      menu()
   caso 2
      limpatela
      listagemVoltarMenu<-"N"
      enquanto listagemVoltarMenu="N" faca
         escreval("SISTEMA DE CADASTRO DE FUNCIONÁRIOS SCF VERSÃO MASTER")
         escreval("MENU 2 - Listagem de Funcionários")
         escreval()
         listarFuncionario
         escreval()
         escreval("Deseja voltar ao menu principal? (S/N)")
         leia(listagemVoltarMenu)
         limpatela
      fimenquanto
      limpatela
      menu
   caso 3
      limpatela
      excluirVoltarMenu<-"N"
      enquanto excluirVoltarMenu="N" faca
         escreval("SISTEMA DE CADASTRO DE FUNCIONÁRIOS SCF VERSÃO MASTER")
         escreval("MENU 3 - Exclusão de Cadastro de Funcionários")
         escreval()
         se contadorFuncionario>0 entao
            contadorFuncionario<-excluirFuncionario(contadorFuncionario)
            escreval()
         senao
            escreval("Não existem Funcionários a serem excluidos.")
            escreval()
         fimse
         escreval("Deseja voltar ao menu principal? (S/N)")
         leia(excluirVoltarMenu)
         limpatela
      fimenquanto
      limpatela
      menu
   outrocaso
      opcaoMenu<-4
   fimescolha
fimenquanto
fimalgoritmo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não é necessário excluir, vamos deixá-lo para repositório de conhecimento.

 

Uma pena que decidiu partir para outro caminho, vamos continuar a ajudá-lo :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.