diff --git a/main.c b/main.c
index f1c7bda89772509c25d26b29372fe1ad32aa841e..a21941acb5c7d306997ea80aa19309985eb228b5 100644
--- a/main.c
+++ b/main.c
@@ -2,65 +2,80 @@
 
 #include "lib_lista_complementar.h"
 
-int main() 
+void ler_lista (t_lista *l)
 {
-	t_lista l, u, w;
-
-	inicializa_lista(&l);
-	inicializa_lista(&u);
-	inicializa_lista(&w);
-
-	printf("insere inicio e fim em l:\n");
-	insere_inicio_lista(10,&l);
-	insere_inicio_lista(20,&l);
-	insere_inicio_lista(5,&l);
-	insere_fim_lista(8,&l);
-	insere_fim_lista(12,&l);
-	insere_fim_lista(32,&l);
-	printf ("lista l: ");
-	imprime_lista(&l);
-	printf("\n\n");
+	int item, tam;
 
-	printf("copia l em u e w:\n");
-	copia_lista(&l, &u);
-	printf ("lista u: ");
-	imprime_lista(&u);
-	copia_lista(&l, &w);
-	printf ("\nlista w: ");
-	imprime_lista(&w);
-	printf("\n\n");
+	inicializa_lista (l);
 
-	printf("concatena u em l:\n");
-	concatena_listas(&l, &u);
-	printf ("lista l: ");
-	imprime_lista(&l);
-	printf("\n");
-	printf ("lista u: ");
-	imprime_lista(&u);
-	printf("\n\n");
+	printf ("Digite o tamanho da lista: ");
+	scanf ("%d", &tam);
+
+	printf ("Digite os elementos da lista: ");
+	while (tam > 0)
+	{
+		scanf ("%d", &item);
+		insere_fim_lista (item, l);
+		tam--;
+	}
+}
+
+void testa_imprime ()
+{
+	t_lista l;
+	inicializa_lista (&l);
+
+	printf ("TESTA IMPRIME LISTA:\n\n");
+
+	ler_lista (&l);
+
+	printf ("\nLista: ");
+	imprime_lista (&l);
+	printf ("\n\n");
+
+	destroi_lista (&l);
+}	
+
+void testa_copia ()
+{
+	t_lista l, m;
+	inicializa_lista (&l);
+
+	printf ("TESTA COPIA LISTA:\n\n");
+
+	ler_lista (&l);
+	copia_lista (&l, &m);
 
-	printf("ordena l:\n");
-	ordena_lista(&l);
-	printf ("lista l: ");
-	imprime_lista(&l);
+	printf ("\nLista 1: ");
+	imprime_lista (&l);
+	printf ("\nLista 2: ");
+	imprime_lista (&m);
 	printf("\n\n");
+}
+
+void testa_concatena ()
+{
+}
+
+void testa_ordena ()
+{
+}
+
+void testa_intercala ()
+{
+}
+
+int main() 
+{
+/*	testa_imprime();
+
+	testa_copia();
+*/
+	testa_concatena();
+
+	testa_ordena();
 
-	destroi_lista(&u);
-	printf("destruindo u\n\n");
-
-	printf("intercala l com w em u:\n");
-	printf("lista l: ");
-	imprime_lista(&l);
-	printf("\nlista w: ");
-	imprime_lista(&w);
-	intercala_listas(&l, &w, &u);
-	printf ("\nlista u: ");
-	imprime_lista(&u);
-	printf("\n");
-
-	destroi_lista(&l);
-	destroi_lista(&u);
-	destroi_lista(&w);
+	testa_intercala();
 
 	return 0;
 }