diff --git a/tp4/makefile b/tp4/makefile
index 91f8a8fdaa3214c083851c8e6dff23bf3ae4394c..e8d1210da29d2ceaaf4823832b5b1d0442535a43 100644
--- a/tp4/makefile
+++ b/tp4/makefile
@@ -6,10 +6,10 @@ LDFLAGS = -lm
 CC = gcc
 
 # arquivos-objeto
-	objects = testa_conjunto.o lib_conjunto.o 
+	objects = tp4.o lib_conjunto.o 
      
-all: testa_conjunto.o lib_conjunto.o
-	$(CC) -o testa_conjunto testa_conjunto.o lib_conjunto.o $(LDFLAGS)
+all: tp4.o lib_conjunto.o
+	$(CC) -o tp4 tp4.o lib_conjunto.o $(LDFLAGS)
 
 lib_conjunto.o: lib_conjunto.c
 	$(CC) -c $(CFLAGS) lib_conjunto.c
@@ -19,5 +19,3 @@ tp4.o: tp4.c
 
 clean:
 	rm -f $(objects)
-
-
diff --git a/tp4/testa_conjunto b/tp4/testa_conjunto
deleted file mode 100755
index cc0ddb9a2ce9cbe0daabadb1e2ea8b52a54e8877..0000000000000000000000000000000000000000
Binary files a/tp4/testa_conjunto and /dev/null differ
diff --git a/tp4/testa_conjunto.c b/tp4/testa_conjunto.c
deleted file mode 100644
index 6efb2606dc41694bd969dde97fa5bc52f7f0e7bb..0000000000000000000000000000000000000000
--- a/tp4/testa_conjunto.c
+++ /dev/null
@@ -1,204 +0,0 @@
-/*
- * Testes para a lib_conjunto.c
- * Disciplina CI1001 - Programacao I
- * Autor: Marcos Castilho
- * Data: 18/08/2022
-*/
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <time.h>
-#include "lib_conjunto.h"
-#define TAM 21
-
-int main (void) {
-	srand(time(0));
-    conjunto_t *a, *b, *u, *i, *d, *d1, *copia, *sub;
-    int k, ex;
-
-    /* Teste para conjunto vazio */
-    printf ("---> Teste 1\n");
-    if (! (a= cria_cjt (TAM))) {
-        printf ("falha na criacao do conjunto\n");
-        return 1;
-    }
-    if (! vazio_cjt (a)) {
-            printf("ERRO: criou conjunto nao vazio\n");
-            return 1;
-    }
-    printf("OK: conjunto vazio\n");
-
-    /* Teste de insercao de elementos no conjunto */
-    printf ("---> Teste 2\n");
-    for (k=1; k <= 10; k++){
-        ex= insere_cjt (a, 2*k);
-        if (ex == 0) {
-            printf ("acabou espaco ao tentar inserir %d! Pode aumentar se quiser\n",2*k);
-        }
-    }
-    printf ("Inseriu todos os elementos corretamente em a\n");
-
-    /* Teste de impressao em conjunto com segundo teste de conjunto vazio */
-    printf ("---> Teste 3\n");
-    if (vazio_cjt (a)) {
-        printf ("ERRO: conjunto a misteriosamente ficou vazio\n");
-        return 1;
-    }
-    imprime_cjt (a);
-    printf ("A saida deve ter sido os números pares de 2 a 20, senao esta errado\n");
-    printf ("Lembrando que a impressao eh sempre em ordem crescente, pelo enunciado\n");
-
-    /* Criando conjunto para testes de uniao, interseccao e diferenca */
-    printf ("---> Teste 4\n");
-    if (! (b= cria_cjt (TAM))) {
-        printf ("falha na criacao do conjunto\n");
-        return 1;
-    }
-    for (k=1; k <= 20; k++){
-        ex= insere_cjt (b, k);
-        if (ex == 0) {
-            printf ("acabou espaco ao tentar inserir %d!\n",k);
-        }
-    }
-    imprime_cjt (b);
-    printf ("A saida deve ter sido todos os números de 1 a 20, senao esta errado\n");
-
-    /* Teste para uniao de dois conjuntos */
-    printf ("---> Teste 5\n");
-    if (! (u= uniao_cjt (a, b))) {
-            printf ("falha na uniao de dois conjuntos\n");
-            return 1;
-    }
-    imprime_cjt (u);
-    printf ("uniao: A saida deve ter sido todos os números de 1 a 20, senao esta errado\n");
-
-    /* Teste para intersecao de dois conjuntos */
-    printf ("---> Teste 6\n");
-    if (! (i= interseccao_cjt (a, b))) {
-            printf ("falha na interseccao de dois conjuntos\n");
-            return 1;
-    }
-    imprime_cjt (i);
-    printf ("intersec: A saida deve ter sido os números pares de 2 a 20, senao esta errado\n");
-
-    /* Teste para diferenca de dois conjuntos */
-    printf ("---> Teste 7\n");
-    if (! (d= diferenca_cjt (a, b))) {
-            printf ("falha na diferenca de dois conjuntos\n");
-            return 1;
-    }
-    imprime_cjt (d);
-    printf ("A saida deve ter sido o conjunto vazio, senao esta errado\n");
-    if (! (d1= diferenca_cjt (b, a))) {
-            printf ("falha na diferenca de dois conjuntos\n");
-            return 1;
-    }
-    imprime_cjt (d1);
-    printf ("diferenca: A saida deve ter sido os impares entre 1 e 19, senao esta errado\n");
-
-    /* Teste de estar contido e contem */
-    printf ("---> Teste 8\n");
-    if (! contido_cjt (a, b)) {
-        printf("ERRO: o conjunto a esta garantidamente contido no conjunto b e o programa falhou\n");
-        return 1;
-    }
-    printf("OK: conjunto a esta contido no conjunto b\n");
-
-    if (contido_cjt (b, a)) {
-        printf("ERRO: o conjunto b nao esta contido no conjunto a e o programa falhou\n");
-        return 1;
-    }
-    printf("OK: conjunto b nao esta contido no conjunto a\n");
-
-    /* Teste de igualdade de conjunto */
-    printf ("---> Teste 9\n");
-    if (! sao_iguais_cjt (a, i)) {
-        printf ("ERRO: estes conjuntos sao iguais e o programa falhou\n");
-        return 1;
-    }
-    printf("OK: conjuntos iguais\n");
-
-    if (sao_iguais_cjt (a, b)) {
-        printf ("ERRO: estes conjuntos nao sao iguais e o programa falhou\n");
-        return 1;
-    }
-    printf("OK: conjuntos diferentes\n");
-    
-    /* Testes de remocao, retira do inicio do meio e do fim */
-    printf ("---> Teste 10\n");
-    if (! retira_cjt (a, 20))
-        printf("ERRO: nao retirou %d\n",20);
-    printf ("OK: retirou 20\n");
-
-    if (! retira_cjt (a, 2))
-        printf("ERRO: nao retirou %d\n",2);
-    printf ("OK: retirou 2\n");
-
-    if (! retira_cjt (a, 10))
-        printf("ERRO: nao retirou %d\n",10);
-    printf ("OK: retirou 10\n");
-
-    imprime_cjt (a);
-    printf ("Esta impressao deve ter resultado nos números pares de 4 a 18, menos o 10, senao esta errado\n");
-
-    for (k=1; k <= 20; k++) {
-        if (! retira_cjt (a, k))
-            printf("OK: nao retirou %d\n",k);
-        else
-            printf("OK: retirou %d\n",k);
-    }
-    printf ("Removeu todos os elementos? \n");
-    imprime_cjt (a);
-    printf ("Em caso afirmativo a linha anterior contem conjunto vazio\n");
-
-    /* Teste de copia de conjuntos */
-    printf ("---> Teste 11\n");
-    if (! (copia=copia_cjt (b))) {
-        printf ("ERRO: copia falhou\n");
-        return 1;
-    }
-    imprime_cjt (copia);
-    destroi_cjt (copia);
-    printf("se a copia deu certo foram impressos os numeros de 1 a 20\n");
-
-    /* Teste de subconjuntos */
-    printf ("---> Teste 12\n");
-    for (k=0; k <= cardinalidade_cjt (b); k++){
-        if (! (sub=cria_subcjt_cjt (b, k))) {
-            printf ("ERRO: criar subconjunto falhou\n");
-            return 1;
-        }
-        imprime_cjt (sub);
-        destroi_cjt (sub);
-        printf("deve ter impresso um subconjunto de tamanho %d\n",k);
-    }
-
-    /* Teste do iterador */
-    printf ("---> Teste 14\n");
-    inicia_iterador_cjt (b);
-    while (incrementa_iterador_cjt (b, &ex) != 0)
-        printf ("%d ", ex);
-    printf("\n");
-    printf("Teste do iterador, tem que ter impresso todos numeros de 1 a 20\n");
-
-    /* Teste do retira elemento */
-    printf ("---> Teste 15\n");
-    while (! vazio_cjt (b)){
-        ex= retira_um_elemento_cjt (b);
-        printf("%d ", ex);
-    }
-    printf("\n");
-    printf("Teste do retirar, tem que ter impresso todos numeros de 20 ate 1 que estao no conjunto, em alguma ordem definida por voce\n");
-    printf("depois tem que imprimir a mensagem 'conjunto vazio' logo abaixo\n");
-    imprime_cjt(b);
-
-    /* Destroi todos os conjuntos criados */
-    destroi_cjt (a);
-    destroi_cjt (b);
-    destroi_cjt (u);
-    destroi_cjt (i);
-    destroi_cjt (d);
-    destroi_cjt (d1);
-
-    return 0;
-}