O SISTEMA DE VENDA DE PASSAGENS DE ÔNIBUS EM LINGUAGEM C
Por: Rodrigo.Claudino • 29/11/2018 • 2.307 Palavras (10 Páginas) • 623 Visualizações
...
O programa deve utilizar um valor base para as passagens de ônibus, este valor será manipulado nas formas de pagamento, mas isso será explicado a seguir.
O software deve permitir três formas de pagamento ao cliente: inteira, meia e gratuidade. A meia entrada é oferecia a estudantes e o programa deve somente manipular o valor base da passagem para que o cliente pague metade de valor base. As gratuidades são um caso específico que o software deve lidar. O programa deve permitir somente a venda de duas gratuidades por viagem, informando o usuário e impedindo a venda caso as gratuidades de uma viagem estejam esgotadas.
Utilizando os menus, o software deve disponibilizar ao usuário a escolha do destino, data, hora, assento e forma de pagamento, tudo através de opções nos menus.
Após todo o processo de venda, o programa deve emitir uma nota com todos os dados da compra.
Durante a escolha de assentos, há algumas peculiaridades que o programa deve lidar para evitar que erros ocorram e que isso prejudique o processo da venda atual e de todas as outras vendas posteriores. O programa não deve permitir que o usuário escolha assentos já ocupados, portanto, antes de permitir que o usuário escolha o assento, o programa deve fazer uma verificação para saber se o assento esta disponível ou não, além e demonstrar visualmente a disposição de assentos para o usuário escolher sua poltrona.
O programa deve armazenar, ao final de cada venda, o valor adquirido na venda para que, ao finalizar o programa e encerrar o caixa, seja emitido um valor com o balanço de vendas do dia.
---------------------------------------------------------------
- CÓDIGO-FONTE
2.1 VARIÁVEIS
Para armazenar os diversos valores necessários para realizar as operações, o programa necessita de variáveis de diversos tipos para guardar os diversos valores.
[pic 1]
Fig. 1 declaração de variáveis
Para capturar as escolhas dos usuários, o programa utiliza variáveis que vão armazenar os valores digitados pelo usuário após as opções do menu serem demonstradas. Essas variáveis são: escolha, p e polt. O valor dessas variáveis será utilizado para verificar qual parte do código seguinte será executado.
As variáveis polt_1[40] e polt_2[40] são utilizadas para servirem e referência para as poltronas. Cada vetor de 40 posições é referente a um ônibus de 40 lugares que será utilizado para realizar uma viagem. Cada posição desse vetor é referente a um assento no ônibus, isso é necessário para verificar futuramente se o assento está disponível ou não. Esse sistema de verificação de disponibilidade será explicado mais à frente.
As variáveis grat_1 e grat_2 são as responsáveis pelo controle de gratuidades de cada viagem. Como cada viagem tem um total de duas gratuidades disponíveis, essas variáveis são iniciadas com valor “2” e, assim que as vendas são concretizadas, seu valor vai diminuindo em um, até que as gratuidades sejam esgotadas. Esse sistema será explicado mais detalhadamente na sessão de pagamento.
As variáveis pass_1 e pass_2 são parecidas com as variáveis de gratuidades. O objetivo dessas variáveis é manter o controle das passagens totais, para que, futuramente, o software possa fazer uma verificação antes de todo o processo de escolha para que, caso não haja passagens disponíveis, o sistema interrompa prontamente o processo de venda, sem a necessidade do usuário passar por todas as etapas antes de cancelar a venda.
Além das variáveis utilizadas no processo de venda, o software utiliza variáveis para armazenar o valor após a venda, para armazenar esse valor, o software utiliza a variável caixa. Para o valor base da passagem, o programa utilizar a variável pass_valor, que possui valor fixo 6.
Para explicar a parte do código em que os vetores são zerados, é necessário explicar o sistema de verificação de disponibilidade de poltronas. Para identificar a disponibilidade da poltrona, o software adota os valores 0 e 1. Para o programa, a poltrona está disponível quando sua posição referente no vetor é igual a zero e, de modo contrário, quando o valor é igual a 1, o programa assume que o assento está ocupado. Como no inicio do programa todos os valores estão disponíveis, o programa utilizar um laço for do tamanho do vetor para zerar todos os valores destes vetores, tornando, assim, todos os assentos disponíveis.
2.2 MENU
Todo o processo de venda da passagem é baseado em disponibilizar opções para que o usuário escolha qual procedimento seguir.
De início, é apresentado ao usuário um menu com duas opções: seguir em uma nova compra, ou fechar o caixa e finalizar o programa.
Depois de apresentar as opções ao usuário, o software espera que o usuário digite a opção desejada e captura essa escolha através das variáveis de controle. Após capturar esse valor, o software deve verificar qual parte do código deve executar para dar prosseguimento no processo. Para esta função, o software utiliza de estruturas Switch, onde, dependendo de um valor específico, o programa executa determinada parte do código. Essa estrutura será utilizada durante todo o processo.
[pic 2]
Figura 2. menu inicial
2.3 DESTINO
Após o usuário decidir realizar uma nova compra, o programa segue para as partes do código onde o usuário escolherá os detalhes da viagem.
De início, o usuário deve escolher o destino desejado. As opções disponíveis estão distribuídas no menu para que o usuário somente escolha a opção equivalente ao destino desejado, sem precisa digitar nada mais que isso, evitando alguns erros que possam prejudicar o processo.
[pic 3]
Figura 3. Escolher destino
O código acima possui somente um destino a fins de exemplificação. É possível visualizar a estrutura switch executando o menu de destino caso o valor recebido do menu anterior seja 1.
2.4 DATA
Após a escolha do destino, o programa segue para o próximo passo: a escolha da
...