Algoritimo E Progamação
Artigo: Algoritimo E Progamação. Pesquise 862.000+ trabalhos acadêmicosPor: EngAraujo • 24/9/2013 • 641 Palavras (3 Páginas) • 282 Visualizações
[] Registro
[] Exercícios
[] ATPS (3)
[] Fonte bibliográfica
REGISTRO
Vetores e matrizes
Estruturas de dados homogêneas armazenam vários valores, mas todos de um mesmo
tipo (todos int, todos double, todos float, todos char)
PROBLEMAS REAIS
Temos coleções de dados que são de tipos diferentes.
Exemplo: ficha de um cadastro de cliente
Nome: string
Endereço: string
Telefone: string
Salário: float
Idade: int
Ficha
Nome: ____
Endereço: _____
Telefone: ______
Salário: ______
Idade: _______
REGISTRO (OU STRUCT)
Tipo de dado estruturado heterogêneo. Coleção de variáveis referenciadas sobre um mesmo nome. Permite agrupar dados de diferentes tipos numa mesma estrutura (ao contrário de matrizes que possuem elementos de um mesmo tipo)
Cada componente de um registro pode ser de um tipo diferente (int, char, ...)
Estes componentes são referenciados por um nome
Os elementos do registro
São chamados de campos ou membros da struct. É utilizado para armazenar informações de um mesmo objeto.
Exemplos:
carro _ cor, marca, ano, placa, chassi
pessoa _ nome, idade, endereço
CAMPO (FIELD)
Conjunto de caracteres com o mesmo significado.
Exemplo: nome
Registro (Struct ou Record)
Conjunto de campos relacionados
Exemplo: nome, endereço, telefone, salário e idade de uma pessoa
SINTAXE NA LINGUAGEM C
A palavra reservada struct indica ao compilador que está sendo criada uma Ratrutura. Uma estrutura deve ser declarada após incluir as bibliotecas e antes da main.
struct <identificador_struct> {
tipo <nome_variável_campo1>;
tipo <nome_variável_campo2>;
} <variáveis_estrutura>;
struct <identificador_struct> <var1>, <var2>;
Se o compilador C for compatível com o padrão C ANSI. Informação contida em uma struct pode ser atribuída a outra struct do mesmo tipo. Não é necessário atribuir os valores de todos os elementos/campos separadamente.
Por exemplo: <var1> = <var2>;
Todos os campos de <var1> receberão os valores correspondentes dos campos de <var2>
Para acessar os campos da struct utiliza-se o nome da variável struct, seguido de ponto, seguido do nome do campo
Por exemplo: <var1>.<nome_variável_campo2>;
Por exemplo um struct endereço que guarda os elementos nome, rua, cidade, estado e cep
struct endereco{
char nome[30];
char rua[40];
long int cep;
};
Foi feita apenas a declaração da struct, ainda não foi criada nenhuma variável da struct endereço. O comando para declarar uma variável com esta struct é:
struct endereco info_end;
Já vimos que para acessar os membros de uma struct devese usar nome_variável.nome_membro.
Portanto, considerando o exemplo anterior. Para inicializar o cep da variável info_end que é uma variável da struct endereço se faria:
info_end.cep = 123456;
Para obter o nome da pessoa e colocar na string nome da struct se poderia utilizar:
gets(info_end.nome);
_ Para imprimir o endereço seria:
printf(“%s”, info_end.rua);
EXEMPLO 1
struct aluno {
char nome[40];
float P1;
float P2;
float T;
int faltas;
};//como definição de estrutura é comando, precisa ";”
main() {
struct aluno joao, maria;
joao.P1 = 9.5;
joao.P2 = 8.5;
joao.T = 9.0;
joao.faltas = 4;
maria = joao;
}
EXEMPLO 2
#include <stdio.h>
#include <string.h>
struct endereco {
char rua[40];
int num;
int complemento;
...