Baixe o app para aproveitar ainda mais
Prévia do material em texto
ESTRUTURA de DADOS Aula 3 – Agrupando dados e criando novos tipos ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Atenção aos Temas Principais dessa Aula ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Conteúdo Programático desta aula Compreender o uso da estruturas heterogêneas definidas pelo programador ; Definir e declarar estruturas heterogêneas localmente e globalmente; Identificar que tipos de elementos podem ser membros de uma estrutura; Implementar programas usando estruturas; Construir funções usando estruturas heterogêneas ; ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Direto ao Assunto ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Conceito de struct Uma estrutura(struct) é um conjunto de elementos, na maioria das vezes de tipos diferentes, podendo ser variáveis simples, matrizes, outras estruturas e até funções. Cada elemento da estrutura é chamado de membro ou campo. O agrupamento desses elementos segue uma lógica definida pelo programador. A esse conjunto, é associado um nome. ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 DEFININDO a struct ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Exemplo de struct ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Exemplo de struct 3 membros (campos) ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Exemplo de struct Definindo ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Exemplo de struct struct Definindo ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Exemplo de struct struct data Definindo ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Exemplo de struct struct data { Definindo ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Exemplo de struct struct data { int dia, mes, ano; Definindo ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Exemplo de struct struct data { int dia, mes, ano; } Definindo ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Exemplo de struct struct data { int dia, mes, ano; }; Definindo ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Exemplo de struct ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Exemplo de struct 2 membros (campos) ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Exemplo de struct Definindo ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Exemplo de struct struct Definindo ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Exemplo de struct struct produto Definindo ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Exemplo de struct struct produto { Definindo ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Exemplo de struct struct produto { char nomeProd[21]; Definindo ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Exemplo de struct struct produto { char nomeProd[21]; float valor; Definindo ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Exemplo de struct struct produto { char nomeProd[21]; float valor; } Definindo ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Exemplo de struct struct produto { char nomeProd[21]; float valor; }; Definindo ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Até aqui ficou fácil, mas se partíssemos de um momento anterior a esse, não seria melhor? ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 OK! Vamos apresentar algumas fichas e faremos a definição a partir delas. ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Nome da struct: Quantos membros? Todos do mesmo tipo? Qual(is) o(s) tipo(s) presente(s)? Ficha 1 ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Nome da struct: paciente Quantos membros? 6 Todos do mesmo tipo? Não Qual(is) o(s) tipo(s) presente(s)? char/ float/ long long int Ficha 1 ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Nome da struct: paciente Quantos membros? 6 Todos do mesmo tipo? Não Qual(is) o(s) tipo(s) presente(s)? char/ float/ long long int Ficha 1 struct Definindo ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Nome da struct: paciente Quantos membros? 6 Todos do mesmo tipo? Não Qual(is) o(s) tipo(s) presente(s)? char/ float/ long long int Ficha 1 struct paciente Definindo ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Nome da struct: paciente Quantos membros? 6 Todos do mesmo tipo? Não Qual(is) o(s) tipo(s) presente(s)? char/ float/ long long int Ficha 1 struct paciente { Definindo ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Nome da struct: paciente Quantos membros? 6 Todos do mesmo tipo? Não Qual(is) o(s) tipo(s) presente(s)? char/ float/ long long int Ficha 1 struct paciente { char nomePac[31], classif[21]; Definindo ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Nome da struct: paciente Quantos membros? 6 Todos do mesmo tipo? Não Qual(is) o(s) tipo(s) presente(s)? char/ float/ long long int Ficha 1 struct paciente { char nomePac[31], classif[21]; float alt, peso, IMC; Definindo ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Nome da struct: paciente Quantos membros? 6 Todos do mesmo tipo? Não Qual(is) o(s) tipo(s) presente(s)? char/ float/ long long int Ficha 1 struct paciente { char nomePac[31], classif[21]; float alt, peso, IMC; long long int tel; Definindo ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Nome da struct: paciente Quantos membros? 6 Todos do mesmo tipo? Não Qual(is) o(s) tipo(s) presente(s)? char/ float/ long long int Ficha 1 struct paciente { char nomePac[31], classif[21]; float alt, peso, IMC; long long int tel; } Definindo ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Nome da struct: paciente Quantos membros? 6 Todos do mesmo tipo? Não Qual(is) o(s) tipo(s) presente(s)? char/ float/ long long int Ficha 1 struct paciente { char nomePac[31], classif[21]; float alt, peso, IMC; long long int tel; }; Definindo ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Nome da struct: Quantos membros? Todos do mesmo tipo? Qual(is) o(s) tipo(s) presente(s)? Ficha 2 ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Nome da struct: aluno Quantos membros? 9 Todos do mesmo tipo? Não Qual(is) o(s) tipo(s) presente(s)? char/long long int/ float/ int Ficha 2 ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Nome da struct: aluno Quantos membros? 9 Todos do mesmo tipo? Não Qual(is) o(s) tipo(s) presente(s)? char/long long int/ float/ int Ficha 2 struct Definindo ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Nome da struct: aluno Quantos membros? 9 Todos do mesmo tipo? Não Qual(is) o(s) tipo(s) presente(s)? char/long long int/ float/ int Ficha 2 struct aluno Definindo ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Nome da struct: aluno Quantos membros? 9 Todos do mesmo tipo? Não Qual(is) o(s) tipo(s) presente(s)? char/long long int/ float/ int Ficha 2 struct aluno { Definindo ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Nome da struct: aluno Quantos membros? 9 Todos do mesmo tipo? Não Qual(is) o(s) tipo(s) presente(s)? char/long long int/ float/ int Ficha 2 struct aluno {char nomeAl[31], disc[21]; Definindo ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Nome da struct: aluno Quantos membros? 9 Todos do mesmo tipo? Não Qual(is) o(s) tipo(s) presente(s)? char/long long int/ float/ int Ficha 2 struct aluno { char nomeAl[31], disc[21]; long long int matric, tel; Definindo ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Nome da struct: aluno Quantos membros? 9 Todos do mesmo tipo? Não Qual(is) o(s) tipo(s) presente(s)? char/long long int/ float/ int Ficha 2 struct aluno { char nomeAl[31], disc[21]; long long int matric, tel; float AV1, AV2, AV3, Media; Definindo ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Nome da struct: aluno Quantos membros? 9 Todos do mesmo tipo? Não Qual(is) o(s) tipo(s) presente(s)? char/long long int/ float/ int Ficha 2 struct aluno { char nomeAl[31], disc[21]; long long int matric, tel; float AV1, AV2, AV3, Media; int turma; Definindo ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Nome da struct: aluno Quantos membros? 9 Todos do mesmo tipo? Não Qual(is) o(s) tipo(s) presente(s)? char/long long int/ float/ int Ficha 2 struct aluno { char nomeAl[31], disc[21]; long long int matric, tel; float AV1, AV2, AV3, Media; int turma; } Definindo ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Nome da struct: aluno Quantos membros? 9 Todos do mesmo tipo? Não Qual(is) o(s) tipo(s) presente(s)? char/long long int/ float/ int Ficha 2 struct aluno { char nomeAl[31], disc[21]; long long int matric, tel; float AV1, AV2, AV3, Media; int turma; }; Definindo ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Onde se define uma estrutura? ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Antes de todas as Funções Onde se define uma estrutura? ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Antes de todas as Funções Onde se define uma estrutura? GLOBAL ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Antes de todas as Funções Onde se define uma estrutura? Dentro de uma função GLOBAL ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Antes de todas as Funções Onde se define uma estrutura? Dentro de uma função GLOBAL LOCAL ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Como se declara uma variável com o tipo definido por uma estrutura? ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 DEFININDO e DECLARANDO depois ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Declarando com tipo definido pela struct ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 struct data { int dia, mes, ano; }; Declarando com tipo definido pela struct ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 struct data { int dia, mes, ano; }; data entrada, saida; Declarando com tipo definido pela struct ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 DEFININDO / DECLARANDO ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Declarando junto com a definição da struct ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Declarando junto com a definição da struct struct produto { char nomeProd[21]; float valor; }; ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Declarando junto com a definição da struct struct produto { char nomeProd[21]; float valor; } prod1, prod2; ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 DEFININDO e DECLARANDO Anônima ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Declarando, obrigatoriamente, na definição - struct Anônima ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Declarando, obrigatoriamente, na definição - struct Anônima struct { float a, b, c; }; ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Declarando, obrigatoriamente, na definição - struct Anônima struct { float a, b, c; } figura1, figura2; ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 ACESSANDO um MEMBRO da struct ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 struct data { int dia, mes, ano; }; ACESSANDO um MEMBRO da struct ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 struct data { int dia, mes, ano; }; data entrada; ACESSANDO um MEMBRO da struct ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 ...entrada.dia... struct data { int dia, mes, ano; }; data entrada; ACESSANDO um MEMBRO da struct ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 ...entrada.dia... ...entrada.mes... struct data { int dia, mes, ano; }; data entrada; ACESSANDO um MEMBRO da struct ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 ...entrada.dia... ...entrada.mes... ...entrada.ano... struct data { int dia, mes, ano; }; data entrada; ACESSANDO um MEMBRO da struct ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 ATRIBUINDO valor a um MEMBRO da struct na declaração ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 ATRIBUINDO valor a um MEMBRO da struct na declaração struct produto { char nomeProd[21]; float valor; } prod1; ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 ATRIBUINDO valor a um MEMBRO da struct na declaração struct produto { char nomeProd[21]; float valor; } prod1={"Ar condicionado", 790.00}; ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 ATRIBUINDO valor a um MEMBRO da struct na declaração ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 struct produto { char nomeProd[21]; float valor; }; ATRIBUINDO valor a um MEMBRO da struct na declaração ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 data prod1={"Ar condicionado", 790.00}; ATRIBUINDO valor a um MEMBRO da struct na declaração struct produto { char nomeProd[21]; float valor; }; ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 ATRIBUINDO valor a um MEMBRO da struct através do teclado ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 ATRIBUINDO valor a um MEMBRO da struct através do teclado struct aluno { char nomeAl[31], disc[21]; long long int matric, tel; float AV1, AV2, AV3, Media; int turma; } aluno1; ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 ATRIBUINDO valor a um MEMBRO da struct através do teclado cin>>aluno1.AV1; struct aluno { char nomeAl[31], disc[21]; long long int matric, tel; float AV1, AV2, AV3, Media; int turma; } aluno1; ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 ATRIBUINDO valor a um MEMBRO da struct através do teclado cin>>aluno1.AV1; struct aluno { char nomeAl[31], disc[21]; long long int matric, tel; float AV1, AV2, AV3, Media; int turma; } aluno1; cin.getline(aluno1.nomeAl, 31); ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Array de struct ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Declarando um array de struct Um array de estruturas pode ser declarado da mesma forma que uma estrutura simples. ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Declarando um array de struct Um array de estruturas pode ser declarado da mesma forma que uma estrutura simples. ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Declarando um array de struct Um array de estruturas pode ser declarado da mesma forma que uma estrutura simples. ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Definindo a struct e declarando um array ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Definindo a struct e declarando um arraystruct saude { float peso, altura, IMC; } atletas[500]; ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Definindo a struct e declarando um array struct saude { float peso, altura, IMC; } atletas[500]; ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Definindo a struct e declarando um array struct saude { float peso, altura, IMC; } atletas[500]; A C E S S A N D O ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Definindo a struct e declarando um array A C E S S A N D O ...atletas[0].peso... struct saude { float peso, altura, IMC; } atletas[500]; ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Definindo a struct e declarando um array struct saude { float altura, peso, IMC; } atletas[500]; A C E S S A N D O ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Definindo a struct, usando estruturas ANINHADAS ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 struct { int dia, mes, ano; }; data Definindo a struct, usando estruturas ANINHADAS ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 struct { int dia, mes, ano; }; data struct saude { float peso, altura, IMC; niver; } atleta; data Definindo a struct, usando estruturas ANINHADAS ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 struct { int dia, mes, ano; }; data Definindo a struct, usando estruturas ANINHADAS struct saude { float peso, altura, IMC; niver; } atleta; data ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 struct { int dia, mes, ano; }; data Definindo a struct, usando estruturas ANINHADAS ACESSANDO struct saude { float peso, altura, IMC; niver; } atleta; data ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 struct { int dia, mes, ano; }; data Definindo a struct, usando estruturas ANINHADAS ACESSANDO ...atleta.peso... struct saude { float peso, altura, IMC; niver; } atleta; data ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 struct { int dia, mes, ano; }; data Definindo a struct, usando estruturas ANINHADAS ACESSANDO ...atleta.niver.dia... ...atleta.peso... struct saude { float peso, altura, IMC; niver; } atleta; data ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 struct { int dia, mes, ano; }; data struct saude { float altura, peso, IMC; niver; } atleta; data Definindo a struct, usando estruturas ANINHADAS ACESSANDO ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 struct { int dia, mes, ano; }; data struct saude { float altura, peso, IMC; niver; } atletas[500]; data Definindo a struct, usando estruturas ANINHADAS - array ACESSANDO ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 struct { int dia, mes, ano; }; data ACESSANDO struct saude { float altura, peso, IMC; niver; } atletas[500]; data Definindo a struct, usando estruturas ANINHADAS - array ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 struct { int dia, mes, ano; }; data ACESSANDO ...atletas[0].peso... struct saude { float altura, peso, IMC; niver; } atletas[500]; data Definindo a struct, usando estruturas ANINHADAS - array ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 struct { int dia, mes, ano; }; data ACESSANDO ...atletas[0].niver.dia... ...atletas[0].peso... struct saude { float altura, peso, IMC; niver; } atletas[500]; data Definindo a struct, usando estruturas ANINHADAS - array ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 struct { int dia, mes, ano; }; data struct saude { float altura, peso, IMC; niver; } atletas[500]; data Definindo a struct, usando estruturas ANINHADAS - array A C E S S A N D O ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 struct { int dia, mes, ano; }; data struct saude { float altura, peso, IMC; niver; } atletas[500]; data Definindo a struct, usando estruturas ANINHADAS - array A C E S S A N D O ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 ESTRUTURAS e FUNÇÕES Passagem por VALOR Passagem por REFERÊNCIA & ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 #include <iostream> #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; } Passagem por VALOR ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 #include <iostream> #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;} Passagem por REFERÊNCIA & ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Analisando Estrutura como parâmetro Estrutura como retorno ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Refazendo o exemplo de passagem por VALOR, usando Estrutura como parâmetro ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 #include <iostream> #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;} Estrutura como parâmetro ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Usando Estrutura como parâmetro e Estrutura como retorno ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 #include <iostream> #include <cstdlib> #include <cstring> #include <cctype> using namespace std; struct cad { char nome[31]; int idade; }; void maiuscula(char func[]); cad Entrada(); void Exibe( func ); int main() { cad funcionario; funcionario = Entrada(); Exibe(funcionario); system("pause"); return(0); } Estrutura como parâmetro parâmetro cad func ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 #include <iostream> #include <cstdlib> #include <cstring> #include <cctype> using namespace std; struct cad { char nome[31]; int idade; }; void maiuscula(char func[]); Entrada(); void Exibe(cad func); int main() { cad funcionario; funcionario = Entrada(); Exibe(funcionario); system("pause"); return(0); } Estrutura como retorno retorno cad ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 cad Entrada() { 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; } Estrutura como retorno return temp; ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 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]); } Estrutura como parâmetro ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Função como membro de Estrutura ESTRUTURADE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 #include <iostream> #include <cstdlib> using namespace std; ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 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; } }; ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 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"); } ESTRUTURA DE DADOS AGRUPANDO DADOS E CRIANDO NOVOS TIPOS– Aula3 Resumindo
Compartilhar