LA – Ling C – Aula 11A – Entrega de Projeto

Entrega de Projeto (em C)

BOB’s PIZZARIA (Controle para Entrega de Pizzas)
– Criacao em 21/10/2018;
– Entrega final via Canvas: 03/12/2018 (Segunda-Feira), até as 19:00;
– A entrega do trabalho podera valor ate 1,0 em media final (ate completar nota 5)

Observações gerais:

– Esse documento poderá ser atualizado sem aviso prévio, para melhora do conteúdo, conforme dúvidas surgidas;
Grupos de até 4 (quatro) pessoas; (Caso tenha mais, os últimos da ordem da lista serão desconsiderados);
– Não será permitida cópias entre trabalhos; (caso haja suspeita de copias, ambos ou mais serão penalizados com nota zero)
– Entrega em arquivo texto (extensão .c), e caso necessário juntamente com bibliotecas e outros arquivos necessários para que o programa possa ser compilado no Dev-c++ padrão utilizado pela faculdade ou pela ide Codeblocks;
– Identificar no trabalho os nomes completos dos integrantes, com RA, em ordem alfabética;
– Este trabalho NÃO ESTA na composição de média da disciplina, sendo um trabalho extra;
– Caso alguns dos alunos não esteja devidamente matriculado no seu devido curso, o professor não poderá divulgar as notas do trabalho para nenhum dos alunos do grupo até aprovação do coordenador;

Observações sobre o trabalho:

– Trabalhar com estruturas e arquivos vistos em sala de aula;
– Conter menu principal para a chamada das funcionalidades;
– Fazer as funcionalidades por meio de funções;
– Você pode inserir/alterar as estruturas dos arquivos conforme necessidade para facilitar alguns pontos em programação;
– Entrega será via CANVAS, porém no dia da entrega, os alunos deverão fazer a apresentação do mesmo;

Entrega final deverá conter:
– Arquivo(s) C, identificando em comentário a identificação do grupo com nome completo e RA, em ordem alfabética, no arquivo que contem a função MAIN.;
– O mesmo deve estar devidamente comentado e indentado, sendo necessário entregar quaisquer bibliotecas extras parar que seja feita a compilação do projeto.

Para a postagem no EAD:
Compactado em formato zip, caso tenha mais de um arquivo, e em um arquivo único o arquivo não deve ser compactado.

Cenário:

A empresa MASTER-PIZZA’S ENTREGAS RAPIDAS LTDA, que atua no ramo de vendas de pizzas para Jundiaí e região e está automatizando o pedido de pizzas de seus clientes. Para isso Bob, dono da pizzaria, já trabalha da seguinte maneira:

Bob possui 15 tipos de pizzas, sendo elas doces e salgadas. Como segue sempre a preparação pelo cardápio, os ingredientes possuem uma ordem e quantidade. As mesmas também possuem os tamanhos Média, Grande e Gigante. Todas pizzas por padrão possuem a massa com o tamanho escolhido pelo cliente e massa de tomate. Atualmente, a tabela de produtos de Bob possui as seguintes pizzas:

Cod

Tipo

Nome da Pizza

Ingredientes

Vr Custo Padrão

Vr Venda Tam Médio

Vr Venda Tam.Grande

Vr Venda Tam Gigante

01

Salgada

ALHO E ÓLEO

Alho frito picado, parmesão ralado e azeitonas

22,90

02

Salgada

ALLICI

Alicci importado, rodelas de tomate, parmesão e azeitonas

28,90

03

Salgada

ATUM

Atum, cebola e azeitona

22,90

04

Salgada

BACON

Bacon coberto com muzzarela e azeitonas

26,90

05

Salgada

BERINJELA

Berinjela, cobertura com muzzarela, manjericão e parmesão

23,90

06

Salgada

CAIPIRA

Frango desfiado, coberto com catupiry e milho verde e azeitonas

26,90

07

Salgada

CALABRESA

Linguiça calabresa, cebola e azeitonas

19,90

08

Salgada

CINCO QUEIJOS

Muzzarela, parmesão, catupiry, gorgonzola e provolone

29,90

09

Salgada

ESCAROLA

Escarola refogada, muzzarela e azeitonas

24,90

10

Salgada

EXECUTIVA

Milho Verde, catupiry e azeitonas

22,90

11

Salgada

PERUANA

Atum, cebola, muzzarela e azeitonas

26,90

12

Salgada

PALMITO

Palmito com muzzarela e azeitonas

26,90

13

Doce

BANANA

Banana fatiada com, cobertura com leite condensado e canela em pó

21,90

14

Doce

BRIGADEIRO

Chocolate, leite condensado e chocolate granulado

23,90

15

Doce

PRESTIGIO

Chocolate coberta com côco

23,90

A maioria dos clientes de Bob são atendidos por telefone. Como Bob já possui experiências anteriores em atendimento de pizzaria, ele gostaria que o atendimento funcionasse da seguinte maneira: para facilitar a identificação, Bob pede ao cliente que passe o número de telefone fixo e caso o cliente já esteja cadastrado, Bob verifica as ultimas pizzas pedidas e as indica outros sabores. Caso o cliente não tenha cadastro, Bob cadastra o cliente com os seguintes dados: CODIGO (automático do sistema), TELEFONE FIXO (com DDD e NÚMERO), TELEFONE CELULAR (com DDD e NÚMERO), NOME DO CLIENTE, ENDEREÇO, NUMERO, COMPLEMENTO, BAIRRO, CIDADE, UF e CEP.

Depois de encontrado ou cadastrado o cliente, BOB solicita ao cliente qual a(s) pizza(s) escolhida(s), juntamente com o(s) tamanho(s), a qual o sistema deve gerar um pedido (contendo NÚMERO DO PEDIDO, DATA DO PEDIDO, HORA, CLIENTE e os ITENS (pizza(s)) que o pedido contém)

Além do VALOR TOTAL que deve fornecer ao cliente, o mesmo precisa saber se o cliente irá precisar de troco para que o motoboy leve o dinheiro contado ao cliente (O sistema faz a conta de quanto de troco o motoboy precisa levar para o cliente). O sistema também deve fazer uma previsão de quanto tempo a(s) pizza(s) será(ão) entregue(s). Em média, o tempo de espera é de 50 minutos após o pedido ser feito, independente da quantidade de pizzas.

Observação: A pizzaria não trabalha com vendas de bebidas (refrigerantes, sucos e cervejas), pois Bob possui também outra empresa de bebidas, a qual os clientes possuem descontos especiais na compra de pizzas;

Os valores das pizzas são calculados com base no Valor Padrão de Custo, sendo:
Tamanho Médio para Venda: 15% a mais do Valor Padrão de Custo;
Tamanho Grande para Venda: 25% a mais do Valor Padrão de Custo;
Tamanho Gigante para Venda: 35% a mais do Valor Padrão de Custo;

Esses valores de custo devem ser apresentados em tempo de execução pelo programa, pois tem sempre essa porcentagem fixa a partir do Valor Padrão de Custo.

Para futura implementação, baseado em coordenadas geográficas, o sistema irá calcular a distancia entre a pizzaria e o local que o cliente se encontra e terá melhor precisão do tempo de entrega, baseando-se também pelo trafego de veículos. (Não será implementado nessa primeira versão)

Bob precisa fazer a implementação de um sistema em sua pizzaria e para isso, contratou você para que desenvolva o sistema, tendo as seguintes funcionalidades:

– Cadastro e manutenção dos clientes* que estarão fazendo os pedidos de pizzas:

Estruturas de arquivos sugeridos para cadastros dos clientes:
Arquivo: Clientes (CODIGO (automático do sistema) do tipo inteiro, TELEFONE FIXO (com DDD e NÚMERO) do tipo char[], TELEFONE CELULAR (com DDD e NÚMERO) do tipo char[], NOME DO CLIENTE do tipo char[], ENDEREÇO do tipo char[], NUMERO do tipo char[], COMPLEMENTO do tipo char[], BAIRRO do tipo char[], CIDADE do tipo char[], UF do tipo char[] e CEP do tipo char[])

– Cadastro e manutenção das pizzas* que a Pizzaria prepara. Um fato importante é que a pizzaria está em expansão, devendo Bob aumentar a quantidade de sabores para melhor atender seus clientes.

Estruturas de arquivos sugeridos para cadastros de pizzas:
Arquivo: Pizzas (CODIGO (automático do sistema) do tipo inteiro, TIPO_PIZZA do tipo char[], DATA_CRIACAO do tipo estrutura, DATA_INATIVACAO do tipo estrutura, NOME_PIZZA do tipo char[], INGREDIENTES do tipo char[], VALOR_CUSTO do tipo float)

– Movimentação dos Pedidos* dos clientes, onde serão controlados os pedidos que os clientes estão fazendo.

Estruturas de arquivos sugeridos para a movimentação dos Pedidos:

Arquivo: Pedido (CODIGO_PEDIDO do tipo inteiro (automático do sistema), DATA do tipo estrutura, HORA do tipo estrutura, COD_CLIENTE do tipo inteiro, TOTAL_PEDIDO do tipo float (automático somando todos os SUB-TOTAIS)

Arquivo: ItensPedido (CODIGO_PEDIDO do tipo inteiro (mesmo que o do Pedido que está relacionado, ITEM do tipo inteiro (automático sendo auto-numeração), CODIGO_PIZZA do tipo inteiro, TAMANHO do tipo char, QUANTIDADE do tipo float, VALOR_UNITARIO do tipo float, SUB_TOTAL do tipo float (calculado pelo sistema, sendo QUANTIDADE * VALOR_UNITARIO)

Modelo Sugerido (Não é obrigatório utilizar o modelo abaixo):
der

Detalhamentos de funcionalidades:

– Um cliente pode fazer pedidos de até ½ sabor por pizza (do mesmo tamanho), não sendo possível dividir em mais de 2 partes uma única pizza. Fazendo esse tipo de pedido, será cobrado o maior valor da pizza escolhido;

– Depois de escolhida a pizza, não há possibilidade de alterar o pedido. Caso o cliente insista em fazer a alteração, é necessário fazer o cancelamento do pedido por completo e gerar um novo pedido para o cliente. O funcionário que estará atendendo o mesmo deverá deixar o cliente ciente de que o horário de entrega também irá ser alterado, pois irá ser colocado ao final da fila, sendo considerado um novo pedido.

– Cadastro e manutenção das Clientes*: Necessário implementar as rotinas de inclusão, alteração, consulta e exclusão dos mesmos; As consultas devem ser feitas pelo códigos (Código do cliente) e pelo número de telefone fixo; As exclusões não podem acontecer caso o cliente já tenha feito algum pedido;

– Cadastro e manutenção de Pizzas*: Necessário implementar as rotinas de inclusão, alteração, consulta e exclusão dos mesmos; Para a exclusão de uma pizza é somente necessário preencher o campo DATA_INATIVACAO (exclusão lógica). Nas consultas de pizzas, caso o registro contenha este campo preenchido, é necessário não aparecer nas consultas. (exclusão lógica). Consultas devem ser feitos pelo código; As pizzas do cardápio já devem estar previamente cadastradas através de uma rotina (função para fazer a inserção das pizzas padrão).

– Movimentação de Pedidos*: Necessário implementar as rotinas de inclusão, consulta (pelo CODIGO_PEDIDO), e exclusão. Nos pedidos, o sistema deve calcular o troco do cliente caso necessário, o tempo previsto para entrega, total do pedido do cliente.

Os resultados esperados que a o Bob deseja são:

– Relatório de clientes, com todos os dados cadastrais de clientes;
– Relatório de clientes, com CODIGO, NOME e quantidade de clientes cadastrados; (Parametrizado por período de data inicio e data fim do cadastro);
– Relatório das pizzas, com todos os dados cadastrais da pizza, incluindo o calculo dos valores vendas (médio, grande e gigante);
– Relatório de pedidos entre um período, com CODIGO_PEDIDO, DATA, CLIENTE E TOTAL DO PEDIDO, contendo um total geral no fim do relatório; (Parametrizado por data inicial e final do pedido);
– Qual a pizza que possui maior receita (incluindo todos os tamanhos);
– Qual a pizza que possui menor receita (incluindo todos os tamanhos);

Tabela de pontuação de funcionalidades do sistema (Pontuação somente é divulgada no dia da apresentação):

Item

Categoria

Funcionalidade

Pontuação

01

Gerais

01

Menu principal e sub-menus separados por cadastros e funcionalidades (inclusão, alteração, consulta e exclusão)

02

Cadastros e Manutenções

02

02.01

Clientes (toda manutenção do cliente)

03

02.02

Pizzas (toda manutenção de pizzas)

03

Movimentação

04

03.01

Movimentação de Pedidos

04

Funcionalidades

05

04.01

Na manutenção do cliente, verificação da exclusão do cliente referente a pedidos já efetuados

06

04.02

Rotina para inclusão automática das pizzas padrões

07

04.03

Na movimentação de pedidos, inclusão automática do número do pedido e a da data atual e hora atual automática do sistema

08

04.04

Na movimentação de pedidos, calculo do troco do cliente

09

04.05

Na movimentação de pedidos, previsão do tempo necessário para entrega da pizza

05

Relatórios

10

05.01

Relatório de clientes, com todos os dados cadastrais de clientes;

11

05.02

Relatório de clientes, com CODIGO, NOME e quantidade de clientes cadastrados; (Parametrizado por período de data inicio e data fim do cadastro);

12

05.03

Relatório das pizzas, com todos os dados cadastrais da pizza, incluindo o calculo dos valores vendas (médio, grande e gigante);

13

05.04

Relatório de pedidos entre um período, com CODIGO_PEDIDO, DATA, CLIENTE E TOTAL DO PEDIDO, contendo um total geral no fim do relatório; (Parametrizado por data inicial e final do pedido);

14

05.05

Qual a pizza que possui maior receita (incluindo todos os tamanhos);

15

05.06

Qual a pizza que possui menor receita (incluindo todos os tamanhos);

.

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s