Vous êtes sur la page 1sur 123

ESTRUTURA de DADOS Aula 3 Agrupando dados e criando novos tipos

ESTRUTURA DE DADOS

Ateno aos Temas Principais dessa Aula

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Contedo Programtico desta aula

Compreender Definir e

o uso da estruturas heterogneas declarar estruturas


de elementos

definidas pelo programador ;

heterogneas
podem ser

localmente e globalmente; Identificar que tipos membros de uma estrutura; Implementar programas usando estruturas; Construir funes usando estruturas heterogneas ;

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Direto ao Assunto

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Conceito de struct Uma estrutura(struct) um conjunto de elementos, na maioria das vezes de tipos diferentes, podendo ser variveis simples, matrizes, outras estruturas e at funes. Cada elemento da estrutura chamado de membro ou campo. O agrupamento desses elementos segue uma lgica definida pelo programador. A esse conjunto, associado um nome.
AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

DEFININDO a struct

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Exemplo de struct

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Exemplo de struct

3 membros (campos)

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Exemplo de struct

Definindo

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Exemplo de struct

Definindo

struct

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Exemplo de struct

Definindo

struct data

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Exemplo de struct

Definindo

struct data {

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Exemplo de struct

Definindo

struct data { int dia, mes, ano;

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Exemplo de struct

Definindo

struct data { int dia, mes, ano; }


AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Exemplo de struct

Definindo

struct data { int dia, mes, ano; };


AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Exemplo de struct

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Exemplo de struct

2 membros (campos)

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Exemplo de struct

Definindo

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Exemplo de struct

Definindo struct

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Exemplo de struct

Definindo struct produto

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Exemplo de struct

Definindo struct produto {

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Exemplo de struct

Definindo struct produto { char nomeProd[21];

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Exemplo de struct

Definindo struct produto { char nomeProd[21]; float valor;

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Exemplo de struct

Definindo struct produto { char nomeProd[21]; float valor; }


AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Exemplo de struct

Definindo struct produto { char nomeProd[21]; float valor; };


AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

At aqui ficou fcil, mas se partssemos de um momento anterior a esse, no seria melhor?

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

OK! Vamos apresentar algumas fichas e faremos a definio a partir delas.

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Ficha 1

Nome da struct: Quantos membros? Todos do mesmo tipo? Qual(is) o(s) tipo(s) presente(s)?

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Ficha 1

Nome da struct: Quantos membros? Todos do mesmo tipo? Qual(is) o(s) tipo(s) presente(s)?

paciente 6 No char/ float/ long long int

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Definindo struct

Ficha 1

Nome da struct: Quantos membros? Todos do mesmo tipo? Qual(is) o(s) tipo(s) presente(s)?

paciente 6 No char/ float/ long long int

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Definindo struct paciente

Ficha 1

Nome da struct: Quantos membros? Todos do mesmo tipo? Qual(is) o(s) tipo(s) presente(s)?

paciente 6 No char/ float/ long long int

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Definindo struct paciente {

Ficha 1

Nome da struct: Quantos membros? Todos do mesmo tipo? Qual(is) o(s) tipo(s) presente(s)?

paciente 6 No char/ float/ long long int

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Definindo struct paciente { char nomePac[31], classif[21];

Ficha 1

Nome da struct: Quantos membros? Todos do mesmo tipo? Qual(is) o(s) tipo(s) presente(s)?

paciente 6 No char/ float/ long long int

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Definindo struct paciente { char nomePac[31], classif[21]; float alt, peso, IMC;

Ficha 1

Nome da struct: Quantos membros? Todos do mesmo tipo? Qual(is) o(s) tipo(s) presente(s)?

paciente 6 No char/ float/ long long int

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Definindo struct paciente { char nomePac[31], classif[21]; float alt, peso, IMC; long long int tel;

Ficha 1

Nome da struct: Quantos membros? Todos do mesmo tipo? Qual(is) o(s) tipo(s) presente(s)?

paciente 6 No char/ float/ long long int

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Definindo struct paciente { char nomePac[31], classif[21]; float alt, peso, IMC; long long int tel; }

Ficha 1

Nome da struct: Quantos membros? Todos do mesmo tipo? Qual(is) o(s) tipo(s) presente(s)?

paciente 6 No char/ float/ long long int

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Definindo struct paciente { char nomePac[31], classif[21]; float alt, peso, IMC; long long int tel; };

Ficha 1

Nome da struct: Quantos membros? Todos do mesmo tipo? Qual(is) o(s) tipo(s) presente(s)?

paciente 6 No char/ float/ long long int

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Ficha 2

Nome da struct: Quantos membros? Todos do mesmo tipo? Qual(is) o(s) tipo(s) presente(s)?

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Ficha 2

Nome da struct: Quantos membros? Todos do mesmo tipo? Qual(is) o(s) tipo(s) presente(s)?

aluno 9 No char/long long int/ float/ int

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Definindo struct

Ficha 2

Nome da struct: Quantos membros? Todos do mesmo tipo?

aluno 9 No

Qual(is) o(s) tipo(s) presente(s)?

char/long long int/ float/ int

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Definindo struct aluno

Ficha 2

Nome da struct: Quantos membros? Todos do mesmo tipo?

aluno 9 No

Qual(is) o(s) tipo(s) presente(s)?

char/long long int/ float/ int

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Definindo struct aluno {

Ficha 2

Nome da struct: Quantos membros? Todos do mesmo tipo? Qual(is) o(s) tipo(s) presente(s)?

aluno 9 No char/long long int/ float/ int

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Definindo struct aluno { char nomeAl[31], disc[21];

Ficha 2

Nome da struct: Quantos membros? Todos do mesmo tipo?

aluno 9 No

Qual(is) o(s) tipo(s) presente(s)?

char/long long int/ float/ int

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Definindo struct aluno { char nomeAl[31], disc[21]; long long int matric, tel;

Ficha 2

Nome da struct: Quantos membros? Todos do mesmo tipo?

aluno 9 No

Qual(is) o(s) tipo(s) presente(s)?

char/long long int/ float/ int

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Definindo struct aluno { char nomeAl[31], disc[21]; long long int matric, tel; float AV1, AV2, AV3, Media;

Ficha 2

Nome da struct: Quantos membros? Todos do mesmo tipo?

aluno 9 No

Qual(is) o(s) tipo(s) presente(s)?

char/long long int/ float/ int

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Definindo struct aluno { char nomeAl[31], disc[21]; long long int matric, tel; float AV1, AV2, AV3, Media; int turma;

Ficha 2

Nome da struct: Quantos membros? Todos do mesmo tipo?

aluno 9 No

Qual(is) o(s) tipo(s) presente(s)?

char/long long int/ float/ int

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Definindo struct aluno { char nomeAl[31], disc[21]; long long int matric, tel; float AV1, AV2, AV3, Media; int turma; }
Nome da struct: Quantos membros? Todos do mesmo tipo?

Ficha 2

aluno 9 No

Qual(is) o(s) tipo(s) presente(s)?

char/long long int/ float/ int

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Definindo struct aluno { char nomeAl[31], disc[21]; long long int matric, tel; float AV1, AV2, AV3, Media; int turma; };
Nome da struct: Quantos membros? Todos do mesmo tipo?

Ficha 2

aluno 9 No

Qual(is) o(s) tipo(s) presente(s)?

char/long long int/ float/ int

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Onde se define uma estrutura?

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Onde se define uma estrutura?

Antes de todas as Funes

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Onde se define uma estrutura?

Antes de todas as Funes

GLOBAL

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Onde se define uma estrutura?

Antes de todas as Funes

Dentro de uma funo

GLOBAL

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Onde se define uma estrutura?

Antes de todas as Funes

Dentro de uma funo

GLOBAL

LOCAL

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Como se declara uma varivel com o tipo definido por uma estrutura?

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

DEFININDO e DECLARANDO depois

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Declarando com tipo definido pela struct

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Declarando com tipo definido pela struct struct data { int dia, mes, ano; };

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Declarando com tipo definido pela struct struct data { int dia, mes, ano; }; data entrada, saida;

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

DEFININDO / DECLARANDO

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Declarando junto com a definio da struct

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Declarando junto com a definio da struct

struct produto { char nomeProd[21]; float valor; };

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Declarando junto com a definio da struct

struct produto { char nomeProd[21]; float valor; } prod1, prod2;

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

DEFININDO e DECLARANDO Annima

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Declarando, obrigatoriamente, na definio - struct Annima

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Declarando, obrigatoriamente, na definio - struct Annima

struct { float a, b, c; };

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Declarando, obrigatoriamente, na definio - struct Annima

struct { float a, b, c; } figura1, figura2;

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

ACESSANDO um MEMBRO da struct

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

ACESSANDO um MEMBRO da struct

struct data { int dia, mes, ano; };

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

ACESSANDO um MEMBRO da struct

struct data { int dia, mes, ano; };

data entrada;

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

ACESSANDO um MEMBRO da struct

struct data { int dia, mes, ano; };

...entrada.dia...

data entrada;

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

ACESSANDO um MEMBRO da struct

struct data { int dia, mes, ano; };

...entrada.dia... ...entrada.mes...

data entrada;

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

ACESSANDO um MEMBRO da struct

struct data { int dia, mes, ano; };

...entrada.dia... ...entrada.mes... ...entrada.ano...

data entrada;

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

ATRIBUINDO valor a um MEMBRO da struct na declarao

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

ATRIBUINDO valor a um MEMBRO da struct na declarao

struct produto { char nomeProd[21]; float valor; } prod1;

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

ATRIBUINDO valor a um MEMBRO da struct na declarao

struct produto { char nomeProd[21]; float valor; } prod1={"Ar condicionado", 790.00};

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

ATRIBUINDO valor a um MEMBRO da struct na declarao

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

ATRIBUINDO valor a um MEMBRO da struct na declarao

struct produto { char nomeProd[21]; float valor; };

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

ATRIBUINDO valor a um MEMBRO da struct na declarao

struct produto { char nomeProd[21]; float valor; };

data prod1={"Ar condicionado", 790.00};


AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

ATRIBUINDO valor a um MEMBRO da struct atravs do teclado

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

ATRIBUINDO valor a um MEMBRO da struct atravs do teclado


struct aluno { char nomeAl[31], disc[21]; long long int matric, tel; float AV1, AV2, AV3, Media; int turma; } aluno1;

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

ATRIBUINDO valor a um MEMBRO da struct atravs do teclado


struct aluno { char nomeAl[31], disc[21]; long long int matric, tel; float AV1, AV2, AV3, Media; int turma; } aluno1; cin>>aluno1.AV1;

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

ATRIBUINDO valor a um MEMBRO da struct atravs do teclado


struct aluno { char nomeAl[31], disc[21]; long long int matric, tel; float AV1, AV2, AV3, Media; int turma; } aluno1; cin>>aluno1.AV1; cin.getline(aluno1.nomeAl, 31);

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Array de struct

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Declarando um array de struct Um array de estruturas pode ser declarado da mesma forma que uma estrutura simples.

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Declarando um array de struct Um array de estruturas pode ser declarado da mesma forma que uma estrutura simples.

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Declarando um array de struct Um array de estruturas pode ser declarado da mesma forma que uma estrutura simples.

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Definindo a struct e declarando um array

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Definindo a struct e declarando um array

struct saude { float peso, altura, IMC; } atletas[500];

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Definindo a struct e declarando um array

struct saude { float peso, altura, IMC; } atletas[500];

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Definindo a struct e declarando um array


A C E S S A N D O

struct saude { float peso, altura, IMC; } atletas[500];

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Definindo a struct e declarando um array


A C E S S A N D O

struct saude { float peso, altura, IMC; } atletas[500];

...atletas[0] peso...

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Definindo a struct e declarando um array


A C E S S A N D O

struct saude { float altura, peso, IMC; } atletas[500];

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Definindo a struct, usando estruturas ANINHADAS

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Definindo a struct, usando estruturas ANINHADAS


struct data { int dia, mes, ano; };

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Definindo a struct, usando estruturas ANINHADAS


struct data { int dia, mes, ano; }; struct saude { float peso, altura, IMC; data niver; } atleta;

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Definindo a struct, usando estruturas ANINHADAS


struct data { int dia, mes, ano; }; struct saude { float peso, altura, IMC; data niver; } atleta;

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Definindo a struct, usando estruturas ANINHADAS


struct data { int dia, mes, ano; }; struct saude { float peso, altura, IMC; data niver; } atleta; ACESSANDO

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Definindo a struct, usando estruturas ANINHADAS


struct data { int dia, mes, ano; }; struct saude { float peso, altura, IMC; data niver; } atleta; ACESSANDO

...atleta peso...

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Definindo a struct, usando estruturas ANINHADAS


struct data { int dia, mes, ano; }; struct saude { float peso, altura, IMC; data niver; } atleta; ACESSANDO

. ...atleta.niver.dia...
...atleta peso...
AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Definindo a struct, usando estruturas ANINHADAS


struct data { int dia, mes, ano; }; struct saude { float altura, peso, IMC; data niver; } atleta; ACESSANDO

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Definindo a struct, usando estruturas ANINHADAS - array struct data { int dia, mes, ano; }; struct saude { float altura, peso, IMC; data niver; } atletas[500]; ACESSANDO

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Definindo a struct, usando estruturas ANINHADAS - array struct data { int dia, mes, ano; }; struct saude { float altura, peso, IMC; data niver; } atletas[500]; ACESSANDO

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Definindo a struct, usando estruturas ANINHADAS - array struct data { int dia, mes, ano; }; struct saude { float altura, peso, IMC; data niver; } atletas[500]; ACESSANDO

...atletas[0] peso...

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Definindo a struct, usando estruturas ANINHADAS - array struct data { int dia, mes, ano; }; struct saude { float altura, peso, IMC; data niver; } atletas[500]; ACESSANDO

. ...atletas[0].niver.dia...
...atletas[0] peso...
AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Definindo a struct, usando estruturas ANINHADAS - array struct data { int dia, mes, ano; }; struct saude { float altura, peso, IMC; data niver; } atletas[500]; A C E S S A N D O

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Definindo a struct, usando estruturas ANINHADAS - array struct data { int dia, mes, ano; }; struct saude { float altura, peso, IMC; data niver; } atletas[500]; A C E S S A N D O

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

ESTRUTURAS e FUNES
Passagem por VALOR Passagem por REFERNCIA &

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

#include <iostream> Passagem por VALOR #include <cstdlib> using namespace std; float mediaPond(float, float); int main() { struct { float prova, trab; } notas; cout<<"\nDigite nota da prova: ";cin>>notas.prova; cout<<"\nDigite nota do trabalho: ";cin>>notas.trab; cout<<"\nMedia : "<<mediaPond(notas.prova, notas.trab); cout<<"\n\n"; system("pause"); }
float mediaPond(float p, float t) { return (p*6+ t*4)/10; }
AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

#include <iostream> Passagem por REFERNCIA & #include <cstdlib> using namespace std; void alteraNota(float &); int main() { struct { float prova, trab; } notas; cout<<"\nDigite nota da prova: "; cin>>notas.prova; alteraNota(notas.prova); cout<<"\nNota Alterada: "<<notas.prova<<"\tGostou?"; cout<<"\n\n"; system("pause"); } void alteraNota(float &p) { p=10;}
AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Analisando Estrutura como parmetro Estrutura como retorno

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Refazendo o exemplo de passagem por VALOR, usando Estrutura como parmetro

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

#include <iostream> Estrutura como parmetro #include <cstdlib> using namespace std; struct notas { float prova, trab;}; float mediaPond(notas n); int main() { notas aluno; cout<<"\nDigite nota da prova: ";cin>>aluno.prova; cout<<"\nDigite nota do trabalho: ";cin>>aluno.trab; cout<<"\nMedia ponderada: "<<mediaPond(aluno); cout<<"\n\n"; system("pause"); } float mediaPond(notas n) { return (n.prova*6+ n.trab*4)/10;}
AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Usando Estrutura como parmetro e Estrutura como retorno

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

#include <iostream> Estrutura como parmetro #include <cstdlib> #include <cstring> #include <cctype> using namespace std; struct cad { char nome[31]; int idade; }; void maiuscula(char func[]); cad Entrada(); void Exibe( cad func func ); int main() parmetro { cad funcionario; funcionario = Entrada(); Exibe(funcionario); system("pause"); return(0); }
AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

#include <iostream> Estrutura como retorno #include <cstdlib> #include <cstring> #include <cctype> using namespace std; struct cad { char nome[31]; int idade; retorno }; void maiuscula(char func[]); cad Entrada(); void Exibe(cad func); int main() { cad funcionario; funcionario = Entrada(); Exibe(funcionario); system("pause"); return(0); }
AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

cad Entrada() Estrutura como retorno { cad temp; char lixo[100]; cout << "\nNome do funcionario ate 30 caracteres: "; cin.getline(lixo,100); while(strlen(lixo)>30) { cout<<"\nNome muito extenso\n"; cout << "\nNome do funcionario at 30 caracteres: "; cin.getline(lixo,100); } strcpy(temp.nome,lixo); maiuscula(temp.nome); cout << "\nDigite idade: "; cin >> temp.idade;
}

return temp;
AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Estrutura como parmetro


void Exibe(cad func) { cout<<"\n\n\n"<<func.nome<<"\t"<<func.idade; cout<<"\n\n"; }

void maiuscula(char func[]) { int x; for(x=0; func[x] !='\0'; x++) func[x]=toupper(func[x]); }

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Funo como membro de Estrutura

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

#include <iostream> #include <cstdlib> using namespace std;

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

struct manipulaNumeros { int contaAlgarismos(long long int num) { int cont=0;num=abs(num); if(num==0) return 1; while(num>0) { cont++; num/=10; } return cont; } void quocresto(int a, int b) { int aux; if(a<=0 || b<=0) { cout<<"\nSem resultados\n";return;} if(a<b) {aux=a; a=b; b=aux;} cout<<"\nQuociente: "<<a/b<<"\nResto: "<<a%b; } };
AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

int main() { long long int n; int n1,n2; manipulaNumeros num; cout<<"\nDigite um numero inteiro: "; cin>>n; cout<<"\nTotal de Algarismos: "<<num.contaAlgarismos(n); cout<<"\n\nDigite um numero inteiro: "; cin>>n1; cout<<"\nDigite outro numero inteiro: "; cin>>n2; num.quocresto(n1,n2); cout<<"\n\n"; system("pause"); }

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

ESTRUTURA DE DADOS

Resumindo

AGRUPANDO DADOS E CRIANDO NOVOS TIPOS Aula3

Vous aimerez peut-être aussi