Ir ao conteúdo

Posts recomendados

Postado

boa noite galera. 

fiz um programa em c de cadastro usando lista , programa esta rodando certo , so estou com uma duvida para fazer uma funcão para pessoa digitar seus dados e compara se ele ja foi cadastrado, como teste fiz no main para verificar se esta inserindo certo.

 

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define FALSE 0
#define TRUE 1


typedef struct
{
    char nome[30];
    char cpf[11];
    int valida;
    int titulo;
} sCadastro;

struct nodeCadastro
{
    struct nodeCadastro *anterior;
    sCadastro eleitor;
    struct nodeCadastro *prox;
};

typedef struct
{
    struct nodeCadastro *inicio;
    struct nodeCadastro *fim;

} listaCadastro;

void create(listaCadastro *l);
int pushCadastro(listaCadastro *q,sCadastro d);
void imprime(listaCadastro q);

main()
{
    listaCadastro cadastro;
    sCadastro eleitor;
    create(&cadastro);

    printf("Digite seu nome:");
    scanf("%s",&eleitor.nome);
    printf("Digite seu cpf:");
    scanf("%s",&eleitor.cpf);

    pushCadastro(&cadastro,eleitor);

    printf("Digite seu nome:");
    scanf("%s",&eleitor.nome);
    printf("Digite seu cpf:");
    scanf("%s",&eleitor.cpf);

    pushCadastro(&cadastro,eleitor);


    imprime(cadastro);


}


void create(listaCadastro *l)
{
    l->inicio = NULL;
    l->fim = NULL;
}

int pushCadastro(listaCadastro *q,sCadastro d)
{
    struct nodeCadastro *aux, *atual, *anterior;
    aux = (struct nodeCadastro *) malloc(sizeof(struct nodeCadastro));
    if (aux!=NULL)
    {
        strcpy(aux->eleitor.nome,d.nome);
        strcpy(aux->eleitor.cpf,d.cpf);
        aux->eleitor.valida = TRUE;
        aux->eleitor.titulo = 250;
        aux->prox = NULL;
        anterior = NULL;
        atual = q->inicio;

        if (anterior == NULL)
        {
            aux->prox = q->inicio;
            q->inicio = aux;
        }
        else
        {
            anterior->prox = aux;
            aux->prox = atual;
        }
    }
}


void imprime(listaCadastro q)
{
    struct nodeCadastro *aux;
    aux = q.inicio;
    if (aux != NULL)
    {   printf("\n-----------------------------------------------");
        while (aux != NULL)
        {
            printf("\nNome:%s", aux->eleitor.nome);
            printf("\nCPF:%s", aux->eleitor.cpf);
            printf("\nValida:%d", aux->eleitor.valida);
            printf("\nTitulo:%d", aux->eleitor.titulo);
            aux = aux->prox;
            printf("\n-----------------------------------------------");
        }

    }
}
 

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!