Dopo il cin >> num metti un if(num > 0) che racchiuda il resto del ciclo e sei a posto. Il while ti dice che non verrà fatta un'altra iterazione, ma quella corrente è già partita. Quindi devi fare un ulteriore controllo all'interno del ciclo.