Help with temperature controller

Arduino automatically creates prototypes for each function but it does not handle user defined arguments (such as your structures) which is why your code wont compile. You can fix that by adding the prototypes yourself, just after the struct definitions – here is a fragment that has prototypes for the functions that take your structures:

struct Thermistor
{
  int  base; // *100, see below
  int  diff; // *10 because of floats (10.2, for example->102)
  int  pin;
};

struct Controller
{
  int  relayPin;
  int  thermInvert; // 0 = power on cools, 1 = power on heats
  int  lastRead;
  int  low;
  int  high;
  int  status; // 0=off;1=on
  int  toggle; // 0=nochange; 1=turnedon; 2=turnedoff; 3=malfunction
  int  timer;  // seconds since last status change
  struct Thermistor Therm; // Thermistor
};

// add the prototypes here:
void checkTemp(struct Controller &c);
void toggle(struct Controller &c);
void tooHot(struct Controller &c);
void tooCold(struct Controller &c);
void doOutput(char name[4], struct Controller &c);