Ir para conteúdo
Fórum Script Brasil

Lioo_

Membros
  • Total de itens

    1
  • Registro em

  • Última visita

Posts postados por Lioo_

  1. Olá pessoal!

    Preciso fazer um programa em C que crie uma estrutura de arvore binária de busca, onde, dentro dos nós(além dos ponteiros) devo guardar os atributos nome e cpf, cujo já estão dentro de um arquivo .txt no formato: cpf em uma linha, nome na outra. O campo de comparação é o cpf.

    Após isso, preciso fazer a visitação "em ordem" pela arvore, e guardar essas informações ordenadas dentro de outro arquivo .txt , no formato

    nome e cpf na mesma linha.

    Fiz um programa de uma arvore, guardando e ordenando dados, porém usando somente uma LETRA como a informação. Estou com dificuldade de como inserir esses dois campos(cpf,nome) e ao mesmo tempo usando arquivos .txt, ao invés de guardar dentro do próprio programa.

    Segue código:(obs: o formato que são mostrados na forma final é o formato q devo gravar por fim no arquivo texto, porém, no código abaixo, no caso, só são os numeros)

    #include <stdio.h>
    #include <malloc.h>
    
    	typedef struct {
    		char nome ;
    		char cpf;
    		struct No * esq ;
    		struct No * dir ;
    		} No ;
    		
    	
    
    	void insert ( No * * t , char letra ) {
    		
    		if ( *t == NULL ) {
    			*t = ( No * ) malloc ( sizeof ( No ) ) ;
    			(*t)->cpf = letra ;
    			(*t)->nome = letra ;
    			(*t)->esq = NULL ;
    			(*t)->dir = NULL ;
    		}
    		else
    			if ( letra > (*t)->cpf )
    			insert ( (No **) &(*t)->dir, letra ) ;
    			else
    				if ( letra < (*t)->cpf )
    					insert ( (No **) &(*t)->esq, letra ) ;
    			}
    
    
    	void ordem ( No * t ) {
    		if ( t != NULL ) {
    			ordem ( (No *) t->esq ) ;
    			printf("[%c] \t", t->nome);
    			printf("[%c] \t\n", t->cpf);
    			ordem ( (No *) t->dir ) ;
    		}
    	}
    
    	
    
    	int main ( void ) {
    		No * goiabeira = NULL ;
    		No * onde_estah ;
    
    		insert ( &goiabeira , '1') ;
    		insert ( &goiabeira , '0') ;
    		insert ( &goiabeira , '2') ;
    		insert ( &goiabeira , '3') ;
    		insert ( &goiabeira , '5') ;
    		insert ( &goiabeira , '2') ;
    		insert ( &goiabeira , '7') ;
    		insert ( &goiabeira , '3') ;
    		insert ( &goiabeira , '1') ;
    		insert ( &goiabeira , '6') ;
    
    		ordem ( goiabeira ) ;
    
    		
    }
    

×
×
  • Criar Novo...