Issuu on Google+

Document1

11/08/2010

#include <stdio.h> #include <stdlib.h> //constante para tamanho do vetor #define TAM 2 struct dados_pessoais { char codigo[10]; char nome[30]; char naturalidade[20]; char estado[3]; //AM\0 char data_nasc[20]; }dados[TAM]; void armazenarDados(struct dados_pessoais *dadosPessoais){ int cont; for(cont=0; cont<TAM; cont++){ printf(" \n\n::CADASTRO Nr.: %d\n", cont); printf("\nCODIGO : "); gets(dadosPessoais[cont].codigo); printf("NOME : "); gets(dadosPessoais[cont].nome); printf("NATURALIDADE : "); gets(dadosPessoais[cont].naturalidade); printf("ESTADO : "); gets(dadosPessoais[cont].estado); printf("DATA NASCIMENTO : "); gets(dadosPessoais[cont].data_nasc); printf("\n-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\n"); } } void impressao(struct dados_pessoais *dadosPessoais){ int cont; printf("\n\n\n\IMPRESSAO DOS DADOS DIGITADOS"); for(cont=0; cont<TAM; cont++){ printf(" \n\n::CADASTRO Nr.: %d\n", cont); printf("\nCODIGO : %s\n", dadosPessoais[cont].codigo); printf("NOME : %s\n", dadosPessoais[cont].nome); printf("NATURALIDADE : %s\n", dadosPessoais[cont].naturalidade); printf("ESTADO : %s\n", dadosPessoais[cont].estado); printf("DATA NASCIMENTO : %s\n", dadosPessoais[cont].data_nasc); printf("\n-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\n"); } } int pesquisaDados(char codigo[10]){ int c; printf("::PESQUISANDO CODIGO: ", codigo); for(c=0; c<TAM; c++){ if(strcmp(dados[c].codigo, codigo)==0){ return c; } } return -1; } void impressaoDado(int indice){ printf(" \n\n::RESULTADO DA PESQUISA - INDICE: %d\n"); printf("\nCODIGO : %s\n", dados[indice].codigo); printf("NOME : %s\n", dados[indice].nome); printf("NATURALIDADE : %s\n", dados[indice].naturalidade); printf("ESTADO : %s\n", dados[indice].estado); printf("DATA NASCIMENTO : %s\n", dados[indice].data_nasc); printf("\n-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\n"); } int main(int argc, char *argv[]) { struct dados_pessoais *pdados; pdados = &dados; //Inicializando ponteiro char pesq[10]; int indice; 1


Document1

11/08/2010

//Armazenamento n達o persistente armazenarDados(pdados); //impressao(pdados); printf("\n\n\::PESQUISE: "); gets(pesq); indice = pesquisaDados(pesq); if(indice>=0){ impressaoDado(indice); }else printf("\n\nARQUIVO NAO ENCONTRADO!!\n"); system("PAUSE"); return 0; }

2


Alocação Estatica com Ponteiros