C++ Ponteiro
#include
#include
#include
typedef struct filaNo{ char nome[30]; char cpf[12]; char datanasc[9]; struct filaNo* proximo; // Definição dos nós da fila
} tfilaNo;
typedef struct tfila{ filaNo* inicio; filaNo* final; // Definição do tipo fila
} tfila; //====================================================================================
// Função que cria uma fila vazia void cria_fila (tfila *F)
{
F->inicio = F->final = NULL;
}
// Função que verifica se a fila está vazia int fila_vazia (tfila F)
{
if(F.inicio == NULL && F.final == NULL) return 1; else return 0;
}
int Imprimir_fila(tfila *F){ tPessoa *auxi; while (vazia(F)!=1){ printf("... %s\n", auxi->nome); } system("pause");
}
// Inserção de um novo elemento na fila int inserir_fila (tfila *F, char *nome, char *cpf, char *dt_nasc){ tPessoa *novo; novo = (tPessoa*) malloc(sizeof(tPessoa)); if (novo == NULL) return 0; /* Erro ao alocar o novo nó */ strcpy(novo->nome, nome); strcpy(novo->cpf, cpf); strcpy(novo->datanasc, dt_nasc); novo->proximo = NULL; //Atribuição do valor e apontando o próximo para NULL if (fila_vazia(*F)) { F->inicio = novo; // Se a fila estiver vazia, o novo nó sera o primeiro da fila } else { (F->final) = novo; } F->final = novo; // Senão, o ponteiro para o final da fila apontará para o novo nó return 1;
}
int main(){ //Pessoa *pPessoas = NULL; int opc, valor,a; tfila doc; cria_fila(&doc); inserir_fila(&doc, "primeiro", "01090204051", "25091986"); inserir_fila(&doc, "segundo", "01090204052", "25091987"); inserir_fila(&doc, "terceiro", "0109020445", "2509154"); inserir_fila(&doc, "quarto", "0109020445", "2509154"); inserir_fila(&doc, "quinto", "0109020445", "2509154"); inserir_fila(&doc, "sexto", "0109020445", "2509154");