Criar programa que armazenem CPFs e nomes em uma lista encadeada
#include
#include
struct pessoa
{
char* nome; char* cpf; struct pessoa* proximo;
}; typedef struct pessoa Pessoas;
Pessoas* criar_lista(void);
Pessoas* inserePessoa(Pessoas* lista, char* cpf, char* nome); void imprimeCpfs(Pessoas* lista); void buscarPessoaPorCPF(Pessoas* lista, char* cpf); void buscarPessoaPorNome(Pessoas* lista, char* nome);
Pessoas* apagaPessoaPorCPF(Pessoas* lista, char* cpf);
Pessoas* apagaPessoaPorNome(Pessoas* lista, char* nome); int CPFigual(char* cpf1, char* cpf2); int primeiroMenorQueSegundo(char* primeiro, char* segundo);
int main()
{
Pessoas* lista = criar_lista();
lista = inserePessoa(lista, "12889051730", "Juan Emanuel"); lista = inserePessoa(lista, "84527916371", "Maria Joaquina"); lista = inserePessoa(lista, "84527916371", "Maria Joaquina"); lista = inserePessoa(lista, "78542167894", "Luciana Santos"); lista = inserePessoa(lista, "78542167894", "Luciana Santos"); lista = inserePessoa(lista, "41035874195", "Carla Perez");
char* end; /*if (atoi("12889051730") < atoi("84527916371")) printf("juan"); else printf("%d", strtoull("12889051730",NULL,11));*/
imprimeCpfs(lista);
buscarPessoaPorCPF(lista,"78542167894"); buscarPessoaPorCPF(lista,"38545782194");
buscarPessoaPorNome(lista, "Juan Emanuel"); buscarPessoaPorNome(lista, "Silvio Santos");
lista = apagaPessoaPorCPF(lista,"41035874195"); imprimeCpfs(lista);
lista = apagaPessoaPorNome(lista, "Maria Joaquina"); imprimeCpfs(lista);
return 0;
}
Pessoas* criar_lista(void)
{
return NULL;
}
Pessoas* inserePessoa(Pessoas* lista, char* cpf, char* nome)
{
Pessoas* p = lista; Pessoas* anterior = NULL; Pessoas* novo;
int resultado;
resultado = buscaCPF(p, cpf);
if(resultado == 0) { while (p != NULL && primeiroMenorQueSegundo(p->cpf,cpf) == 1) {