PR1022804 2024 2 AULA14

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar

1 Trabalho Final

INTRODUÇÃO
O trabalho final visa desenvolver habilidades de pensamento e programação de computadores utilizando os recursos apresentados em aula com a linguagem C. Neste semestre o trabalho final, que corresponde a Unidade 3, tem peso 1. Portanto, os alunos terão que desenvolver seus programas, e, no final, quem somar 17 pontos ou mais nas três avaliações estará aprovado. Não realizar e/ou não apresentar o trabalho no prazo estipulado pelo final do semestre resultará em nota 0 (zero).


INFORMAÇÕES
  • As equipes serão formadas por até 3 alunos;
  • Os temas dos trabalhos podem ser escolhidos abaixo;
  • A nota do trabalho final corresponde a Avaliação Prática 1 - AP1 (unidade 3); e
  • A apresentação do trabalho vai ser de forma presencial mostrando as funcionalidades do programa.


1.1 Requisitos do programa C

O programa em linguagem C deve necessariamente fazer uso
  1. Comando swith;
  2. Lista encadeada;
  3. Ponteiros;
  4. Alocação Dinâmica de Memória; e
  5. Funções para tratamento de arquivo.


Nota
Os dados (informações) devem ser alterados na memória e só ao final gravados no arquivo com os dados, ou seja, você deve abrir o arquivo e copiar as informações para memória e no final salvar os dados no mesmo arquivo no computador.


Exemplo da estrutura (automóveis)
struct TCarro {
   char placa[9];
   char marca[20];
   char modelo[30];
   char preco;
   struct TCarro *prox;
};
Exemplo do conteúdo do arquivo de texto (carros.dat)
>>Bloco de Notas->Arquivo->Abrir->carros.dat
AAB-1248 GM CORSA 18000
PTY-6548 VOLKS GOL 21500
MTB-6587 FIAT UNO 15000
AAB-8787 FORD FUSION 50000
LTX-1234 VOLKS FUSCA 8790

1.2 Requisitos do negócio

Implemente um programa em linguagem C que faça o cadastro de estoque simplificado de produtos ou materiais de um comércio varejista. O programa deverá ter necessariamente um menu onde se poderá fazer a escolha pelas opções disponíveis em loop contínuo, mas com opção de saída. Deverá ler de um arquivo de dados informações sobre os produtos (já cadastrados), poderá acrescentar novos produtos do negócio (tema) escolhido, editar um produto, excluir produto e buscar um produto específico pelo código. Deverá ainda ter as opções de ordenar (por código) e imprimir a lista na tela de todos os produtos na forma de colunas. Também deverá gravar as alterações no mesmo arquivo de dados lido/criado. Pra terminar, contar com uma opção estatística dizendo qual a quantidade de produtos, o maior, o menor e o valor médio dos produtos cadastrados e outras informações estatísticas pertinentes.

1.3 Temas de negócios

Sugestões de temas
  • Farmácia
  • Motos: Lucas G., Maria Eduarda e Yasmin
  • Padaria: Lucas R. e Erasmo
  • Roupas (malharia, confecção)
  • Verdureira: Luigi B. e Fernanda G.
  • Peças (para automóveis)
  • Bicicletas: José, Rubens e Sarah
  • Tintas: Gabriel O.
  • Papelaria: Daiane e Pedro
  • Livraria: Gustavo V.
  • Outro (negócio)


Atenção
As equipes devem enviar um e-mail com a escolha do tema e nome dos integrantes.
A ordem da escolha é a chegada do e-mail na minha caixa de entrada.
Não será aceito escolhas de temas tardios nem repetidos.

1.4 Apresentação

A apresentação vai ser realizada por um dos integrantes da equipe que será escolhido pelo professor.

  • Data final para apresentação: 20/02/2025;
  • Apresentação presencial: 20min; e
  • Todos os membros da equipe devem estar presentes.

1.5 Critérios de avaliação

  1. Cumprimento dos requisitos; (50%)
  2. Aparência e facilidade de acesso ao menu e as informações; (20%)
  3. Clareza na apresentação das funcionalidades; (20%)
  4. Entrega do código fonte devidamente comentado. (10%)

2 Dicas

  1. Como usar o scanf para strings com espaços: https://wiki.portugal-a-programar.pt/dev_geral/c/scanfparastrings/