Escolar Documentos
Profissional Documentos
Cultura Documentos
Aula 3 - Structs
2
Problemtica
Olmpia uma veterinria que acabou de
abrir uma clnica em sua cidade. Ela ainda
no teve tempo e dinheiro para aderir a um
sistema que faa o controle do seu negcio.
Mas o filho dela , que um tcnico em
informtica se propos a ajudar a me
desenvolvendo um pequeno aplicativo em C
apenas para manter, inicialmente, algumas
informaes dos clientes como:
Processando a Informao
O filho de Olmpia comea a se perguntar como
poderia desenvolver o aplicativo. Ele percebe que
fcil definir tipos simples de dados como para
nome, rua e bairro e que criar uma lista seria o
mesmo que criar um vetor que armazenasse
esses dados.
Structs
Em C foi visto que todos os tipos de dados char, int,
float ou double podem ser armazenados em variveis
simples.
char nome[30];
char sexo;
short int idade;
};
struct Pessoa{
char nome[30];
char sexo;
short int idade;
}pes_1, pes_2;
8
struct Data{
int dia;
char mes[3];
int ano;
};
Exemplos:
Exemplo:
Atribuindo:
nome_estruct.nome_elemento = valor;
Exibindo:
printf(%formato,nome_estruct.nome_elemento);
11
Exemplo
Preenchendo:
data.dia = 1;
strcpy(data.mes, Jan);
data.ano = 2008;
Exibindo:
printf(%d,data.dia);
puts(data.mes);
printf(%d,data.ano);
12
scanf(%d,&d.dia);
scanf(%s,&d.mes);
scanf(%d,&d.ano);
}
13
Retornando structs
O retorno de estructs feito igualmente ao
retorno de um tipo de dado qualquer.
struct Cachorro preencher(raca,idade)
struct Cachorro{ char raca[20];
short int idade;
{
struct Cachorro c;
char raca[20]; strcpy(c.raca, raca);
short int idade; c.idade = idade;
} return c;
}
14
}pessoa; }pessoa;
15
char nome[30];
char sexo;
short int idade;
ERRADO!
}pessoa pes_info;
16
}Pessoa;
17
strcpy(pes.nome, Emanuel);
pes.idade = 35;
pes.sexo = M;
strcpy(pes.telefone, (88)99008765);
Referncias Bobliogrficas
SCHILDT, Herbert. C completo e total. 3. ed.
So Paulo: MAKRON Books. 1995, 815p.