Trabalho com Passagem de Parâmetros


Modelagem de um Lançamento

    tipo Lancamento {
        caracter  *nome; “ponteiro para char alocado no heap“
        real    valor;
    };

Modelagem de um tipo Lista para Débitos ou Créditos

Pseudo-código:

    constantes Maxlista = 100;

    tipo ListaContabil {
        Lancamento dados[Maxlista];    “ Vetor de Estrutura Lançamento “
        inteiro  ultimo;
    };

Importante: Observe que criando um vetor de lancamentos, você não vai estar reservando memória para os nomes destes, pois o campo nome é só ponteiros. Lembre-se de alocar.
 

Usando (pseudo código)

    ListaContabil debitos, creditos;     adiciona(&debitos, nomeLanc, valorLanc)     Inteiro FUNÇÃO adiciona(ListaContabil *plano,
                            caracter      *nome,
                            real          valor)

Importante: nome é passado como ponteiro para caracter. Use um buffer global para ler o nome do lancamento do usuário.
 

Modelagem da Lista


Usando (Código C)

    ListaContabil debitos, creditos;

    debitos.dados[2].valor = 5.0;
    strcpy(debitos.dados[2].nome, buffer);
 

    Suponha: ListaContabil *ponteiro e ponteiro = &debitos;

    ponteiro->dados[2].valor = 5.0;
    strcpy(ponteiro->dados[2].nome, buffer);