Programming arduino

Well here's a little to get you started:

#define  WAITING 0
#define DRAINING 1
#define FILLING 2

int cycles_to_go = 10 ;
int state = WAITING ;

void loop ()
{
  if (cycles_to_go > 0)
    handle_tank () ;
}

void handle_tank ()
{
  if (digitalRead (full_pin))
  {
    digitalWrite (drain_solenoid. HIGH) ;
    digitalWrite (fill_solenoid, LOW) ;
    state = FILLING ;
  }
  else if (!digitalRead (empty_pin))
  {
    digitalWrite (drain_solenoid, LOW) ;
    digitalWrite (fill_solenoid, HIGH) ;
    state = DRAINING ;
  } 
  ...
  }