Funções, Ponteiros e Struct
Publicado por gustavo 19/11/2005
[ Hits: 16.643 ]
Homepage: http://gustavopaes.net
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.
#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;
}
Controlando o teclado enquanto mensagens são exibidas no console
Verificando se um número é primo.
Nenhum comentário foi encontrado.
LazyDocker – Interface de Usuário em Tempo Real para o Docker
Instalando COSMIC no Linux Mint
Turbinando o Linux Mint: o poder das Nemo Actions
Inteligência Artificial no desenvolvimento de software: quando começar a usar?
[Resolvido] Algo deu errado ao abrir seu perfil
Usando o VNSTAT para medir o seu consumo de internet
Habilitando clipboard manager no ambiente COSMIC
Quando vocês pararam de testar distros? (12)
Problema com som no laptop (3)
Não estou conseguindo fazer funcionar meu Postfix na versão 2.4 no Deb... (2)









