Laboratório 5

Modificação: O programa deve ser feito para receber quatro argumentos passados através da linha de comando, ou seja, ele deve ser executado com o seguinte comando (linux).:

  • $ nome_programa nome_arquivo_cliente nome_arquivo_produto nome_arquivo_pedido nome_arquivo_numero_pedido

em que:

  • nome_arquivo_cliente é o nome do arquivo que contém informações sobre os clientes como descrito abaixo;
  • nome_arquivo_produto é o nome do arquivo que contém as informações sobre os produtos como descrito abaixo;
  • nome_arquivo_pedido é o nome do arquivo que contém as inforações sobre os pedidos como descrito abaixo;
  • nome_arquivo_numero_pedido é nome de um arquivo contendo um inteiro com o número do pedido para o qual deve ser gerado o relatório.

Clique aqui para aprender a usar argumentos na função main() e receber estes vetores de caracteres digitados pelo usuário logo na chamada do programa.

Relatório de pedidos de um mini-mercado – Um mini-mercado que possui computadores bem antigos com pouca memória secundária e RAM optou por usar arquivos texto ao invés de um banco de dados para manter seus registros de pedidos de clientes. Neste mercado, apenas as entidades cliente e produto foram consideradas relevantes. Quanto ao cliente, só precisavam saber seu código e nome e, quanto ao produto, seu código, descrição e preço. Para que pudesse ser registrado cada produto comprado por um cliente, surgiu uma nova entidade chamada pedido, na qual armazenava-se seu código, cliente que realizou o pedido, produto comprado e quantidade do mesmo. A esquematização destas entidades é apresentada a seguir:

CLIENTE                  PRODUTO                     PEDIDO
código do cliente        código do produto           código do pedido
nome do cliente          descrição do produto        código do cliente
                         preço do produto            código do produto
                                                     quantidade do produto

Cada registro das tabelas (por exemplo, um dado cliente na tabela cliente) constitui uma linha no arquivo texto e cada campo de um registro (por exemplo, código e nome do cliente) é separado por uma tabulação. Tem-se a seguir um exemplo de composição dos arquivos cliente.txt, produto.txt e pedido.txt:

CLIENTE.TXT
1	Joao Oliveira
2	Maria das Gracas Pereira


PRODUTO.TXT
1	Cerveja Skol em lata 350ml	0.93
2	Lasanha Sadia	5.25
3	Coca-cola 2 litros	2.10
4	Pao frances	0.18
5	Danete	1.60
6	Garrafao de vinho Chapinha	18.20


PEDIDO.TXT
1	1	1	12
1	1	6	1
2	2	2	1
2	2	4	4
2	2	5	2
3	1	3	3

Escreva um programa que recebe a localização destes três arquivos e apresenta relatórios de pedidos para este mini-mercado. O programa deve receber um um número correspondente ao código de um pedido e apresentar um relatório deste pedido como a seguir:

Para que o SuSy possa corrigir corretamente seu programa, apresente a saída formatada da seguinte forma:

Dicas úteis:

Observações: