Doubt when creating structs, relating one struct to another

0

I have created the following structs:

typedef struct cliente{
    unsigned long int codigo;
    char nome[50];
    char endereco[50];
    char cpf[11];
    char idade[3];
    struct cliente* prox;
}Cliente;

typedef struct funcionario{
    unsigned int codigo;
    char nome[50];
    char endereco[50];
    struct funcionario* prox;
}Funcionario;

typedef struct veiculo {
    unsigned int codigo;
    char placa[6];
    char modelo[50];
    char cor[30];
    char assentos[2];
    struct veiculo* prox;
}Veiculo;

They have the function of storing data and registering some information about customer , vehicle and employee , like this: same structure):

//Inserindo clientes
Cliente* inserir_cliente(Cliente *primeiroCliente){
    Cliente cliente;
    Cliente *atual = primeiroCliente;
    char identificador = 'F' ;

    //Lendo as informacoes do cliente.
    printf(" Codigo do cliente: ");
    scanf("%u", &cliente.codigo); printf("\n");
    printf(" Nome: ");
    fflush(stdin); fgets(cliente.nome, 40, stdin); printf("\n");
    printf(" Endere%co: ", 135);
    fflush(stdin); fgets(cliente.endereco, 40, stdin); printf("\n");
    printf(" CPF: ");
    fflush(stdin); fgets(cliente.cpf, 11, stdin); printf("\n");
    printf(" Idade: ");
    fflush(stdin); fgets(cliente.idade, 11, stdin); printf("\n");

    //Verificando se o cadastro ja existe.
    for(atual=primeiroCliente; atual!=NULL; atual=atual->prox){
        if(atual->codigo==cliente.codigo){
            identificador = 'V';
            break;
        }
    }

    if(identificador!='V' && (strlen(cliente.nome)!=1 && strlen(cliente.endereco)!=1)){
        //Alocando espacos e guardando informacoes do cliente.
        Cliente* NovoCliente=(Cliente*) malloc(sizeof(Cliente));
        strcpy(NovoCliente->nome, cliente.nome);
        strcpy(NovoCliente->endereco, cliente.endereco);
        strcpy(NovoCliente->cpf, cliente.cpf);
        strcpy(NovoCliente->idade, cliente.idade);
        NovoCliente->codigo = cliente.codigo;
        NovoCliente->prox = primeiroCliente;
        printf(" Cadastro realizado com sucesso.");
        printf("\n\n PRESSIONE QUALQUER TECLA PARAVA VOLTAR AO MENU PRINCIPAL.");
        return NovoCliente;
    }else{
        printf(" Cadastro inv%clido.", 160);
        printf(" \n\n PRESSIONE QUALQUER TECLA PARA VOLTAR AO MENU PRINCIPAL.");
        return primeiroCliente;
    }

}

My question is the following, I also made the following structure:

typedef struct locacao {
    unsigned long int codigo;
    int cod_veiculo;
    char modelo[50];
    char cor[30];
    int codCliente;
    char nomeCliente[50];
    char idadeCliente[2];
    int codFuncionario;
    char nomeFuncionario[50];
    Data locacao;
    struct locacao* prox;
}Locacao;

I would like to know if there is any way I could enter information in the struct Location from the data already registered in the struct, client , official > and vehicle .

Note: I'm doing it in DevC ++, in the windows environment.

Whoever wants to check the whole code: link

    
asked by anonymous 18.05.2018 / 01:54

0 answers