100 likes | 256 Views
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 <stdio.h> ;
E N D
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<stdio.h>; #include<string.h>; /** * Estrutura utilizada para representar uma pessoa * */ struct Pessoa { charnome[100]; charendereco[100]; chartelefone[50]; intidade; };
Código intmain() { //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 { charmarca[100]; charmodelo[100]; floatpreco; intpotencia; };
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.