Baixe o app para aproveitar ainda mais
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
Compartilhar