algoritmo "programa de vendas"
// Função :
// Autor :
// Data : 30/9/2006
// Seção de Declarações
var
vendedor:vetor[1..10,1..3] de caracter
venda:vetor[1..10,1..27] de real
totalVenda:vetor[1..10] de real
nVendedor,nDia:inteiro
procedimento pause //OK
var pause:caracter
inicio
escreva("Tecle para continuar...")
leia(pause)
limpatela
fimprocedimento
funcao menu:caracter
var
opcao:caracter
sair:logico
inicio
sair <- falso
enquanto nao sair faca
escreval(" 1) Importar nome dos vendedores")
escreval(" 2) Listar vendedores")
escreval(" 3) Mostrar apelido do vendedor")
escreval(" 4) Mostrar setor de vendas do vendedor")
escreval(" 5) Cadastrar venda diária")
escreval(" 6) Calcular e mostrar total de um vendedor")
escreval(" 7) Calcular e mostrar venda diária da loja")
escreval(" 8 ) Calcular e mostrar total de venda da loja")
escreval(" 9) Mostrar o vendedor que mais vendeu no dia")
escreval("10) Mostrar o vendedor que mais vendeu no mês")
escreval(" 0) Sair")
escreva("Opção: ")
leia(opcao)
limpatela
escolha opcao
caso "1"
menuCarregaArquivoVendedor
caso "2"
menuListarVendedores
caso "3"
menuMostrarApelidoVendedor
caso "4"
menuMostrarSetorVendedor
caso "5"
menuCadastrarVendaDiaria
caso "6"
menuCalcularMostrarVendaVendedor
caso "7"
menuCalcularMostrarVendaDiariaLoja
caso "8"
menuCalcularMostrarVendaMensalLoja
caso "9"
menuMostrarVendedorMaisVendaDia
caso "10"
menuMostrarVendedorMaisVendeuMes
caso "0"
escreval("Tecle para sair...")
sair <- verdadeiro
outrocaso
fimescolha
fimenquanto
retorne ""
fimfuncao
funcao decisao:logico
var
opcao:logico
entrada:caracter
inicio
enquanto (entrada <> "S") e (entrada <> "N") faca
escreva("S(sim)|N(não): ")
leia(entrada)
escolha entrada
caso "S"
opcao <- verdadeiro
caso "N"
opcao <- falso
fimescolha
fimenquanto
retorne opcao
fimfuncao
funcao opcaoTipoListagemVendedor:inteiro //OK
var
opcao:inteiro
entrada:caracter
inicio
opcao <- -1
escreval("Tipo de listagem de vendedor:")
escreval("1) Listar todos os vendedores")
escreval("2) Listar vendedor específico")
enquanto opcao = -1 faca
escreva("Opção: ")
leia(entrada)
escolha entrada
caso "1"
opcao <- 0
caso "2"
opcao <- escolherVendedor()
outrocaso
opcao <- -1
fimescolha
fimenquanto
retorne opcao
fimfuncao
funcao escolherVendedor:inteiro
var
opcao:inteiro
inicio
escreval("Informe o número do vendedor:")
enquanto (opcao < 1) ou (opcao > nVendedor) faca
escreva("(1,",nVendedor,") :")
leia(opcao)
fimenquanto
retorne opcao
fimfuncao
funcao opcaoMostrarDadosVendedor:inteiro //OK
var
opcao:inteiro
entrada:caracter
inicio
escreval("1) Mostrar apenas o nome do vendedor")
escreval("2) Mostrar o apelido do vendedor")
escreval("3) Mostrar o setor de venda do vendedor")
enquanto opcao = 0 faca
escreva("Opção: ")
leia(entrada)
escolha entrada
caso "1"
opcao <- 1
caso "2"
opcao <- 2
caso "3"
opcao <- 3
outrocaso
opcao <- 0
fimescolha
fimenquanto
retorne opcao
fimfuncao
funcao opcaoMostrarSomaVendedor:inteiro //OK
var
entrada:caracter
opcao:inteiro
inicio
opcao <- -1
escreval("1) Mostrar venda mensal")
escreval("2) Especificar algum dia")
enquanto opcao = -1 faca
escreva("Opção: ")
leia(entrada)
escolha entrada
caso "1"
opcao <- 0
caso "2"
opcao <- escolherDia()
outrocaso
opcao <- -1
fimescolha
fimenquanto
retorne opcao
fimfuncao
funcao escolherDia:inteiro
var
opcao:inteiro
inicio
escreval("Informe o dia que deseja mostrar a venda:")
enquanto (opcao < 1) ou (opcao > 27) faca
escreva("(1-27): ")
leia(opcao)
fimenquanto
retorne opcao
fimfuncao
funcao listarVendedor(tipo,dados:inteiro):caracter
var
i,comeco,termino:inteiro
inicio
//tipo: 0-todos os vendedores|1>=tipo>=10-vendedor especifico
//dados: 1-vendedor|2-vendedor e apelido|3-vendedeor e setor
se tipo = 0 entao
comeco <- 1
termino <- nVendedor
senao
comeco <- tipo
termino <- tipo
fimse
para i de comeco ate termino faca
escreva(i, " - ", vendedor[i,1])
escolha dados
caso 2
escreva(vendedor[i,2])
caso 3
escreva(vendedor[i,3])
fimescolha
escreval()
fimpara
retorne ""
fimfuncao
funcao cadastrarVenda(iVendedor:inteiro):caracter
var
i:inteiro
inicio
aleatorio on
aleatorio 1,1000
para i de 1 ate nDia faca
escreva("Dia", i,": R$ ")
leia(venda[iVendedor, i])
fimpara
aleatorio off
escreval("Vendas importada com sucesso.")
retorne ""
fimfuncao
funcao calcularVenda(tipo, idVendedor, idDia:inteiro):caracter
var
i,comecoi,fimi,j,comecoj,fimj:inteiro
soma:real
inicio
escolha tipo
caso 1
comecoi <- idVendedor
fimi <- idVendedor
se idDia = 0 entao
comecoj <- 1
fimj <- nDia
senao
comecoj <- idDia
fimj <- idDia
fimse
caso 2
comecoi <- 1
fimi <- nVendedor
comecoj <- idDia
fimj <- idDia
caso 3
comecoi <- 1
fimi <- nVendedor
comecoj <- 1
fimj <- nDia
fimescolha
para i de comecoi ate fimi faca
para j de comecoj ate fimj faca
soma <- soma + venda[i, j]
fimpara
fimpara
se soma = 0 entao
escolha tipo
caso 1
escreval("Nenhuma venda registrada desse vendedor.")
caso 2
escreval("Nenhuma venda registrada nesse dia.")
caso 3
escreval("Nenhuma venda registrada nesse mês.")
fimescolha
senao
escreval("TOTAL - R$", soma)
fimse
retorne ""
fimfuncao
//SISTEMA
procedimento menuCarregaArquivoVendedor //1
arquivo "F:\uniban\logica_programacao\vendedor.txt"
var
i:inteiro
entrada:caracter
inicio
para i de 1 ate nVendedor faca
leia(entrada)
vendedor[i,1] <- copia(entrada,1,40)
vendedor[i,2] <- copia(entrada,41,20)
vendedor[i,3] <- copia(entrada,61,20)
fimpara
limpatela
escreval("Vendedores carregados com sucesso!")
pause
fimprocedimento
procedimento menuListarVendedores //2
var
tipo, idVendedor, idDia:inteiro
inicio
escreval("LISTAR VENDEDORES")
idVendedor <- opcaoTipoListagemVendedor()
escreval()
escreva(listarVendedor(idVendedor,opcaoMostrarDadosVendedor()))
escreval()
escreval("Mostrar o total de vendas do vendedor?")
se decisao() entao
idDia<-opcaoMostrarSomaVendedor
se (idVendedor > 0) entao
tipo <- 1
fimse
se (idDia > 0) entao
tipo <- 2
fimse
se (idVendedor = 0) e (idDia = 0) entao
tipo <- 3
fimse
escreval()
escreva(calcularVenda(tipo, idVendedor, idDia))
fimse
pause
limpatela
fimprocedimento
procedimento menuMostrarApelidoVendedor //3
inicio
escreval("MOSTRAR APELIDO DO VENDEDOR")
escreva(listarVendedor(opcaoTipoListagemVendedor(),2))
pause
limpatela
fimprocedimento
procedimento menuMostrarSetorVendedor //4
inicio
escreval("MOSTRAR SETOR DO VENDEDOR")
escreva(listarVendedor(opcaoTipoListagemVendedor(),3))
pause
limpatela
fimprocedimento
procedimento menuCadastrarVendaDiaria //5
var
idVendedor:inteiro
inicio
escreval("CADASTRAR VENDA")
idVendedor <- escolherVendedor()
escreva(listarVendedor(idVendedor,1))
escreva(cadastrarVenda(idVendedor))
pause
limpatela
fimprocedimento
procedimento menuCalcularMostrarVendaVendedor //6
var
idVendedor,idDia:inteiro
inicio
escreval("CALCULAR E MOSTRAR O TOTAL DE UM VENDEDOR")
idVendedor <- escolherVendedor()
idDia <- opcaoMostrarSomaVendedor()
escreva(listarVendedor(idVendedor, 1))
escreva(calcularVenda(1, idVendedor, idDia))
pause
limpatela
fimprocedimento
procedimento menuCalcularMostrarVendaDiariaLoja //7
var
idDia:inteiro
inicio
escreval("CALCULAR E MOSTRAR AS VENDAS DIÁRIA DA LOJA")
idDia <- escolherDia()
escreva(calcularVenda(2, 0, idDia))
pause
limpatela
fimprocedimento
procedimento menuCalcularMostrarVendaMensalLoja //8
inicio
escreval("CALCULAR E MOSTRAR O TOTAL DE VENDAS DA LOJA")
escreva(calcularVenda(3, 0, 0))
pause
limpatela
fimprocedimento
procedimento menuMostrarVendedorMaisVendaDia //9
var
idDia, idVendedor, dadosVendedor, i:inteiro
valor:real
inicio
escreval("MOSTRAR O VENDEDOR QUE MAIS VENDEU NO DIA")
dadosVendedor <- opcaoMostrarDadosVendedor()
idDia <- escolherDia()
para i de 1 ate nVendedor faca
se venda[i,idDia] > valor entao
valor <- venda[i,idDia]
idVendedor <- i
fimse
fimpara
escreval("O vendedor que mais vendeu no dia foi o(a):")
escreva(listarVendedor(idVendedor, dadosVendedor))
pause
limpatela
fimprocedimento
procedimento menuMostrarVendedorMaisVendeuMes //10
var
idVendedor,dadosVendedor,i,j:inteiro
valor:real
inicio
escreval("MOSTRAR O VENDEDOR QUE MAIS VENDEU NO MÊS")
dadosVendedor <- opcaoMostrarDadosVendedor()
para i de 1 ate nVendedor faca
para j de 1 ate nDia faca
totalVenda[i] <- totalVenda[i] + venda[i,j]
fimpara
se totalVenda[i] > valor entao
valor <- totalVenda[i]
idVendedor <- i
fimse
fimpara
escreval("O vendedor que mais vendeu no mês foi o(a):")
escreva(listarVendedor(idVendedor, dadosVendedor))
pause
limpatela
fimprocedimento
inicio
nVendedor <- 10
nDia <- 27
escreva(menu())
fimalgoritmo