Funções, Ponteiros e Struct

Publicado por gustavo 19/11/2005

[ Hits: 16.294 ]

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

Gerar senhas em C

Tabuada de um determinado número

Crivo de Eratóstenes

Multiplicação de 2 matrizes

tabuada do 1 ao 10


  

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