Revisao Linguagem C
Ferramentas Computacionais I
#include #include
#include
using namespace std; void Start (); void GetResults (); int i, j, life, maxrand; char c; void Start ()
{
i = 0; j = 0; life = 0; maxrand = 6; cout maxrand) || (i imprime: 10 de dezembro de 2009.
Registros
Registros
“Agrupamento de um conjunto de dados não similares sob um único nome” nome do tipo recém criado
struct nome
{
tipo variavel1; tipo variavel2
...
}
membros da estrutura
tipo variáveln;
};
...
struct nome nomex;
->declaração da variável nomex como do tipo “nome"
Registros - Exemplo struct data
{
int dia, mês, ano;
};
struct pessoa
{
char nome[30]; struct data dtNasc; char sexo; float peso; float altura;
};
void main(void)
{
struct pessoa p1; struct pessoa p2={“Carolina”,{10,12,1981},´f´,98.5,1.60};
}
Declaração + inicialização
Registros - Exemplo
Acessando os membros do registro: struct pessoa p1; struct pessoa p2={“Carolina”,{10,12,1981},´f´,98.5,1.60}; strcpy(p1.nome,”Alexandre”); p1.peso=76.9; p1.dtNasc.dia=10; p1.dtNasc.mes=5; p1.dtNasc.ano=1989; printf(“%s”,p1.nome);
Atribuições entre registros: p1=p2; p1.altura=p2.altura;
Registros - Exemplo
Registros e Arrays struct pessoa pessoas[100]={0}; struct pessoa alunos[30]={{“Carolina”,{10,12,1981},´f´,98.5,1.60},
{“André”,{11,10,1975},’m’,67.4,1.89},
{“Maria Luiza”,{20,11,1971},’f’,75,1.72}};
printf(“%s”,alunos[0].nome); pessoas[0]=alunos[1]; //imprime a data de nascimento de todos: for(i=0;ipeso_max=30; novo->ant=aux; aux= novo; while(aux!=NULL) { printf(“%s %f”,aux->nome,aux->peso_max); aux=aux->ant; }
Encadeamento Dinâmico de Registros (solução modularizada)
Peixe *ultimo=NULL;
Peixe *aux;
Peixe *novo; novo = new Peixe; strcpy(novo->nome,"jahu"); novo->peso_max=15000; ultimo=insere(novo,ultimo); novo = new Peixe; strcpy(novo->nome,"dourado"); novo->peso_max=5000;
ultimo=insere(novo,ultimo);