seria melhor se voce colocasse a questao aqui! o fato de não da certo o while( num != 3 ) ou != 4, assim em diante.. é porque no seu programa, num fica oscilando entre 1 e 2, o tempo todo. logo, nunca chegará a maior do que 2 sendo assim: loop infinito é simples, faça passo a passo no papel escrevendo os valores das variaveis em cada linha como se estivesse rodando o programa no papel que você vai notar o que acontece isso se chama teste de mesa particularmente, eu digo sem isso, eu não sou ninguém!