Código de uma agenda usando lista simplesmente encadeada em linguagem c

527 palavras 3 páginas
//inclusão de bibliotecas

#include
#include
#include
#include
#include

//estrutura da agenda usando lista encadeada typedef struct Lista{ char nome[30]; unsigned int tel; struct Lista *prox;
}lista;

//ciar lista vazia lista *cria_vazia(){ return NULL;
}

//Cadastrar novo lista *cadastrar(lista *l, char nome[], int tel){ int i; lista *novo=(lista*)malloc(sizeof(lista)); if(novo!=NULL){ for(i=0; nome[i] != '\0'; i++){ novo->nome[i]=nome[i]; } novo->nome[i]='\0'; novo->tel=tel; novo->prox=l; return novo; }else{ printf ("\n Erro de alocação de memória\n"); system("pause>>NULL"); exit(1); }
}

//listar toda a agenda void listar_agenda(lista *l){ lista *aux; int i=0; for (aux=l; aux!=NULL; aux=aux->prox){ i++; printf ("%d => %s\n",i,aux->nome); printf (" => %d \n\n",aux->tel); } system ("pause>>NULL");
}

//faz a busca por nome na agenda int buscar_nome(lista *l,char nome[30]){ lista *aux; for(aux=l;aux!=NULL;aux=aux->prox){ if (strcmp(aux->nome,nome)==0){ printf ("=> %s\n",aux->nome); printf (" %d",aux->tel); system ("pause>>NULL"); return; } } printf ("Nome não encontrado."); system ("pause>>NULL");
}

//função desnecessária que busca um numero na agenda

lista* buscar_numero(lista* l,int num){ lista *aux; for(aux=l;aux!=NULL;aux=aux->prox){ if (aux->tel==num){ printf ("=> %s\n",aux->nome); printf (" %d",aux->tel); system ("pause>>NULL"); return aux; } } printf ("Número nao encontrado\n"); system ("pause>>NULL"); return;
}

//função que remove um elemento da lista

lista *remove_contato_nome(lista *l, char nome[30]){ lista *ptr, *antes; if (l==NULL){ return 0; // Lista vazia !!! }else{ // Caso a lista nao esteja vazia ptr = l; antes = l; while (ptr !=NULL){ if (strcmp(ptr->nome,nome)==0){ if (ptr == l){ // se esta

Relacionados

  • Estrutura de Dados
    3984 palavras | 16 páginas
  • Técnicas de programação avançada
    18016 palavras | 73 páginas
  • 1. Considere um caso de uso controlar matricula, cujo objetivo é registrar a matricula do aluno. partindo desse cenário elaborar a documentação de caso de uso.
    7565 palavras | 31 páginas
  • Apostila C Unisul
    33472 palavras | 134 páginas
  • Computação
    70360 palavras | 282 páginas
  • Logica de programação
    9186 palavras | 37 páginas
  • Logica
    9138 palavras | 37 páginas
  • apostila programação
    11432 palavras | 46 páginas
  • a casa
    20634 palavras | 83 páginas
  • Tec info
    11577 palavras | 47 páginas