Chained List in C - How to implement insert function

-1

I'm trying to implement data in a linked list. How can I make a function to enter the login, name and value data in my list?

typedef struct registro_st{         // sequência de objetos do mesmo tipo
    char login[50];
    char nome[50];
    float valor;
    struct registro *prox;
} registro;

typedef struct nodo_st{
    registro dado;
    struct nodo *prox;
} nodo;

typedef struct Lista_st{
    nodo *cabeca;
    nodo *cauda;
    int tamanho;
} lista;


nodo* CriarNodo(registro p){

    nodo* n;
    n = (nodo*)malloc(sizeof(nodo));
    n->dados = p;
    n->prox= NULL;
    return n;
}

lista* criarLista(){
    lista* l = (lista*)malloc(sizeof(lista));
    l->cabeca = NULL;
    l->cauda = NULL;
    l->tamanho = 0;
    return l;
}
    
asked by anonymous 21.07.2017 / 05:12

1 answer

1

Do your input readings in main, create a new record in main (you did not put the function createRegistration, so I assumed you have not yet implemented it). After reading the data, put it in the registry, node, and therefore in the list:

int main() {
    .
    .
    .
    registro_st *novoRegistro = criaRegistro(); //é importante fazer essa função!
    printf("Login: ");
    scanf("%s", novorRegistro->login);
    printf("Nome: ");
    scanf("%s", novorRegistro->nome);
    printf("Valor: ");
    scanf("%f", novorRegistro->valor);
    nodo_st *novoNodo = criaNodo(novoRegistro);
    inserirLista(novoNodo);
    .
    .
    .
    }
    
21.07.2017 / 14:57