Portugol (algoritmo macabro). Me ajudem, por favor?

1. Portugol (algoritmo macabro). Me ajudem, por favor?

Vítor Hugo Vervloet
@VitorHugoRMDS

(usa Linux Mint)

Enviado em 10/12/2011 - 21:49h

Companheirada, preciso da ajuda de vocês. Estive muito ocupado com outras matérias e acabei relaxando em algorítmos. Dediquei-me muito ao meu projeto sob edubuntu e acabei tendo que aprender a metade da matéria estudando na internet.

Preciso entregar esse programa terça feira. Caso contrário, fico reprovado. Já fiz a metade do programa, mas chegou a hora em que eu simplesmente não sei mais o que fazer. Me ajudem?

O programa que ela pede é:

Construa um sistema de vendas de bilhetes de um cinema. O algoritmo deverá:

1) Permitir que o usuário cadastre 3 filmes, sendo que cada filme será exibido em duas sessões (14 ás 17-18 ás 20)

2) O algoritmo deverá tambem cadastrar o tipo de filme, que pode ser 3D, ou comum.

3) Deverá permitir que o usuário ao comprar o bilhete escolha entre pagar meia entrada ou inteiro. Considere que se
o filme for do tipo 3D o preço do bilhete será de R$ 30,00 e se o filme for do tipo comum R$ 20,00.

4) Deverá permitir que o usuário visualize os lugares disponiveis e escolha o lugar que deseja.
O cinema possui 3 salas, onde cada sala possui 20 filheiras com 18 cadeiras em cada filheira.

5) O algoritmo deverá retornar a arrecadação de: cada filme.

O que eu já fiz foi:

algoritmo "cinema"
// Função :
// Autor : Vítor Hugo Vervloet
// Data : 27/11/2011
// Seção de Declarações
var filme:vetor[1..3] de caracter
sala,nomefilme,resposta1:caracter
l,c,opcao,resposta,voltar,voltar1,tipofilme,numsala:inteiro
filme1:caracter

inicio

filme[1]<-("Não há nenhum filme cadastrado nesta sala")
filme[2]<-("Não há nenhum filme cadastrado nesta sala")
filme[3]<-("Não há nenhum filme cadastrado nesta sala")

// menu principal

repita

escreval ("===============================================================")
escreval ("===============================================================")
escreval ("================ ================")
escreval ("================ VENDA DE BILHETES ================")
escreval ("================ ================")
escreval ("===============================================================")
escreval ("===============================================================")
escreval ("")
escreval ("Escolha uma das opções abaixo")
escreval ("")
escreval ("1- Cadastrar um filme")
escreval ("2- Ver os filmes já cadastrados")
escreval ("3- Emitir nota fiscal")
escreval ("4- Ver os lugares disponíveis")
escreval ("5- Sair do programa")
escreval ("")

leia (opcao)
limpatela
escolha (opcao)

//opção de cadastrar o filme

caso 1
repita
escreval ("===============================================================")
escreval ("===============================================================")
escreval ("================ ================")
escreval ("================ VENDA DE BILHETES ================")
escreval ("================ ================")
escreval ("===============================================================")
escreval ("===============================================================")
escreval ("")
escreval ("As salas disponíveis são: sala 1, sala 2 e sala 3. Escolha uma")
escreva ("sala para cadastrar um filme. Digite o número da sala desejada")
escreval ("")
escreval ("")
escreva ("Sala: ")
leia (numsala)
escolha (numsala)

// tela de cadastro de filme na sala 1

caso 1
limpatela
escreval ("===============================================================")
escreval ("===============================================================")
escreval ("================ ================")
escreval ("================ VENDA DE BILHETES ================")
escreval ("================ ================")
escreval ("===============================================================")
escreval ("===============================================================")
escreval ("")
escreval ("Cadastre um filme na sala 1")
escreval ("")
leia (nomefilme)
filme[1]<-(nomefilme)
escreval ("")
escreva ("Digite 1 para continuar o cadastro e 2 para voltar ao menu prin")
escreva ("cipal ")
leia (resposta)
se (resposta=1) entao
voltar1<-(2)
fimse
se (resposta=2) entao
voltar1<-(1)
limpatela
fimse

// tela de cadastro de filme na sala 2

caso 2
limpatela
escreval ("===============================================================")
escreval ("===============================================================")
escreval ("================ ================")
escreval ("================ VENDA DE BILHETES ================")
escreval ("================ ================")
escreval ("===============================================================")
escreval ("===============================================================")
escreval ("")
escreval ("Cadastre um filme na sala 2")
escreval ("")
leia (sala)
filme[2]<-(sala)
escreval ("")
escreva ("Digite 1 para continuar o cadastro e 2 para voltar ao menu prin")
escreva ("cipal ")
leia (resposta)
se (resposta=1) entao
voltar1<-(2)
fimse
se (resposta=2) entao
voltar1<-(1)
limpatela
fimse

// tela de cadastro de filme na sala 3

caso 3
limpatela
escreval ("===============================================================")
escreval ("===============================================================")
escreval ("================ ================")
escreval ("================ VENDA DE BILHETES ================")
escreval ("================ ================")
escreval ("===============================================================")
escreval ("===============================================================")
escreval ("")
escreval ("Cadastre um filme na sala 3")
escreval ("")
leia (sala)
filme[3]<-(sala)
escreval ("")
escreva ("Digite 1 para continuar o cadastro e 2 para voltar ao menu prin")
escreva ("cipal ")
leia (resposta)
se (resposta=1) entao
voltar1<-(2)
fimse
se (resposta=2) entao
voltar1<-(1)
limpatela
fimse
fimescolha
limpatela
ate (voltar1=1)

// tela de exibição dos filmes já cadastrados

caso 2
escreval ("===============================================================")
escreval ("===============================================================")
escreval ("================ ================")
escreval ("================ VENDA DE BILHETES ================")
escreval ("================ ================")
escreval ("===============================================================")
escreval ("===============================================================")
escreval ("")
escreval ("Sala 1: ",filme[1])
escreval ("Sala 2: ",filme[2])
escreval ("Sala 3: ",filme[3])
escreval ("")
escreva ("Pressione ENTER para voltar ao menu principal")
leia (resposta1)
se (resposta1="") entao
limpatela
fimse

//

caso 3
escreval ("===============================================================")
escreval ("===============================================================")
escreval ("================ ================")
escreval ("================ VENDA DE BILHETES ================")
escreval ("================ ================")
escreval ("===============================================================")
escreval ("===============================================================")
escreval ("")
escreval ("Abaixo estão listadas as salas disponíveis e os respectivos")
escreval ("filmes em seção")
escreval ("")
escreval ("Sala 1: ",filme[1])
escreval ("Sala 2: ",filme[2])
escreval ("Sala 3: ",filme[3])
escreval ("")
escreval ("Escolha um dos filmes digitando o número da sala correspondente")
escreval ("")
leia (sala)
escreval ("")
escreval ("Os tipos de filme disponíveis são:")
escreval ("")
escreval ("1- 3D (R$ 30)")
escreval ("2- Comum (R$ 20)")
escreval ("")
escreva ("Escolha um tipo de filme ")
leia (tipofilme)

// sair do programa

caso 5
voltar<-(1)
fimescolha

ate (voltar=1)

fimalgoritmo

me ajudem companheiros?


  


2. Re: Portugol (algoritmo macabro). Me ajudem, por favor?

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 11/12/2011 - 11:34h

Dicas:

1 - Veja a dica abaixo, ela mostra uma IDE para programar em POrtugol e nessa IDE tem uma ajuda sobre a linguagem.

http://www.vivaolinux.com.br/artigo/Portugol-IDE?pagina=2

2 - Quando pedir ajuda sobre códigos, especifique a parte em que está tendo problemas, fica mais fácil obter ajuda.

Abraços


3. Re: Portugol (algoritmo macabro). Me ajudem, por favor?

Vítor Hugo Vervloet
@VitorHugoRMDS

(usa Linux Mint)

Enviado em 11/12/2011 - 18:22h

primeiramente, obrigado por responder

eu consegui fazer o menu 1, 2 e 5 sem problema

o que ta complicando a minha vida é o menu 3, que se refere à venda de ingressos
simplesmente não faço ideia de como fazer esse procedimento de escolha do horário, tipo de filme, se é meia ou inteira, posição da cadeira na sala e o faturamento total

alguém pode me ajudar?
vlw


4. Re: Portugol (algoritmo macabro). Me ajudem, por favor?

Levi Gomes
levi linux

(usa Arch Linux)

Enviado em 11/12/2011 - 18:45h

Boa tarde!
Uma vez fiz um pequeno algoritmo para venda de passagens de ônibus, me lembro muito pouco tanto do algoritmo quanto do Portugol.
Para a venda de cadeiras gerei uma matriz bidimensional com as dimensões do ônibus, no seu caso seriam as dimensões da sala.
A posição da cadeira era dada pelo número dos contadores i,j.
A venda era um pouco problemática, pois tinha que se escolher a cadeira em duas etapas, primeiro localizada a linha, depois a coluna.
Era algo do tipo: caso se efetue a compra de um ingresso, matriz na posição [i,j] recebe V, por exemplo para indicar que a cadeira foi vendida.

matriz[ i][j]<-V;

O detalhe e que antes de confirmar a venda temos que ver se a cadeira não foi vendida. Aí eu verificava se matri[ i][j]==V;

Para a arrecadação eu gerei um contador que era atualizado a cada venda.

Boa sorte!




5. Re: Portugol (algoritmo macabro). Me ajudem, por favor?

Vítor Hugo Vervloet
@VitorHugoRMDS

(usa Linux Mint)

Enviado em 11/12/2011 - 22:42h

irmão, muito obrigado pelas dicas

já havia pensado no contador para registrar o valor das vendas, mas agora ficou mais claro

vou ver se consigo terminar isso

brigadão






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts