Aula 16 arquivos - Programação 1

5
Programação I: Arquivos Rodrigo Paes Rodrigo Paes [email protected]

description

Aulas da Disciplina de Programação I do Professor Rodrigo Paes, UFAL

Transcript of Aula 16 arquivos - Programação 1

Page 1: Aula 16 arquivos - Programação 1

Programação I: Arquivos

Rodrigo Paes

Rodrigo Paes – [email protected]

Page 2: Aula 16 arquivos - Programação 1

Instituto de Computação – UFAL

Objetivos

Introduzir as principais funções para a

manipulação de arquivos em C

Ao final desta aula o aluno deverá ser capaz de:

Escrever programas que gravem e leiam arquivos

binários ou de texto

Com o auxílio do livro ou de referências para as funções de

manipulação de arquivos

Rodrigo Paes – [email protected]

Page 3: Aula 16 arquivos - Programação 1

Instituto de Computação – UFAL

Agenda

O que são arquivos

Arquivos Binários X Arquivos de Texto

Arquivos Binários Tipo: FILE

fopen() http://www.cplusplus.com/reference/clibrary/cstdio/fopen/

fwrite()

fread()

Localizando registos ftell()

fgetpos()

Atualização fsetpos()

Arquivo de Texto

Rodrigo Paes – [email protected]

Page 4: Aula 16 arquivos - Programação 1

Instituto de Computação – UFAL

Exercício (e16)

Faça um programa para calcular o valor a ser pago pelos passageiros de uma companhia aérea. O programa deverá ler o preço das passagens de um arquivo binário chamado PRECO.BIN. O arquivo contém 10 registros com código (inteiro) e preço (real). A seguir o programa deverá ler o arquivo binário PASSAGEM.BIN com o nome dos passageiros (campo com 33 posições) e código da passagem. Deverá ser gerado um arquivo binário chamado TOTAL.BIN contendo o nome do passageiro e o valor a ser pago por ele.

Rodrigo Paes – [email protected]

Page 5: Aula 16 arquivos - Programação 1

Instituto de Computação – UFAL

Exercício (e17)

Resolvedor Entrada (txt):

2

-7

-5

Saída (txt): 16.43

-2.43

Como verificarei as respostas? equacao.exe meuarquivo.txt saida.txt

verificador.exe esperado.txt saida.txt

Sem raízes: #

Não é equação: @

Rodrigo Paes – [email protected]