Você está na página 1de 2

Algoritmos e Estruturas de Dados – 2020/2

Prova 1
Professor: Dr. Max E. Vizcarra Melgar

Indicações gerais:

• Prova individual, qualquer indício de cola será nota 0. Erros pouco prováveis com a mesma metodologia
poderão ser considerados como indício de plágio.
• A prova terá uma duração máxima até 23:59h de 20/09/21.
• Em caso de envio com atraso, será descontado 1 ponto a cada 5 minutos de atraso.
• A resolução prova deverá ser feita em um arquivo .cpp por cada questão, não serão considerados envios em
outros formatos como vários .cpp ou .hpp ou .dev por questão. O nome do arquivo .cpp deverá contar com o
seguinte formato: matricula_p1_qX.cpp, onde matricula é o número de matrícula e X é o número da
questão. Arquivos com formatação de nome diferente não serão corrigidos. Importante, para questões
de POO, use o método class dentro do único arquivo .cpp (não crie outro arquivo .cpp).
• Os arquivos .cpp contendo a resolução deverão ser enviados um por um (não os compacte em um .7z ou
.rar) via via anexo na aba Trabalho, no trabalho com título Prova 1, pelo Teams. Confira se o arquivo que
você está enviando está compilando e realmente é o que você quer enviar. Envios de arquivos errados ou
que não compilem terão nota automática de 0.
• Todo arquivo .cpp enviado deverá contar com o cabeçalho (substitua XXX pelo seus dados):
/* Prova 1 – Algoritmos e Estruturas de Dados 2021-1
Prof. Dr. Max E. Vizcarra Melgar
Aluno: XXX
Matrícula: XXX
Questão: XXX */

QUESTÃO 1
Usando arranjo de estruturas crie um cadastro de objetos de mercado.
O sistema deverá oferecer para o usuário a opção de criar o cadastro para usar esse cadastro ou ler um cadastro
já preenchido de um arquivo “relatório.txt” para usar como controle de vendas.

Na primeira vez que o programa for executado, o sistema deve pedir o nome do objeto, o custo unitário e
estoque disponível e armazenar esses dados com um ID (número inteiro para cada um dos objetos) em um
arquivo “relatório.txt” (sugiro que salve a cada 4 linhas do .txt os dados de cada objeto: uma linha para o ID,
outra linha para o nome, outra linha para o custo unitário e outra linha para a quantidade de objetos em estoque).
Você pode conferir se é a primeira vez que o programa é executado verificando se existe o arquivo
“relatório.txt” na pasta do .cpp.

Após o primeiro cadastro executado anteriormente, o sistema deverá solicitar ao usuário as seguintes ações em
loop infinito com a opção 4 para sair: 1) Venda de produto; 2) Fornecimento de estoque; 3) Relatório gerencial,
4) Sair:

Caso o cliente solicite a opção 1, o sistema deve mostrar os produtos em estoque com os dados do objeto (ID,
nome, custo unitário e quantidade de itens em estoque). Na sequência, o sistema deve pedir o ID do produto a
ser vendido e a quantidade de objetos a ser vendido (verifique que não seja possível solicitar vender mais
quantidade de objetos do que os que estão no estoque. O sistema deverá criar um arquivo chamado
“faturamento.txt” com os dados dos objetos vendidos (4 linhas) e a quantidade de itens vendidos no lugar do
estoque. Finalmente o sistema também deve atualizar o arquivo “relatório.txt” debitando da linha de itens de
estoque a quantidade de objetos vendidos [3 pontos].

Caso o cliente solicite a opção 2, o sistema deve mostrar os produtos em estoque com os dados do objeto (ID,
nome, custo unitário e quantidade de itens em estoque). Na sequência, o sistema deve pedir o ID do produto a
ser cadastrado. O sistema deve atualizar o arquivo “relatório.txt” [1 ponto].

1
Algoritmos e Estruturas de Dados – 2020/2

Caso o cliente solicite a opção 3, o sistema deve mostrar os produtos em estoque com os dados do objeto (ID,
nome, custo unitário e quantidade de itens em estoque) e na sequência os dados de venda que estão no arquivo
“faturamento.txt”. Caso o usuário chame essa opção sem ter nenhuma venda até o momento, o sistema deverá
informar que nenhuma venda foi efetuada até o momento [0,6 pontos].

Caso o cliente solicite a opção 4, o sistema deve sair e salvar os 2 arquivos .txt. Em uma próxima utilização do
programa, um novo arquivo chamado “faturamento.txt” deverá ser criado sobre escrevendo o arquivo salvo
produto do caso 1) [0,4 pontos].

QUESTÃO 2
Usando classes e POO, escreva um programa que crie um perfil genérico de funcionário de uma empresa com
os dados “nome”, “idade” e “sexo” (todos os dados deverão ser privados. Após esse cadastro inicial, crie os
seguintes perfis (use herança): “TI”, “Financeiro” e “Suporte”. Para cada um desses perfis, adicione mais 2
dados (int ou string) que você julgue que se encaixam em cada perfil de maneira única, ou seja, um dado
específico para cada perfil [3 pontos].

No main(), usando um arranjo ou vetor ou ponteiro do objeto, solicite que o usuário preencha as informações
para 3 perfis do tipo TI, Financeito e Suporte. No final do preenchimento, mostra a impressão com todos os
dados. Sugiro usar métodos para poder acessar as variáveis privadas [2 pontos].

Você também pode gostar