Buscar

Registros - C

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

Registros
Computac¸a˜o Ba´sica
Prof. Marcos F. Caetano
caetano@cic.unb.br
Departamento de Cieˆncia da Computac¸a˜o
Universidade de Bras´ılia
CIC 1/1
Registros
Vetores sa˜o conjuntos de dados homogeˆneos, mas muitas vezes deseja-se
lidar com dados heterogeˆneos.
Leu N?
Leia nomei
Leia idadei
Leia alturai
· · ·
na˜o
sim
Leu N?
Leia DadosPessoaisi
· · ·
na˜o
sim
CIC Registros - Registros 2/8
Registros
Vetores sa˜o conjuntos de dados homogeˆneos, mas muitas vezes deseja-se
lidar com dados heterogeˆneos.
Leu N?
Leia nomei
Leia idadei
Leia alturai
· · ·
na˜o
sim
Leu N?
Leia DadosPessoaisi
· · ·
na˜o
sim
CIC Registros - Registros 2/8
Registros
Registro
Estrutura que armazena diferentes tipos de dados em uma u´nica varia´vel.
1 Algoritmo LeFunciona´rios
2 Definic¸o˜es
3 funcionario : registro (nome, enderec¸o : string;
4 sexo : caractere;
5 co´digo : inteiro;
6 sala´rio : real)
7 Varia´veis
8 funciona´rios : vetor[1000] de funcionario
9 Inı´cio
10 /* ... */
11 Para i de 0 a 999 Fac¸a
12 Leia(funciona´rios[i])
13 FimPara
14 /* ... */
15 Fim
CIC Registros - Registros 3/8
Registros
Acesso aos campos de um registro:
1 Algoritmo ExemploDeAcessoARegistro
2 Varia´veis
3 f : funcionario
4
5 Inı´cio
6 /* ... */
7 Escreva("O nome e´: ", f.nome)
8 Escreva("O enderec¸o e´: ", f.enderec¸o)
9 Escreva("O sexo e´: ", f.sexo)
10 Escreva("O co´digo e´: ", f.co´digo)
11 Escreva("O sala´rio e´: ", f.sala´rio)
12 /* ... */
13 Fim
CIC Registros - Registros 4/8
Registros
Registros em C
1 typedef struct {
2 char nome[50], endereco[200], sexo;
3 int codigo;
4 float salario;
5 } funcionario;
6
7 int main() {
8 int i;
9 funcionario funcionarios[1000];
10 /* ... */
11 for(int i = 0; i < 1000; i++) {
12 printf("\nDigite o codigo: ");
13 scanf("%d", &(funcionarios[i].codigo));
14 printf("\nDigite o nome: ");
15 gets(funcionarios[i].nome);
16 /* ... */
17 }
18 /* ... */
19 return 0;
20 }
CIC Registros - Registros 5/8
Registros
Acesso aos campos de um registro:
1 int main() {
2 funcionario f, *ptr;
3 /* ... */
4 scanf("%s", f.nome)
5 scanf("%s", f.endereco)
6 scanf("%c", &f.sexo)
7 scanf("%d", &f.codigo)
8 scanf("%f", &f.salario)
9 ptr = &f;
10 printf("\nO nome e´: %s", ptr->nome)
11 printf("\nO enderec¸o e´: %s", ptr->endereco)
12 printf("\nO sexo e´: %c", ptr->sexo)
13 printf("\nO co´digo e´: %d", ptr->codigo)
14 printf("\nO sala´rio e´: %f", ptr->salario)
15 /* ... */
16 }
CIC Registros - Registros 6/8
Registros
Acesso aos campos de um registro:
1 int main() {
2 funcionario f, *ptr;
3 /* ... */
4 scanf("%s", f.nome)
5 scanf("%s", f.endereco)
6 scanf("%c", &f.sexo)
7 scanf("%d", &f.codigo)
8 scanf("%f", &f.salario)
9 ptr = &f;
10 printf("\nO nome e´: %s", ptr->nome)
11 printf("\nO enderec¸o e´: %s", ptr->endereco)
12 printf("\nO sexo e´: %c", ptr->sexo)
13 printf("\nO co´digo e´: %d", ptr->codigo)
14 printf("\nO sala´rio e´: %f", ptr->salario)
15 /* ... */
16 }
CIC Registros - Registros 6/8
Registros
Exerc´ıcio
Supondo uma turma de CB, escreva um programa que leia a quantidade de
alunos (ma´ximo de 45) e armazene as seguintes informac¸o˜es para cada um:
nome, matricula, sexo, nota das 3 provas, e notas dos 10 trabalhos. Calcule
e mostre a me´dia das notas dos homens e das mulheres.
CIC Registros - Registros 7/8
Resumo
Registros
CIC Registros - Resumo 8/8
	Registros

Outros materiais