Aqui estou eu de novo...não consigo fazer meu programa apontar um erro e repetir até que a condição esteja correta...já tentei while origem menor que 1 e maior que 5, etc...o que acontece é que meu código não passa dai. mesmo com as condições corretas...quando o getch é 1, 2, 3 4 ou 5, ou qualquer outro numero ele repete o laço...agradeço desde já! //Laço de Erro 1 do { //Aqui o Programa pergunta a origem do passageiro printf("\nDe onde voce esta partindo? [1]curitiba, [2]florianopolis, [3]saobento, [4]camboriu ou [5]matinhos?\n"); origem=getch(); switch(origem){ case '1': origem=1; break; case '2': origem=2; break; case '3': origem=3; break; case '4': origem=4; break; case '5': origem=5; break; } }while(origem != 1 || origem != 2 || origem != 3 || origem !=4 || origem != 5);