Пример #1
0
int main() {
    LISTA_ENCADEADA minha_lista;
    minha_lista.cont = 0;
    minha_lista.primeiro = NULL;
    minha_lista.ultimo = NULL;
    
    // Uma maneira de se fazer: instancie diretamente a struct e passe seu endereco
    
    ELEMENTO aluno1;
    aluno1.DRE = 111;
    aluno1.CRA = 8.5;
    strcpy(aluno1.nome, "Aluno1");
    inserir(&minha_lista, &aluno1, NULL);
    
    // Outra maneira: crie o ponteiro e aloque memória para ele, 
    // passando depois o proprio ponteiro
    
    ELEMENTO* aluno2_ptr;
    aluno2_ptr = (ELEMENTO*) malloc(sizeof(ELEMENTO));    
    aluno2_ptr->DRE = 222;
    aluno2_ptr->CRA = 6;
    strcpy(aluno2_ptr->nome, "Aluno2");
    inserir(&minha_lista, aluno2_ptr, &aluno1);    
    
    
    print_lista(&minha_lista);

    printf("\n");
    return 1;
}
Пример #2
0
void
print_dir(PNO * p_ini, char *path, int ini, int *pos, int fim)
{
	print_tudo(path, ini, fim);
	print_atributo(ini, fim, 0, 80, 1, 1);
	print_lista((*p_ini), ini, fim);
	print_atributo((*pos), (*pos) + 1, 0, 80, 0, 0);
}
Пример #3
0
void
funcao_up(PNO * p_ini, PNO * p_pos, PNO * p_fim, int ini, int *pos, int fim)
{
	if ((*p_pos)->ant != (*p_ini)->ant) {
		print_atributo((*pos), (*pos) + 1, 0, 80, 1, 0);
		(*pos)--;
		(*p_pos) = (*p_pos)->ant;
		print_atributo((*pos), (*pos) + 1, 0, 80, 0, 0);
	} else if ((*p_ini)->ant) {
		(*p_ini) = (*p_ini)->ant;
		(*p_pos) = (*p_pos)->ant;
		(*p_fim) = (*p_fim)->ant;
		print_atributo(ini, fim, 0, 80, 1, 1);
		print_lista((*p_ini), ini, fim);
		print_atributo((*pos), (*pos) + 1, 0, 80, 0, 0);
	}
}
Пример #4
0
void
funcao_pgup(PNO * p_ini, PNO * p_pos, PNO * p_fim, int ini, int *pos, int fim)
{
	PNO aux = (*p_ini);
	if (dec_tela(&aux, ini, fim - 1)) {
		(*p_fim) = (*p_ini);
		dec_tela(&(*p_pos), ini, fim - 1);
		dec_tela(&(*p_ini), ini, fim - 1);
	} else {
		(*p_ini) = aux;
		(*p_fim) = aux;
		inc_tela(&(*p_fim), ini, fim - 1);
		(*p_pos) = (*p_ini);
		inc_tela(&(*p_pos), ini, (*pos));
	}
	print_atributo(ini, fim, 0, 80, 1, 1);
	print_lista((*p_ini), ini, fim);
	print_atributo(*(pos), (*pos) + 1, 0, 80, 0, 0);
}
Пример #5
0
void
funcao_down(PNO *p_ini, // ponteiro p/ inicio da tela
			PNO *p_pos, // ponteiro p/ posicao do cursor
			PNO *p_fim, // ponteiro p/ fim da tela
			int ini,    // inicio da tela
			int *pos,   // posicao do cursor na tela
			int fim)    // fim da tela
{
	if ((*p_pos)->prox != (*p_fim)->prox) {
		print_atributo(*pos, *pos + 1, 0, 80, 1, 0);
		(*pos)++;
		(*p_pos) = (*p_pos)->prox;
		print_atributo((*pos), (*pos) + 1, 0, 80, 0, 0);
	} else if ((*p_fim)->prox) {
		(*p_ini) = (*p_ini)->prox;
		(*p_pos) = (*p_pos)->prox;
		(*p_fim) = (*p_fim)->prox;
		print_atributo(ini, fim, 0, 80, 1, 1);
		print_lista((*p_ini), ini, fim);
		print_atributo((*pos), (*pos) + 1, 0, 80, 0, 0);
	}
}