1 / 18

Ordenação e Pesquisa de Dados

Ordenação e Pesquisa de Dados. Marco Antonio Montebello Júnior marco.antonio@aes.edu.br. Definição de tipos. O comando typedef permite ao programador definir um novo nome para um determinado tipo de dado. Sua sintaxe é: typedef antigo_nome novo_nome; Exemplo:

lavender
Download Presentation

Ordenação e Pesquisa de Dados

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Ordenação e Pesquisa de Dados Marco Antonio Montebello Júnior marco.antonio@aes.edu.br

  2. Definição de tipos • O comando typedef permite ao programador definir um novo nome para um determinado tipo de dado. • Sua sintaxe é: • typedef antigo_nome novo_nome; • Exemplo: • Criar um novo tipo, chamado inteiro para definir o tipo int: • typedef int inteiro;

  3. Definição de tipos • O comando typedef também pode ser utilizado para dar nome a tipos complexos, como por exemplos as estruturas. • Exemplo: • typedef struct endereco {         char rua [50];         int numero;         char bairro [20];         char cidade [30]; } TEndereco; main() { TEndereco *end; ... }

  4. I/O • O sistema de entrada e saída (I/O) da linguagem C ANSI é composto por uma série de funções, cujos protótipos estão reunidos em stdio.h. • Todas estas funções trabalham com o conceito de "ponteiro de arquivo". • Este não é um tipo propriamente dito, mas uma definição usando o comando typedef.

  5. I/O • Podemos declarar um ponteiro de arquivo da seguinte maneira: • FILE *p; • Onde • FILE é a estrutura que contém informações específicas sobre o arquivo (tamanho, nome etc.) • p é um ponteiro para um arquivo que manipularemos em Linguagem C.

  6. I/O - Funções • Existem diversas funções para manipulação de arquivos, entre elas:

  7. I/O - fopen • Esta função é utilizada para abertura de arquivos. • Seu protótipo é: • FILE *fopen (char *nome_do_arquivo, char *modo_de_abertura); • onde: • *nome_do_arquivo: representa o nome do arquivo que será aberto (para leitura ou gravação) • *modo_de_abertura: define o tipo de abertura do arquivo que pode ser: • “r” – leitura • “w” – escrita • “a”- adicionar dados • além de 2 modificadores: • “+” – atualização • “b” – modo binário

  8. I/O - fopen • Modos de abertura de arquivo:

  9. I/O - fopen • Exemplo: FILE *fp; if ((fp = fopen(“teste.txt”, “w”)) == NULL) { printf(“Erro ao tentar abrir o arquivo!”); exit(1); } • Caso ocorra algum erro com a função fopen, é retornado NULL.

  10. I/O - fclose • Após utilizar o arquivo que abrimos, devemos fechá-lo. • Para isso utiliza-se a função fclose(): • Sintaxe: int fclose (FILE *fptr); • O ponteiro fptr passado à função fclose() determina o arquivo a ser fechado. A função retorna zero no caso de sucesso.

  11. I/O - feof • EOF ("End of file") indica o fim de um arquivo. • A necessidade de verificar se um arquivo chegou ao fim, muitas vezes é necessária. • Para isto podemos utilizar a função feof(), que retorna: • qualquer valor diferente de zero (verdadeiro), caso tenha chegado ao seu final; • caso contrário retorna zero. • Seu protótipo é: int feof (FILE *fp);

  12. I/O – getc e putc • Para ler e escrever um caractere por vez, utilizamos as funções getc() e putc(), respectivamente • Protótipos: • int getc (FILE *fptr); • onde: • fptr – corresponde ao ponteiro do arquivo a ser lido • int putc (int ch, FILE *fptr); • onde: • ch – caractere a ser armazenado • fptr – corresponde ao ponteiro do arquivo a ser gravado

  13. I/O – fread - fwrite • Podemos também ler e escrever blocos de dados. • Para isso, utilizamos as funções fread() e fwrite() • Protótipos: • unsigned fread (void *buffer, int tam, int qtde, FILE *fptr); • onde: • buffer – ponteiro do tipo void para o endereço da memória onde serão armazenados os dados lidos • tam – tamanho em bytes do tipo de dados a ser lido • qtde – quantidade de itens a serem lidos • fptr – corresponde ao ponteiro do arquivo a ser lida

  14. I/O – fread - fwrite • unsigned fwrite(void *buffer,int tam,int qtd,FILE *fptr); • onde: • buffer – ponteiro do tipo void para o endereço da memória do dado a ser armazenado • tam – tamanho em bytes do tipo de dados a ser armazenado • qtde – quantidade de itens a serem gravados • fptr – corresponde ao ponteiro do arquivo a ser gravado

  15. Exercícios • Fazer um programa em linguagem C que escreva um arquivo texto utilizando a função putc(). Os caracteres a serem escritos devem ser obtidos do teclado. • Modifique o programa anterior de modo que seja possível ler as informações do arquivo gravado, através da função getc(). Esse programa deverá ter um menu, no qual o usuário escolhe se quer gravar dados ou ler os dados.

  16. Exercícios • Fazer um programa em linguagem C (chamado copia) que deverá ler um arquivo e copiar seu conteúdo para um outro arquivo. • Os arquivos deverão ser abertos da seguinte forma: • Arquivo origem: abertura para leitura em modo binário • Arquivo destino: Abertura para escrita em modo binário. • Utilizar a função feof() para determinar o final do arquivo.

  17. Exercícios • Fazer o programa chamado procurar, em linguagem C que, receba via linha de comando: • Nome do arquivo • posição (em bytes) que será lida do arquivo • exemplo: procurar nomearq byte • O programa deve usar a função seek() para posicionar o arquivo no byte especificado, ler tal byte e imprimi-lo na forma de um caractere.

  18. Exercícios • Escreva um programa que leia uma lista de nomes e idades de um arquivo texto, no seguinte formato: • Nome(1) • Idade(1) • ... • Nome(n) • Idade(n) • Apresente os dados lidos em forma de tabela na tela.

More Related