Funções, Ponteiros e Struct

Publicado por gustavo 19/11/2005

[ Hits: 16.409 ]

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

Uma ajuda para quem gosta de Geometria Analítica

Retorna o número elevado ao quadrado

Binário para decimal

bolinha que rebate nas bordas da janela (com SDL)

Quantos números primos você quizer!!!


  

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