TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Codigo de cadastro

Por:   •  22/11/2015  •  Abstract  •  1.816 Palavras (8 Páginas)  •  235 Visualizações

Página 1 de 8

#include <stdio.h>

#include <stdlib.h>

#include <conio.h>

//CRIACAO DA STRUCT CONTATO - COMPLETO

struct contato{

char nome[80];

int telefone;

char email[80];

struct contato* prox;

};

typedef struct contato lista;

struct contato *aux, *inicio = NULL, *final = NULL;

/* CRIANDO LISTA VAZIA */

lista* cria(void) {

return NULL;

}

//CRIACAO DE MAIS UM CONTATO - OK

struct contato* insere_final() {

char aux_nome[80], aux_email[80];

int x, aux_telefone;

printf("\nEntre com o nome: ");

scanf("%s", aux_nome);

printf("\nEntre com o telefone: ");

scanf("%d", &aux_telefone);

printf("\nEntre com o email: ");

scanf("%s", aux_email);

aux = (struct contato*) malloc (sizeof(struct contato));

strcpy(aux->nome, aux_nome);

aux->telefone = aux_telefone;

strcpy(aux->email, aux_email);

aux -> prox = (struct contato *) NULL;

if(inicio == NULL)

inicio = final = aux; // Não existe elemento anterior e portanto há apenas um elemento na lista. Assim inicio e final são o mesmo elemento da lista.

else {

final -> prox = aux; // O elemento incluido se torna o ultimo elemento da lista. Assim o prox aponta para o elemento incluido.

final = aux;

}

return inicio;

}

//CONCEITO DE LISTA VAZIA - COMPLETO... EU ACHO

int lista_vazia(struct contato *lista) {

if(lista == NULL)

return 1;

else

return 0;

}

//VISUALIZAR LISTA - TERMINADO

void visualiza_lista_final(struct contato *lista) {

/* verifica se a lista está vazia*/

int i = 1;

if(!lista_vazia(lista)) {

aux = lista;

while(aux != (struct contato *) NULL) { // Enquando o aux for diferente de NULL. Note que aux é atualizado com o ponteiro para o proximo elemento.

printf("contato n: %d\n", i);

printf("\nNome: %s\n", aux->nome);

printf("Telefone: %d\n", aux->telefone);

printf("E-mail: %s\n\n", aux->email);

aux = aux -> prox;

i++; // Atualiza aux com o ponteiro para o proximo elemento.

}

}

/* indica que a lista está vazia*/

else

printf("\nTentou imprimir uma lista vazia!");

getch();

}

//FUNCAO DE BUSCA DE CONTATO PELO TELEFONE (Y)

struct contato* busca(struct contato* lista, int busca) {

int achou = 0; // Assume que o elemento nao existe na lista, inicializando o flag com 0

if(!lista_vazia(lista)) { // Se a lista nao estiver vazia inicia a busca

for(aux=lista;aux!=NULL;aux=aux->prox) { // Percorre a lista a partir do primeiro elemento ate que o proximo elemento seja NULL

if(aux->telefone == busca) { // Se o campo valor do elemento for igual a busca entao atualiza o flag para 1

printf("\nNome: %s\n", aux->nome);

printf("Telefone: %d\n", aux->telefone);

printf("E-mail: %s\n\n", aux->email);

getch();

achou = 1;

}

}

if(!achou) {

printf("Contato nao encontrado.\n");

getch();

}

}

else {

printf("\nTentou buscar de uma lista vazia"); // Se a lista nao exister preenchida exibe mensagem informando lista vazia

getch();

}

return NULL;

}

//FUNCAO

...

Baixar como (para membros premium)  txt (6.4 Kb)   pdf (53 Kb)   docx (14.7 Kb)  
Continuar por mais 7 páginas »
Disponível apenas no TrabalhosGratuitos.com