Funções, Ponteiros e Struct

Publicado por gustavo 19/11/2005

[ Hits: 16.334 ]

Homepage: http://gustavopaes.net

Download struct.c




Simples código que utiliza função, ponteiro e struct.
No geral ele faz o cadastro de usuários (código, nome, idade, altura) e possúi também uma busca.

  



Esconder código-fonte

#include <stdio.h>

#define MAX 3 /* numero de usuários */

/* dados da pessoa */
struct dados{
    int codigo;
    char nome[150];
    int idade;
    float altura;
};

/* função que faz o cadastro */
void Cadastro(struct dados *cad){

    int x;

    for(x=0; x<MAX; x++){
        printf("Codigo: %d\n", cad[x].codigo = x);
        
        printf("Nome: ");
        scanf("%s", &cad[x].nome);

        printf("Idade: ");
        scanf("%d", &cad[x].idade);

        printf("Altura: ");
        scanf("%f", &cad[x].altura);
        
        printf("\n");
    }

}

/* função que faz a busca na struct */
int Busca(struct dados *busc, int codigo){

    int x;

    for(x=0; x<MAX; x++){
        if(busc[x].codigo == codigo)
            return x;
    }

    return -1;

}

int main(){

    int x;
    int ind;
    int cod;

    struct dados people[MAX];

    /* CADASTRA USUÁRIOS */
    Cadastro(people);

    printf("\n######### BUSCA #########\n");

    printf("Codigo: (-1 para sair)");
    scanf("%d", &cod); /* pega código para buscar */
    do{

        ind = Busca(people, cod); /* busca aqui !!! */

        if(ind > -1)
            printf("Nome: %s\nIdade: %d\nAltura: %.2f\n\n", people[ind].nome, people[ind].idade, people[ind].altura);
        else
            printf("Usuario nao encontrado... !!!\n\n");

        printf("Codigo: (-1 para sair)");
        scanf("%d", &cod); /* pega código para buscar */

    } while(cod >= 0);

    return 0;
}

Scripts recomendados

Tabela ASCII

Caos nos Números

Parte 7 (Pesquisa) - Sessão de estudo sobre MATRIZES.

Jogo da velha, para 2 jogadores, bem simples

Verificação de ano bissexto


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts