Exercícios: Arquivos

Documentos relacionados
Exercícios: Arquivos

Computação Eletrônica. Aula 12 Arquivos Texto e Binário. Prof: Luciano Barbosa. CIn.ufpe.br

Exercícios: Vetores e Matrizes

Introdução à Computação II (Noturno) BCC Unesp Rio Claro/SP 2015 em PDF via Moodle: Escolha apenas 5 exercícios para entrega Exercício 01 (Pilhas)

Laboratório de Programação A Exercícios sobre vetores e matrizes

4ª Série de Exercícios Variáveis Compostas Homogêneas 1. Faça um algoritmo que leia, via teclado, 10 valores do tipo inteiro e os guarde na memória.

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO MARANHÃO - CAMPUS CAXIAS. Aluno (s): 01 ATIVIDADE. Revisão de Conteúdo

Programação de Computadores 1 Lista 2. Prof. Álvaro A. F. de Souza DECSI - ICEA - UFOP

4ª Lista de Exercícios de Programação I

Lista de Exercícios ICC 1 Ponteiros

Ponteiros. Introdução e Alocação Dinâmica

Arquivos de Texto UFOP 1/31

Curso Básico de Programação Aula 11. Revisão Aula Anterior Laços de Repetição While; Do-While; For.

6 a Lista Complementar de Exercícios de CI208 Programação de Computadores 13/02/2014

4ª Lista de Exercícios de Programação I

Alocação Dinâmica de Memória - Exercício

CURSO BÁSICO DE PROGRAMAÇÃO AULA 11. Revisão Aula Anterior Vetores Cadeia de Caracteres

1. Faça um programa que leia uma string digitada pelo usuário e salve em um arquivo em branco.

Universidade Federal de Uberlândia Faculdade de Computação. Linguagem C: ponteiros e alocação dinâmica

INF 1620 P4-06/12/02 Questão 1 Nome:

GEQ Prof. Paulo R. Coelho. Lista para prova

Capítulo 6: Arquivos

1ª Lista de Exercícios

Exercício. Alocação Dinâmica. Alocação dinâmica de memória. Alocação de memória. Alocação da Memória Principal. Alocação da Memória Principal

Exercícios Repetição

Prova 2 - Computação

LISTA DE EXERCÍCIOS - ro. 04

Estruturas II UFOP 1/35

Exercícios de Repetição

Linguagem C: Introdução

Aula 28: Arquivos de texto

BAC004 Informática Teórica T2 Professora: Fabiana Costa Guedes Lista 05 Vetores e Matrizes Vetores

Função "malloc" e "calloc":

Resolva os exercícios utilizando a linguagem de programação C

Lista de Exercícios de Algoritmos - 04 Para cada um dos exercícios abaixo, faça um programa (em laboratório) que teste a função.

LISTA DE EXERCÍCIOS - ro. 05

Exercícios: Comandos de Repetição

MCG126 Programação de Computadores II

Estruturas de Repetição WHILE e DO- WHILE

CURSO BÁSICO DE PROGRAMAÇÃO AULA 16. Manipulação de arquivos.

CADERNO DE EXERCÍCIOS ALGORITMOS

Aula 8 Oficina de Programação Vetores. Profa. Elaine Faria UFU

CURSO BÁSICO DE PROGRAMAÇÃO AULA 15. Revisão Vetores e Matrizes Trabalho

LISTA DE EXERCÍCIOS 2

Computação Eletrônica. Strings. Prof: Luciano Barbosa. CIn.ufpe.br

Requisitos para entrega. Projeto Programa 1 Cálculo de Médias Descrição do Projeto

Questão 1. Nome para o arquivo fonte questao1.c

Exercícios sobre algoritmos

Algoritmos e Estruturas de Dados. Prof. Marcelo Zorzan Profa. Melissa Zanatta

Aula 06 Introdução à Programação Matrizes

Aula 27: Estruturas heterogêneas e alocação dinâmica

Computação 2. Aula 3. Diego Addan Vetores de caracteres (strings)

Lista de Exercícios 02

Estruturas de Dados Estáticas

INF 1620 P4-13/12/01 Questão 1 Nome:

a) Implemente uma função que retorne uma aproximação do valor de π, de acordo com a F órmula de Leibniz: ( 1)

Algoritmos e Lógica de Programação 80 horas // 4 h/semana. Para começar... Matrizes. Para começar... Matrizes. Matrizes

Classes o Objetos. Classes, objetos, métodos e variáveis de instância

PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95

DCC001 - Programação de Computadores. Lista de Exercícios 02 - Estruturas de Dados Homogêneas (Vetores).

Algoritmos e Estruturas de Dados. Prof. Marcos Quinet Universidade Federal Fluminense UFF Pólo Universitário de Rio das Ostras PURO

AULA 13 PROCEDIMENTOS. Disciplina: Algoritmos e POO Professora: Alba Lopes.

Departamento de Informática PUC-Rio INF Estruturas de Dados Lista 2 Completa (Gerada em 8 de maio de 2006)

Linguagem C Vetores, Matrizes e Strings

Introdução à Programação. Introdução a Linguagem C. Prof. José Honorato F. Nunes

MANUAL DE UTILIZAÇÃO COLETOR OPTIMUS METROLOGIC SP5500

Exercícios: Recursão

ENTRADA E SAÍDA DE DADOS/ESTRUTURA DE SELEÇÃO

Faculdades Integradas Rui Barbosa Programação II Prof. Marcos Antonio Estremote. Exercícios com Vetores e Matrizes

CAPÍTULO VIII. Variáveis Indexadas: Vetores e Matrizes CAPÍTULO VIII VARIÁVEIS INDEXADAS VARIÁVEIS INDEXADAS HOMOGÊNEAS UNIDIMENSIONAIS (VETORES)

Transcrição:

Universidade Federal de Uberlândia - UFU Faculdade de Computação - FACOM Lista de exercícios de programação em linguagem C Exercícios: Arquivos 1. Codifique, compile e execute um programa que: (a) crie/abra um arquivo texto de nome arq.txt, (b) permita que o usuário entre com diversos caracteres nesse arquivo, até que o usuário entre com o caractere 0, (c) reinicie o arquivo, fazendo o ponteiro apontar para seu início, e (d) lendo-o caractere por caractere, e escrevendo na tela todos os caracteres armazenados. 2. Faça um programa em Linguagem C que receba do usuário um arquivo, e mostre na tela quantas linhas esse arquivo possui. 3. Faça um programa que receba dois arquivos do usuário, e crie um terceiro arquivo com o conteúdo dos dois primeiros juntos (o conteúdo do primeiro seguido do conteúdo do segundo). 4. Desenvolver um programa em C que lê o conteúdo de um arquivo e cria um arquivo com o mesmo conteúdo, mas com todas as letras minúsculas convertidas para maiúsculas. Os nomes dos arquivos serão fornecidos, via teclado, pelo usuário. A função que converte maiúscula para minúscula é o toupper(). Ela é aplicada em cada caractere da string. 5. Faça um programa no qual o usuário informa o nome do arquivo, e uma palavra, e retorne o número de vezes que aquela palavra aparece no arquivo. 6. Faça um programa em C que recebe como entrada o nome de um arquivo de entrada e o nome de um arquivo de saída. Cada linha do arquivo de entrada possui colunas de tamanho de 30 caracteres. No arquivo de saída deverá ser escrito o arquivo de entrada de forma inversa. Veja um exemplo: Arquivo de entrada: Hoje é dia de prova de AP A prova está muito fácil Vou tirar uma boa nota Arquivo de saída: Aton aob amu rarit uov Licáf otium átse avorp A PA ed avorp ed aid é ejoh 7. Faça um programa em C que recebe um vetor de n números, converta cada um desses números para binário e grave a sequência de 0s e 1s em um arquivo texto. Cada número deve ser gravado em uma linha. 8. Faça um programa que leia um arquivo com os preços de diversos produtos, e calcule o total da compra. 9. Faça um programa que permita que o usuário entre com diversos nomes e telefone para cadastro, e crie um arquivo com essas informações, uma por linha. O usuário finaliza a entrada com 0 para o telefone. 1

10. Dado um arquivo contendo um conjunto de nome e data de nascimento (dd mm aa, isto é 3 inteiros seguidos), construir outro arquivo contendo o nome e a idade. O programa deve ler além do nome do arquivo a ser lido, a data de hoje. 11. Faça um programa em C que recebe como entrada o nome de arquivo de entrada e o nome de um arquivo de saída. O arquivo de entrada contém em cada linha o nome de uma cidade ocupando 40 caracteres e o seu número de habitantes. A rotina deverá ler o arquivo de entrada e gerar um arquivo de saída onde aparece o nome da cidade mais populosa seguida pelo seu número de habitantes. 12. Faça um programa em C que recebe como entrada o nome de um arquivo de entrada e o nome de um arquivo de saída e o ano corrente. Cada linha do arquivo de entrada contém o nome de uma pessoa ocupando 40 caracteres e o seu ano de nascimento. A rotina deverá ler o arquivo de entrada e gerar um arquivo de saída onde aparece o nome da pessoa seguida por uma string que representa a sua idade. Se a idade for menor do que 18 anos, escrever menor de idade Se a idade for maior do que 18 anos, escrever maior de idade Se a idade for igual a 18 anos, escrever entrando na maior idade 13. Codifique, compile e execute um programa em C que leia a profissão e o tempo de serviço (em anos), de cada um dos 50 funcionários de uma empresa e armazene-os no arquivo emp.txt. Cada linha do arquivo corresponde aos dados de um funcionário. Utilize o comando fprintf(). Em seguida, leia o mesmo arquivo utilizando fscanf(). Apresente os dados na tela. 14. Crie um programa em C que receba como entrada o número de alunos de uma disciplina. Aloque dinamicamente dois vetores para armazenar as informações a respeito desses alunos. O primeiro vetor contém o nome dos alunos e o segundo contém suas notas finais. Crie um vetor que armazene a cada linha o nome do aluno e sua nota final. Use nomes com no máximo 40 caracteres. Se o nome não contém 40 caracteres, complete com espaço em branco 15. Codifique um programa, em C, que manipule um arquivo contendo registros descritos pelos seguintes campos: codigo vendedor, nome vendedor, valor da venda e mes. A manipulação do arquivo em questão é feita através da execução das operações disponibilizadas pelo seguinte menu: 1 - Para criar o arquivo de dados; 2 - Para incluir um determinado registro no arquivo; 3 - Para excluir um determinado vendedor no arquivo; 4 - Para alterar o valor de uma venda no arquivo; 5 - Para imprimir os registros na saída padrão; 6 - Para excluir o arquivo de dados; 7 - Para finalizar o programa. Os registros devem estar ordenados no arquivo, de forma crescente, de acordo com as informações contidas nos campos codigo vendedor e mes. Não deve existir mais de um registro no arquivo com mesmos valores nos campos codigo vendedor e mes. 16. Abra um arquivo texto cujo nome é informado como argumento na linha de comando. Calcule e escreva o número de caracteres, o número de linhas e o número de palavras neste arquivo. Escreva também quantas vezes cada letra ocorre no arquivo (ignorando 2

letras com acento). Obs.: palavras são separadas por um ou mais caracteres espaço, tabulação ou nova linha. 17. Registre tudo que ocorrer com o carro: manutenções, combustível, lavagens, etc., tudo com o valor gasto e a quilometragem. Além de um relatório geral, inclua uma consulta sobre custo por quilômetro e consumo médio. Armazene os dados em arquivo binário. 18. Implemente um controle simples de mercadorias em uma despensa doméstica. Sobre cada produto podem ser armazenado um código numérico, descrição e quantidade atual. O programa deve ter opções para entrada e retirada de produtos, bem como um relatório geral e um de produtos não disponíveis. Armazene os dados em arquivo binário. 19. Faça um programa gerenciar uma agenda de contatos. Para cada contato armazene o nome, o telefone e o aniversário (dia e mês). O programa deve permitir (1) inserir contato, (2) remover contato, (3) pesquisar um contato pelo nome, (4) listar todos os contatos, (5) listar os contatos cujo nome inicia com uma dada letra, (6) imprimir os aniversariantes do mês. Sempre que o programa for encerrado, os contatos devem ser armazenados em um arquivo binário. Quando o programa iniciar, os contatos devem ser inicializados com os dados contidos neste arquivo binário. 20. Faça um programa para atualizar contas bancárias. O programa deve abrir quatro arquivos binários: (a) contas dos clientes no dia anterior, (b) movimentações no dia (débitos e créditos), (c) contas criadas no dia (contendo o saldo inicial) e (d) contas removidas no dia. O saldo atual de cada conta deve ser atualizado com base nas movimentações diárias. Um novo arquivo binário de contas de clientes deve ser criado, contendo o saldo atualizado de cada cliente (com base nas movimentações diárias) e as novas contas. As contas removidas no dia não devem aparecer neste novo arquivo. Após criar este arquivo o programa é encerrado. Os vetores utilizados devem ser alocados dinamicamente. Os dados de cada cliente são: número da conta (produzido automaticamente pelo sistema), nome e saldo. Uma movimentação é composta de número da conta, tipo da operação (crédito ou débito), valor. 21. De acordo com o exercício anterior grave em um arquivo binário (a) todas as movimentações que produziram saldo negativo, (b) tentativas de remover uma conta que não existe. 22. Dado um arquivo que contenha as dimensões de uma matriz(linha e coluna, a quantidade de posições que será anulada, e as posições; Faça um programa que abra esse arquivo em modo leitura e imprima no programa e em um novo arquivo a matriz com as dimensões dadas no arquivo lido, e todas as posições especificadas no arquivo ZERA- DAS e o restante recebendo o valor 1. ex: arquivo matriz.txt 3 3 2 /*3 e 3 dimens~oes da matriz e 2 posiç~oes que ser~ao anuladas*/ 1 0 1 2 /*Posiç~oes da matriz que ser~ao anuladas. arquivo matriz saida.txt saída: 1 1 1 0 1 0 1 1 1 3

PS: Observem que matrizes na linguagem C, diferentemente de outras linguagens como Fortran e Matlab, os elementos são indexados a partir de 0,ou seja o elemento a(1,1) em Fortran corresponde ao elemento a[0][0] em C. 23. Faça um programa que receba do usuário um arquivo que contenha o nome e a nota de diversos alunos (da seguinte forma: NOME: JOÃO NOTA: 8), um aluno por linha. Mostre na tela o nome e a nota do aluno que possui a maior nota. 24. Faça uma rotina em C que recebe como entrada o nome de um arquivo de entrada e o nome de um arquivo de saída. O arquivo de entrada contém o nome de um aluno ocupando 40 caracteres e três inteiros que indicam suas notas A rotina deverá ler o arquivo de entrada e gerar um arquivo de saída onde aparece o nome do aluno e as suas notas em ordem crescente. 25. Crie um programa em C que receba como entrada o número de alunos de uma disciplina. Aloque dinamicamente dois vetores para armazenar as informações a respeito desses alunos. O primeiro vetor contém o nome dos alunos e o segundo contém suas notas finais. Crie um vetor que armazene a cada linha o nome do aluno e sua nota final. Use nomes com no máximo 40 caracteres. Se o nome não contém 40 caracteres, complete com espaço em branco. 26. Crie um programa em C que receba como entrada o número de alunos de uma disciplina. Aloque dinamicamente em uma estrutura para armazenar as informações a respeito desses alunos 9 nome do aluno e sua nota final). Use nomes com no máximo 40 caracteres. Se o nome não contém 40 caracteres, complete com espaço em branco. 27. Crie um programa em C que declare uma estrutura (registro) para o cadastro de alunos. (a) Deverão ser armazenados, para cada aluno: matrícula, sobrenome (apenas um), e ano de nascimento. (b) Ao início do programa, o usuário deverá informar o número de alunos que serão armazenados (c) o programa deverá alocar dinamicamente a quantidade necessária de memória para armazenar os registros dos alunos. (d) O programa deverá pedir ao usuário que entre com as informações dos alunos. (e) Em seguida, essas informações deverão ser gravadas em um arquivo (f) Ao final, mostrar os dados armazenados e liberar a memória alocada. 28. Crie um programa em C que declare uma estrutura (registro) para o cadastro de alunos. (a) Deverão ser armazenados, para cada aluno: matrícula, sobrenome (apenas um), e ano de nascimento. (b) Ao início do programa, o usuário deverá informar o número de alunos que serão armazenados (c) o programa deverá alocar dinamicamente a quantidade necessária de memória para armazenar os registros dos alunos. (d) O programa deverá pedir ao usuário que entre com as informações dos alunos. (e) Em seguida, essas informações deverão ser gravadas em um arquivo (f) Ao final, mostrar os dados armazenados e liberar a memória alocada. 4

Ao iniciar o programa, forneça ao usuário uma opção para carregar os registros do arquivo para a memória do computador alocando dinamicamente a quantidade de memória necessária. Dica: para que o usuário possa entrar com novos dados, além dos que foram obtidos a partir do arquivo, use a função realloc(ptr, size) para realocar a quantidade de memória apontada pelo ponteiro ptr para um novo tamanho size. 29. Faça um programa para gerenciar as notas dos alunos de uma turma com um menu contendo as seguintes opções: 1. Definir informações da Turma; 2. Inserir aluno e notas; 3. Exibir alunos e médias; 4. Exibir alunos aprovados; 5. Exibir alunos reprovados; 6. Salvar dados em Disco; 7. Sair do programa (fim). Faça a rotina que gerencia o menu dentro do main, e para cada uma das opções deste menu, crie uma sub-rotina específica. 5