Looks fine. The only change I'd make would be to replace this:
else if(tempc == right)
with this:
else if(tempc < too_hot)
It's highly unlikely in a brewing scenario, given one temperature sample a second that you would miss the 22 degree setting, but if you did, the heater would stay on until you reached too_hot, which wouldn't do your beer any favours.
With a gun to my head and asked to find other things to complain about, I could find these:
The constants such as too_hot should either be declared const or done with #define
When it is too cold, you turn on the heat and the audible twice - no need
Setting temp_c=0 at the end of loop is unnecessary
finally, with nitpick mode set to the max, you only use raw_temp once, so this:
raw_temp = analogRead(pin); // get reading from LM35
tempc = ((100* raw_temp)/1024.0); // convert to whole decimal degrees
could be this:
tempc = ((100* analogRead(pin))/1024.0);
Saving you a whole 2 bytes!