Você está na página 1de 6

LISTA DE EXERCÍCIOS I – 4º Bimestre – LP1.

Arquivos

Professor: Jefferson Santos N.º:

Aluno: Turmas: 1º BI

Arquivos-Texto

1. Faça um programa em C utilizando arquivos, que realize as seguintes operações: Primeiro


o arquivo será aberto para a escrita, em seguida grava-se strings (nomes de clubes de futebol) nele.
Por fim, o arquivo é fechado e novamente aberto para a leitura e impressão dos dados lidos na tela.

2. Escreva um programa em C que abra um arquivo texto, lê strings e conta o número total
de caracteres presentes neste arquivo. Imprima a quantidade de caracteres existentes neste arquivo
na tela de saída.

3. Desenvolver um programa em C para inserir um conjunto de nomes próprios em um


arquivo texto, conte e imprima quantos caracteres existem em cada nome lido, desconsiderando os
espaços em branco. Imprima na tela cada nome lido e sua respectiva quantidade de caracteres.

4. Crie um programa chamado CONTAS que: solicita o nome de um arquivo para o usuário; solicita
uma string para o usuário; abre e lê este arquivo, informando no final quantas ocorrências desta
string fornecida pelo usuário existem neste arquivo.

5. Faça um programa do tipo "sed ou awk" (Unix). Dado um arquivo texto e duas palavras (original e
substituída), substitua todas as ocorrências da palavra original colocando no seu lugar a palavra a
ser substituída. Lista na tela o arquivo após a substituição.

6. Escreva um programa que leia uma lista de nomes e idades de um arquivo texto. Prepare
um arquivo para ser lido com nomes e idades. Apresente os dados lidos em forma de tabela na tela.

7. Desenvolva um programa em C que implemente uma função le_dados_do_teclado() que lê


um conjunto de n inteiros da entrada padrão e escreve em um arquivo texto. O número de inteiros
lidos da entrada padrão deve ser informado pelo usuário, mas não deve ser gravado no arquivo.
Escreva também a função escreve_dados_na_tela() que lê um conjunto de inteiros de um arquivo
texto e escreve na saída padrão.

8. Desenvolva um programa em Linguagem C que crie um arquivo texto chamado


AGENDA.DAT contendo os campos NOME e TELEFONE e grave no mesmo os 10 registros lidos
pelo teclado. Imprima na tela o conteúdo do arquivo.

9. Fazer um programa para ler registros com os campos nome, endereço, telefone, email e
salário. Armazene estes registros em um arquivo através de uma rotina de inserção e crie outro
módulo para ler os dados do arquivo original e guardar em outro arquivo (tipo texto) o nome e o
salário de cada registro cadastrado e o valor total dos salários.

10. Faça um programa compactador de arquivos: O arquivo a ser compactado deve conter
somente letras de a..z  e  A..Z e ter no máximo 1000 bytes de tamanho. Este programa solicitará um
nome de arquivo; em seguida este arquivo será lido e será gerado pelo programa um arquivo
compactado, usando o nome original com a extensão .cpt. A lógica usada para compactar é a
seguinte: cada vez que houver uma seqüência de caracteres repetidos no arquivo original, a
seqüência gerada no arquivo compactado será o caracter seguido do número de repetições desta
seqüência.

Ex:    bcaaaadefg  bca4defg


Arquivos Binários ou Tipados

11. Faça um programa que receba um vetor de registros (placa, modelo, cor, ano) e grave estas
informações em um arquivo. O vetor pode ter 20 registros, mas se a quantidade de registros válida
for menor, haverá um registro com placa “fim”. Imprima na tela os registros armazenados neste
arquivo, sempre que se utilizar o flag acima.

12. Faça um programa que grave os dados de um arquivo em um vetor de registros. Considere que o
arquivo tem no máximo 20 registros. Os registros devem conter informações de uma Banda de Rock
(código, nome, nacionalidade, integrantes). Imprima os dados armazenados na saída padrão.

13. Desenvolver um programa capaz de controlar os dados de veículos em um estacionamento de


andares. Cada veículo é identificado por um número-chave, pela placa e pelo box (número e andar)
onde o veículo estará estacionado. Utilize módulos para cadastrar os veículos, pesquisar e listar os
veículos por andar; pesquisar e listar os dados de um veículo de acordo com a placa informada.

14. Considere o arquivo DETRAM, que é composto pelos campos placa, marca e ano. Desenvolva um
programa que implemente um menu com os seguintes módulos:

a) Criação do arquivo (novo ou leitura);


b) Inserir dados de forma seqüencial;
c) Alteração de um registro específico;
d) Sair.

15. Desenvolva um programa que gere um arquivo de peças, com a seguinte estrutura: Nome de Peça,
cor, quantidade, tamanho e deletado. O campo “Deletado” será um campo lógico, setado
inicialmente para falso, informando se o registro está ou não deletado do arquivo.

a) Desenvolva um módulo para deletar um, ou mais, registro do arquivo de peças. A deleção
consiste em setar o campo “deletado” do arquivo para verdadeiro.
b) Percorrer o arquivo de peças imprimindo somente as peças que não foram deletadas.
c) Elimine fisicamente os registros do arquivo de peças que foram marcadas para deleção, isto é,
onde o campo “Deletado” está setado para verdadeiro.

16. Uma empresa decidiu fazer um levantamento sobre o perfil dos candidatos que se
apresentarem para o preenchimento de vagas de seu quadro de funcionários. Para cada candidato,
serão solicitados o nome, o sexo, a idade e se tem ou não experiência de serviço. Escreva um
programa que:

a) Cadastre os candidatos em um arquivo CANDIDATOS até nome = “Fim”;


b) Imprima a quantidade de candidatos do sexo feminino e masculino;
c) Imprima a idade média dos homens que já tem experiência no serviço,
d) Imprima a porcentagem dos homens com mais de 45 anos, com relação ao total de homens.
e) Imprima o número de mulheres com idade inferior a 30 anos e com experiência de serviço;
f) Imprima a menor idade entre as mulheres que já têm experiências no serviço.

OBS: estruture as impressões requeridas na forma de um menu interativo.

17. Elabore um programa Agenda de Compromissos, onde:

Layout do arquivo COMPROMISSO

Código;
Data;
Horário;
Local;
Descrição;
Tipo (reunião, encontro, seminário, treinamento).
Crie as seguintes rotinas

a) Salva em um arquivo binário todos os compromissos agendados, o nome do arquivo é fornecido


pelo usuário;
b) Remoção de um compromisso através de um código informado;
c) Lista todos os compromissos agendados para uma data específica;
d) Lista todos os compromissos agendados de acordo com o tipo de compromisso informado pelo
usuário.

18. Dado o arquivo com o layout abaixo, construir um programa com um módulo de inclusão e
outro de consulta, observando as seguintes disposições:

ESTOQUE
ITE_COD ITE_DES ITE_MAX ITE_MIN ITE_VLC ITE_VLV ITE_DTC
Número literal Numerous Número Número Número Número

Para Inclusão:

a) Não poderão existir registros com chaves iguais. Avisar quando: “código já cadastrado!”;
b) Os campos de valor do produto e da quantidade máxima do produto não poderão ter seus
conteúdos iguais à zero;
c) O valor da venda deverá ser 25% a mais em relação ao valor de compra do produto;
d) A posição atual do estoque deve ser igual ao do estoque máximo.

Para Consulta:

a) Perguntar se o usuário quer consultar baseado nas opções:


b) Mostrar a descrição, quantidade e o valor do produto.
c) Mostrar a descrição, o valor de venda e a data de cadastro.
d) Solicitar a chave (código); caso não exista, informar: “código não cadastrado”;
e) Baseada na opção selecionada mostrar os dados na tela.

19. Dados os arquivos com os seguintes layouts a seguir, desenvolver os módulos do


programa que se pede.

Funcionário
FUN_MAT FUN_NOME FUN_SAL FUN_SEXO
Número Literal Número Literal

Dependente
DEP_FUN DEP_COD DEP_NOME
Número Literal Literal

Cadastrar os dados dos funcionários, observando o seguinte:

a) Caso seja informada uma matricula que já exista, escrever na tela: “Matricula já cadastrada”;
b) O salário não pode ser inferior a R$ 465,00;
c) O sexo só pode ser “M” (masculino) ou “F” (feminino);
d) Para encerrar, será digitado o flag 9999 na matrícula.

Cadastrar os dados dos dependentes, observando o seguinte:

a) Antes de prosseguir com o cadastro, verificar se a matricula do funcionário existe no arquivo de


funcionários. Se existir, prosseguir, senão informar que a matricula é invalida;
b) Solicitar o código de dependente; se já existir este conjunto de dados (matr_func + cód.dep) no
arquivo de dependentes, informar “dados já cadastrados”;
c) Não permitir que o nome do dependente seja igual a branco (vazio).

20. Faça um programa que:

a) Crie um arquivo chamado MAT com a seguinte informação: Código e Discrição do produto. Após
a criação cadastre os produtos.
b) Crie um arquivo FORNECEDOR com a seguinte informação: Código e nome do fornecedor.
Após a criação cadastre os fornecedores.
c) Crie um arquivo PROCESSO com as seguintes informações: Código do fornecedor, Código do
produto. A seguir cadastre as informações.
d) Usando os arquivos criados nos itens anteriores imprima um relatório com o nome dos
fornecedores e a descrição dos produtos que cada um fornece.

Exemplo:

FORNECEDOR PRODUTOS

João da Silva Geladeira


Fogão
Televisão
Microondas
Vídeo-Cassete

Pedro de Alcântara Sabão em Pó


Detergente
Sabão em Barra

21. A seção de controle de produção de uma fábrica mantém um arquivo de registros de


produção por máquina. Cada registro contém o numero da maquina e do número de peças
produzidas em um dia (data). Supondo que a fábrica possua três maquinas, desenvolva um
programa que separe os dados cadastrados em três arquivos, um para cada máquina. Desenvolva
as rotinas de inserção e listagem ordenada (quantidade de peças) dos dados para cada máquina
da fábrica, considerando que as máquinas trabalham diariamente e conseqüentemente os arquivos
são atualizados por dia de produção.

22. Dados os arquivos com os layouts a seguir, elaborar um programa com módulos para
realizar o que se pede nos subitens:

SETOR
Set_cod Set_descr
Código Descrição

Fun_matr Fun_nome Fun_sal Fun_Sexo Fun_setor


Matrícula Nome Salário>465,00 “M” ou “F” Código de setor (1 a 9)
FUNCIONÁRIO

Elaborar módulos que realize as operações de inclusão e alteração no arquivo de Funcionário,


levando em consideração o seguinte:

a) Entrar com a matrícula do funcionário. Caso ela exista, proceder conforme técnica de alteração,
caso contrário, proceder conforme técnica de inclusão;
b) Se a matricula igual a 9999, encerrar a manutenção do arquivo.
c) Realizar as críticas dos campos conforme definido no layout do arquivo, observando-se ainda
que o código do setor terá que ser validado com uma pesquisa no arquivo de setor.

Elaborar um módulo que realize as seguintes atualizações no arquivo de funcionários:


a) Para os funcionários dos setores com os códigos ímpares será dado um reajuste de 20% para
os funcionários do sexo feminino e 15% para os funcionários do sexo masculino;
b) Para os funcionários dos setores com os códigos pares será dado um reajuste de 10% para os
funcionários do sexo feminino e 20% para os funcionários do sexo masculino;
c) Ao termino dos reajustes, mostrar na tela Qual o setor que detém a maior quantidade de
funcionários e a média salarial dos setores pares e o percentual de funcionários do sexo
masculino que ganhe acima de R$ 800,00, independente do setor.

OBS: estruture as informações requeridas na forma de impressões na tela.

23. Faça um programa para o gerenciamento de fornecedores de uma determinada loja que:

a) Crie um arquivo PRODUTOS com as seguintes informações: Código, descrição do produto,


unidade de medida, quantidade. Após a criação cadastre os produtos.
b) Crie um arquivo FORNECEDOR com a seguinte informação: Código, CNPJ, nome do
fornecedor, endereço, telefone. Após a criação cadastre os fornecedores.
c) Crie um arquivo LISTA e cadastre as seguintes informações: Código do fornecedor e Código do
produto. Verifique se o código do fornecedor e o código do produto existem, caso contrário
deverá ser digitado novamente. Considere que um fornecedor pode vender um ou mais
produtos.
d) Usando os arquivos criados nos itens anteriores imprima um relatório na tela com o código e o
nome dos fornecedores; e o código, a descrição e a quantidade dos produtos que cada um
fornece e possui em estoque. O relatório tem o objetivo de informar todos os produtos
fornecidos por cada fornecedor.
e) Implemente uma opção de exclusão física no arquivo FORNECEDOR, realize a pesquisa pelo
código do fornecedor.

24. Biblioteca da FNE - A biblioteca da FNE possui livros de Informática, Eletrônica,


Telecomunicações e Mecatrônica. Os dados de todos os livros da biblioteca estão armazenados em
um só arquivo. Com o objetivo de melhorar o controle de livros da biblioteca faça um programa que:

a) Cadastre e separe as obras em quatro arquivos diferentes, um para cada área.

b) Informe a porcentagem de livros de eletrônica que possuem mais de 200 páginas.

c) Elabore uma consulta onde você fornecerá a área e o programa lista todos os livros cadastrados
da área que foi digitada.

d) Altere o valor do campo observação de todos os registros dos livros de telecomunicações que
foram doados para conter a seguinte informação: “Este livro foi doado”.

Acervos
COD_LIV ÁREA AUTOR EDITORA DOADO N_PAG OBS
Inteiro Literal Literal Literal Lógico Inteiro Literal

Obs: O arquivo ACERVO precisa ser gerado e preenchido antecipadamente, os outros arquivos
ainda não existem.

Você também pode gostar