How do I "tell" a simple perceptron/adaline neural netrork its output can't be negative?
You can put the logistic function on top of the output: 

f(z) = 1/(1 + exp(-z)).

You will also need to adjust the cost function accordingly, i.e. use log loss: https://www.kaggle.com/wiki/LogarithmicLoss