Lista Ligada C[Resolvido]

Ola pessoal venho pedir ajuda ao pessoal que conhece um pouquinho de C no caso estou com dificuldade para implementar uma lista ligada to achando que é problema de logica ou na funçao inserirFim ou na de imprimirLista o fato é esta tudo funcionando mais quando eu adiciono um valor ao final da lista ele sobrepoe em vez de deslocar para esquerda a lista como C é mais dificil que java as veses me perco com os ponteiros se puderem ajudar eu agradeço

[code]//by Diabo Loiro
#include<conio.h>
#include<stdio.h>
#include<stdlib.h>

//Criando a estrutura
struct list
{
int iValor;
struct list *proximo;
};//não esquecer o “;”

typedef struct list Lista;//Diz que agora em vez de escrever “struct list” podemos escrever so Lista

void removerNoInicio(Lista **paramLista){
if(*paramLista == NULL)//verirfica se a lista esta vazia
printf("\nA lista ja esta vazia");
else{//senão tiver ele cria uma lista auxiliar novamente
Lista *auxiliar;
auxiliar = *paramLista;//coloca a lista atual dentro da auxiliar
*paramLista = (*paramLista)->proximo;//pega a lista e converte para *paramLista
free(paramLista);// a função free libera a memoria
}
}

//Funçao que insere no final da lista.
void inserirFim(Lista **paramLista, int v){
Lista nList;//criando ponteiro nova lista.
nList=(Lista
)malloc(sizeof(Lista));//alocando o espaço em memória e usando cast.
nList->iValor = v; //atribuindo valor para n nova lista.
nList->proximo = NULL;// apontando para fim da lista

 if(*paramLista == NULL){//verifica se é o final da fila
    *paramLista = nList;//se for insere a nova lista no final
 }else{          
   Lista *listaAux; //senao cria uma lista auxiliar
    listaAux = *paramLista; //coloca a lista atual na lista auxiliar
    while(listaAux->proximo != NULL){ //e vai percorrendo a lista ate encontrar o final ou seja NULL
        listaAux = listaAux->proximo; //enquato nao acha o final ela fica colocando "as estruturas listas" na lista temporaria
    }//obviamente uma ora ela vai chegar no final da lista ou seja nesta linha
    listaAux->proximo = nList;//como ele ja esta no final da fila ele so adiciona a nova lista
}       

}

//Esta funçao imprime toda a lista
void imprimirLista(Lista * paramList)
{

while(paramList != NULL)//enquanto nao é o final da lista leia e imprima o conteudo
{
system(“cls”);//limpa a tela
printf("\nImprimindo a Lista\n");
printf("%d", paramList->iValor);//imprimindo o valor
paramList = paramList->proximo; //apontando a lista a proxxima lista
printf("\n");
}
}
int cont=0;
//inicio do programa
main()
{
int op=0;//controla a opçao escolida pelo usuario
int tmp=0;//variavel temporaria para o valor que usuario digitar
Lista *minhaLista;// cria um ponteiro do tipo lista
minhaLista = NULL;//Seta ele com o valor NULL
while(op!=5){
system(“cls”);
printf("\nO que gostaria de fazer\n");
printf("\n1 - Inserir no fim da fila\n2-Remover o primeiro da fila\n3 - Visualizar Lista\n4- Sair\n");
scanf("%d",&op);
// inserir
if(op==1){
system(“cls”);
printf("\nQual valor deseja inserir\n");
scanf("%d",&tmp);
inserirFim(&minhaLista,tmp);
imprimirLista(minhaLista);
getch();
}
//remover
else if(op==2){
removerNoInicio(&minhaLista);
printf("\nPrimeiro item removido\n");
imprimirLista(minhaLista);
getch();
//imprime a lista
}else if(op==3){
imprimirLista(minhaLista);
getch();
}
//sai do programa
else if(op==4){
op=5;
}
}
}

[/code]

Quem quiser testa esta anexado o arquivo .c esta rodando normal so que ele sobrepoe
Obrigado.

Falae meu brother!

Seguinte, testei aqui, teu código de inserir ta rodando legal…
Aí é um poco de manha e olhar no código as funções que tão ligadas com inserção, nesse caso era a de imprimir a lista…

void imprimirLista(Lista * paramList)
{
     printf("\nImprimindo a Lista\n");   
  while(paramList != NULL)//enquanto nao é o final da lista leia e imprima o conteudo
  { 
     //system("cls");//limpa a tela             
    // printf("\nImprimindo a Lista\n");             
     printf("%d", paramList->iValor);//imprimindo o valor  
     paramList = paramList->proximo; //apontando a lista a proxxima lista   
     printf("\n");         
  }                   
} 

O “CLS” tava dentro do while e tava limpando oq tava sendo impresso, ou seja ele imprimia apenas o ultimo elemento da lista oq dava a impressao de sobrescrição. Mas a lista estava carregada.
Fazendo essa mudança ai em cima funfou legal ,velho!

Qq duvida posta ai!

Muito obrigado velho rs sabe quando ja da ate dor de cabeça e tu nao ve mais nada.
nen vi o cls vlw msn.

Hahaha, sei sim!
pow, dah uma editada no tópico e coloca como resolvido!!!

[]s!