Linguagem de Programação II Aula 7 Struct/Registros Prof. Luiz José Hoffmann Filho ljhfilho@gmail.com
Struct/Registros Armazenar um conjunto heterogêneo de informação; Exemplo: Informações de uma passagem de avião, onde temos: número da passagem (inteiro), nome do passagem (char), destino e origem (char), data (char), horário (char), poltrona (char), valor (float). Como armazenar isto?
Struct/Registros Em uma Struct/Registro!!! É um conjunto composto de variáveis heterogênea; Pois estas informações são subdivisões de um registro (elementos do conjunto), chamados de campos;
Struct/Registros struct <nome_estrutura> { <tipo_1> <nome_1>; <tipo_2> <nome_2>; ... <tipo_n> <nome_n>; } <variáveis_estrutura>;
Struct/Registros Exemplos 1: struct est{ int i; float f; } a, b;
Exemplo 2: struct tipo_endereco { char rua [50]; int numero; char bairro [20]; char cidade [30]; char sigla_estado [3]; long int CEP; };
Struct/Registros Declaração: Usando um vetor de struct: struct tipo_endereço cadatro; struct est a, b; Usando um vetor de struct: struct tipo_endereço agenda[50];
Struct/Registros #include <stdio.h> #include <string.h> struct tipo_agenda { char nome[50]; char fone[20]; }; int main(int argc, char** argv) { struct tipo_agenda agenda; printf("Digite o nome : \n"); scanf("%s",&agenda.nome); printf("Digite o fone : \n"); scanf("%s", &agenda.fone); printf("Nome %s e fone %s\n", agenda.nome, agenda.fone); return 0; }
Struct/Registros #include <stdio.h> #include <string.h> struct tipo_agenda { char nome[50]; char fone[20]; }; int main(int argc, char** argv) { int i; struct tipo_agenda agenda[5]; for(i=0;i<5;i++) { printf("Digite o nome : \n"); scanf("%s",&agenda[i].nome); printf("Digite o fone : \n"); scanf("%s", &agenda[i].fone); } for(i=0;i<5;i++) printf("Nome %s e fone %s\n", agenda[i].nome, agenda[i].fone); return 0;
Struct/Registros Exercícios: Baseado no seu conhecimento, defina um registro para um cheque bancário. De acordo com o exercício anterior, construa um algoritmo que, usando um campo saldo de um registro conta bancária, imprima um relatório dos cheques sem fundos.
Struct/Registros Exercícios: Faça um algoritmo que leia 3 notas bimestrais para 10 alunos (apresentando no final os dados de cada aluno classificados por nome - opcional). Utilizando estrutura, fazer um programa em C que permita a entrada de nome, endereço e telefone de 50 pessoas e os imprima em ordem alfabética.