programação c 8 9_aula

24
Atividade 8/9 cscerqueira.com/christopher - - - CCO-013

Transcript of programação c 8 9_aula

Page 1: programação c 8 9_aula

Atividade 8/9

cscerqueira.com/christopher - - - CCO-013

Page 2: programação c 8 9_aula

» 1. Resumo da aula do Edison.˃Dúvidas sobre a aula

˃Dúvidas sobre a prova

» 2. Mini – teste (30 min)˃2 QUESTÕES

˃Entregar resumos junto com o teste.

» 3. Atividades em sala

» 4. Aula do dia 01/11 será passada online.

» Talvez não venha no dia 8/11, deixarei atividades.

cscerqueira.com/christopher - - - CCO-013

Page 3: programação c 8 9_aula

cscerqueira.com/christopher - - - CCO-013

Page 4: programação c 8 9_aula

»Entrada de dados para carregar e configurar o programa com condições iniciais.

»Scripts/tabelas/históricos/dados pessoais

cscerqueira.com/christopher - - - CCO-013

Page 5: programação c 8 9_aula

Criar o tipo File

Abrir o arquivo

Utilizar o

arquivo

Fechar o arquivo

cscerqueira.com/christopher - - - CCO-013

Page 6: programação c 8 9_aula

» Para usar um arquivo, temos que ter uma variável que aponta para o arquivo.

FILE * pFile;

» Tipo File, símbolo de apontamento, nome da variável

cscerqueira.com/christopher - - - CCO-013

http://www.cplusplus.com/reference/clibrary/cstdio/FILE/

Page 7: programação c 8 9_aula

» Deve-se indicar qual arquivo quer ser utilizado e como deve ser utilizado

pFile = fopen (NomeDoArquivo, modo);

cscerqueira.com/christopher - - - CCO-013

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

“r” Read: abre o arquivo para leitura. Precisa existir.

“w” Write: cria o arquivo para saída. Apaga anterior se existir.

“a” Append: abre um arquivo para saída e posiciona no fim. Cria se não existir.

“r+” Read/Update: abre o arquivo para update.

“w+” Write/Update: cria um arquivo e abre para update. Apaga se existir.

“a+” Abre um arquivo para update e posiciona no fim. Cria se não existir.

Mo

do

s

Page 8: programação c 8 9_aula

» Ler dados do arquivo

int fscanf( pFile, “Formatos”, variáveis);

» Funciona como o scanf: lê elemento por elemento.

fscanf ( arquivo, “%d %s %c”, &idade, pnome, &sexo );

cscerqueira.com/christopher - - - CCO-013

http://www.cplusplus.com/reference/clibrary/cstdio/fscanf/

Page 9: programação c 8 9_aula

char getBuff(char *buf, int n, FILE *fp){

char *ret;

for(;;) {ret = fgets(buf, n, fp);if (ret == NULL) return(NULL);if (buf[0] != '\n' && buf[0] != '#') return(1); // Skip blank

lines and comments.}

}

cscerqueira.com/christopher - - - CCO-013

Page 10: programação c 8 9_aula

» Escrever no arquivo

int fprintf(pFile, “Formatos” , variáveis);

» Igual ao printf.

» Escreve no fim do arquivo.

fprintf (pFile, "Name %d [%-10.10s]\n",n,name);

cscerqueira.com/christopher - - - CCO-013

http://www.cplusplus.com/reference/clibrary/cstdio/fprintf/

Page 11: programação c 8 9_aula

» Existem diversas outras funções para manipular arquivos.

» Estão na biblioteca stdio.h

» Funções que começam com a letra f.

http://www.cplusplus.com/reference/clibrary/cstdio/

cscerqueira.com/christopher - - - CCO-013

Page 12: programação c 8 9_aula

» Depois que utilizar o arquivo é necessário fechá-lo.

int fclose(pFile);

» Se fechar o arquivo e for necessário reutilizá-lo é necessário abrir novamente.

cscerqueira.com/christopher - - - CCO-013

http://www.cplusplus.com/reference/clibrary/cstdio/fclose/

Page 13: programação c 8 9_aula

» Os arquivos geralmente possuem estruturas de dados que são lidos em blocos,

» Esses blocos podem ser chamados de registros.

» O arquivo contém vários registros.

cscerqueira.com/christopher - - - CCO-013

Page 14: programação c 8 9_aula

cscerqueira.com/christopher - - - CCO-013

Idade Sexo Primeiro nome

Idade

Idade

Sexo

Sexo

Primeiro nome

Primeiro nome

Registro 1

Registro 2

Registro n

.

.

.

.

.

campo 1 campo 2 campo 3

for ( k = 1; k <= n; k++ )fscanf ( pFile, “%d %c %s”, &idade1, &sexo1, nome1 );

Page 15: programação c 8 9_aula

»Conjunto de valores do mesmo tipo, agrupados numa mesma variável.

»Unidimensional: Vetores

»Bidimensional: Matrizes

cscerqueira.com/christopher - - - CCO-013

Page 16: programação c 8 9_aula

» Em linguagem C, agregado homogêneo é definido daseguinte forma:

tipo NOME DA VARIAVEL [ dimensão ];

Onde :

dimensao = quantidade de células do agregado+ deve ser sempre maior que zero

+ deve ser sempre inteiro

+ tem que ter um valor especificado ( não pode ser variável )

cscerqueira.com/christopher - - - CCO-013

Page 17: programação c 8 9_aula

» int idades[30];

» float notas[100];

»char nome[80];

cscerqueira.com/christopher - - - CCO-013

Page 18: programação c 8 9_aula

» Os indices indicam as posições no vetor.

» idade[5] = 30; // atribui na 6ª posição o valor 30

» numero = 45;

» k = 3;

» idade[k] = numero;

cscerqueira.com/christopher - - - CCO-013

0 1 2 2928idade:

30

0 62 3 4 51

Idade:

45 30

0 62 3 4 51

Idade:

Page 19: programação c 8 9_aula

»Bidimensional:

int valores[60][30];»Tridimensional:

int valores[60][30][10];» ...

cscerqueira.com/christopher - - - CCO-013

Page 20: programação c 8 9_aula

// LEITURA DA MATRIZ

for ( r = 0; r < n_linhas; r++ ) {

for ( u = 0; u < n_colunas; u++ ) {

fscanf ( pFile, “%d” , &numeros[r][u] );

}

}

cscerqueira.com/christopher - - - CCO-013

Page 21: programação c 8 9_aula

cscerqueira.com/christopher - - - CCO-013

Page 22: programação c 8 9_aula

cscerqueira.com/christopher - - - CCO-013

» 1. Escrever um programa para solicitar os valores(números) de um vetor (inteiros – 8 unidades);solicitar um outro número pelo teclado e pesquisarse esse número existe no vetor. Se existir, imprimirem qual posição do vetor. Se não existir, imprimirMSG que não existe.

» 2. Criar um programa que leia de um arquivo oselementos de uma matriz inteira de 3 x 3 eimprimir todos os elementos, exceto os elementosda diagonal principal.

» 1 2 3

» 4 5 6

» 7 8 9

» Individual.» Pode ser com lápis.» 30 min.

Identifique a folha / Entregar o resumo junto

Page 23: programação c 8 9_aula

» 1 - Resumo da aula de 16 e 23/10 - - 2 – Programas:

» A) Escrever um programa para multiplicar matrizes 3x3. Uma matriz é entrada via arquivo e a segunda via teclado. O resultado é exibido na tela e o programa deve perguntar se deseja salvar no mesmo arquivo ou em outro, neste caso pedir o nome do novo arquivo.

» B) Faça um programa que leia de um arquivo o nome, o sexo, a altura e a idade de uma pessoa. Calcule e mostre em ordem de altura o nome e o seu peso ideal de acordo com as seguintes características da pessoa:

cscerqueira.com/christopher - - - CCO-013

Page 24: programação c 8 9_aula

» Tutorial completo de C/C++

» http://www.cplusplus.com/files/tutorial.pdf

cscerqueira.com/christopher - - - CCO-013