Upload
nascha
View
34
Download
0
Embed Size (px)
DESCRIPTION
Marco Reis Nov/2009. Struct. Struct. Coleção de um ou mais valores que podem ser agregados sob um nome único. Organiza o código, uma vez que possibilita ao programador trabalhar com os dados agregados como se fosse uma única variável. struct pessoa. #include ; - PowerPoint PPT Presentation
Citation preview
StructMarco Reis
Nov/2009
Struct• Coleção de um ou mais valores que
podem ser agregados sob um nome único.
• Organiza o código, uma vez que possibilita ao programador trabalhar com os dados agregados como se fosse uma única variável.
struct pessoa#include <stdio.h>;
#include <string.h>;
/**
* Estrutura utilizada para representar uma pessoa
* */
struct Pessoa {
char nome[100];
char endereco[100];
char telefone[50];
int idade;
};
Códigoint main() {
//Declaracao das variaveis do tipo struct
struct Pessoa usuario;
//Para campos char[] (string), utilize a rotina strcpy
strcpy(usuario.nome, "Marco Antonio");
strcpy(usuario.endereco, "GUARA");
strcpy(usuario.telefone, "87879898");
//Para tipos numericos faca associacao direta
usuario.idade = 30;
//Para acessar os dados gravados, utilize a mesma estrutura
printf("Dados do Usuario\n");
printf("Nome: %s\n", usuario.nome);
printf("Endereco: %s\n", usuario.endereco);
printf("Telefone: %s\n", usuario.telefone);
printf("Idade: %i\n", usuario.idade);
return 0;
}
Atividade• Recupere as informações do usuário
através do scanf ou gets.
struct Automovel/**
* Estrutura para armazenar os dados de um automovel
*/
struct Automovel {
char marca[100];
char modelo[100];
float preco;
int potencia;
};
Código//
struct Automovel carro;
strcpy(carro.marca, "Volkswagen");
strcpy(carro.modelo, "Golf");
carro.preco = 49900.99;
carro.potencia = 117;
//
printf("\nDados do Automovel\n");
printf("Marca: %s\n", carro.marca);
printf("Modelo: %s\n", carro.modelo);
printf("Preco: %f\n", carro.preco);
printf("Potencia: %ihp\n\n", carro.potencia);
Atividade• Crie uma struct para armazenar os
dados dos alimentos (quais as suas características).
• Informe dados e imprima um teste como os do exemplo.
Vetores/**
* Para trabalhar com vetores, utiliza-se o mesmo principio
* Atencao especial para o indice de cada elemento
*/
struct Pessoa turma[5];
int i;
//Armazene os valores
for (i = 0; i < 5; i++) {
char nome[100];
printf("Informe o nome da %ia pessoa:\n", i + 1);
scanf("%s", nome);
strcpy(turma[i].nome, nome);
}
//Recupere seus dados
printf("Dados da Turma\n");
for (i = 0; i < 5; i++) {
printf("%i - %s\n", turma[i].nome);
}
Atividade• Complete o programa e solicite ao
usuário todos os demais dados da struct Pessoa.
• Depois de inserir cada uma das pessoas, pergunte se deseja continuar inserindo ou se deseja encerrar e mostrar os dados já cadastrados.
• Crie um vetor para armazenar uma refeição completa: entrada, prato principal, bebida e sobremesa.