A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Profa. Mercedes Gonzales Márquez

Apresentações semelhantes


Apresentação em tema: "Profa. Mercedes Gonzales Márquez"— Transcrição da apresentação:

1 Profa. Mercedes Gonzales Márquez
PCI- Registros Profa. Mercedes Gonzales Márquez

2 Conceito 2 Variáveis compostas heterogêneas (não homogêneas)
• Estruturas: variáveis que podem conter uma coleção de objetos (potencialmente) de tipos diferentes. – cada componente de uma estrutura é chamado de membro ou campo; – cada campo está associado a um tipo de dado;

3 Sintaxe 3 struct <identificador estrutura> {
<tipo 1> <identificador campo 1>; <tipo 2> <identificador campo 2>; <tipo k> <identificador campo k>; }; Ou typedef struct{ <tipo 1> <identificador campo1>; <tipo 2> <identificador campo2>; <tipo k> <identificador campok>; }<identificador estrutura>;

4 Exemplos de declarações
4 Exemplos de declarações struct ponto { int coordx; int coordy; } struct ponto pto1, pto2; ou alternativamente pode ser também typedef struct{ }Ponto; Ponto pto1,pto2; Definição de tipo Declaração de variáveis pto1 e pto2 Definição de tipo Declaração de variáveis pto1 e pto2

5 Acesso aos campos de uma estrutura
5 Acesso aos campos de uma estrutura • Para acessar os campos de uma estrutura usa-se o nome da variável do tipo struct e o nome do campo que se quer acessar, separando-os com . (ponto). – No exemplo anterior: pto1.coordx e pto1.coordy acessam os campos coordenada x e coordenada y respectivamente.

6 Acesso aos campos de uma estrutura
6 Acesso aos campos de uma estrutura • Exemplo Ponto pto1, pto2; pto1.coordx = 0.0; pto1.coordy = 0.0; pto2.coordx = pto1.coordx + 2; pto2.coordy = pto1.coordy + 3; Exercício: Faça um programa que permita o ingresso de 10 pontos no plano e que escreva em qual quadrante eles se encontram.

7 Acesso aos campos de uma estrutura
7 Acesso aos campos de uma estrutura #include <stdio.h> #include <stdlib.h> typedef struct{ int x; int y; }Ponto; Ponto pto[10]; int main() { int i;

8 Acesso aos campos de uma estrutura
8 Acesso aos campos de uma estrutura for (i=0; i<10; i++){ scanf (“%d %d”, &pto[i].x, &pto[i].y); if (pto[i].x>0 && pto[i].y>0) printf(“O ponto está no primeiro quadrante”); else if (pto[i].x<0 && pto[i].y>0) printf(“O ponto está no segundo quadrante”); else if (pto[i].x<0 && pto[i].y<0) printf(“O ponto está no terceiro quadrante”); else if (pto[i].x>0 && pto[i].y<0) printf(“O ponto está no quarto quadrante”); }

9 Exemplos de Estruturas
9 Exemplos de Estruturas /* TipoAluno.C */ /* Cria uma estrutura para armazenar o nome, numero de matricula, 3 notas e a media de um aluno e leia esta informação para 10 alunos */ #include <stdio.h> #include <stdlib.h> typedef struct /*Inicio da definição da estrutura */{ char nome[8]; int nmat; /* Número da matrícula */ float nota[3]; /* Notas */ float media; /* Média */ }Cadastro; /* Fim da definição */

10 Exemplos de Estruturas
1010 Exemplos de Estruturas int main(){ Cadastro alunos[10];/* Declara uma variável do tipo Cadastro */ int i; printf (“Informe os dados de 10 alunos\n”); for (i=0; i<10; i++){ printf (“Informe o nome do aluno\n”); scanf (“%s”, alunos[i].nome); printf (“Informe numero de matricula\n”); scanf (“%d”, &alunos[i].nmat); printf (“Informe as tres notas\n”); for (j=0;j<3; j++) scanf (“%f”,&alunos[i].nota[j]);

11 Exemplos de Estruturas
1111 Exemplos de Estruturas aluno[i].media= (aluno[i].nota[0] + aluno[i].nota[1] aluno[i].nota[2])/3.0; }/* Imprimindo*/ printf (“Imprimindo dados dos 10 alunos\n”); for (i=0; i<10; i++){ printf (“aluno %d\n”, i+1); printf (“nome: %s\n”,aluno[i].nome); printf (“numero de matricula: %d\n”,aluno[i].nmat ); printf (“Nota 1: %2.2f - Nota 2: %2.2f – Nota 3:%2.2f\n”, aluno[i].nota[0], aluno[i].nota[1], aluno[i].nota[2]); printf (“media das notas: %2.2f\n”,aluno[i].media); }system("PAUSE"); }

12 Aninhamento de Estruturas
1212 Aninhamento de Estruturas typedef struct { int dia; int mes; int ano; }data; char nome[10]; int cargo; data data_nasc; } TpFuncionario;

13 Aninhamento de Estruturas
1313 Aninhamento de Estruturas TpFuncionario func1; func1.data_nasc.dia = 01; func1.data_nasc.mes = 10; func1.data_nasc.ano = 2001; Exercício: Crie o tipo de dados Estoque2 e implemente os algoritmos do slide 20 matéria de registros de algoritmos. Implemente os exercícios 3 até o 8 dos slides de Registros da matéria de algoritmos.


Carregar ppt "Profa. Mercedes Gonzales Márquez"

Apresentações semelhantes


Anúncios Google