PROGRAMAR C

Yo, para estos casos, prefiero utilizar switch, es más versátil y ocupa poca memoria y en toda la documentación te indican que lo utilices preferentemente sobre if else if o una serie de OR tan grande

if (hour == 9 || hour == 10 || hour == 11 || hour == 12 || hour == 13 || hour == 14 
      || hour == 15 || hour == 16 ||hour == 17)
     {
       poderRegar=false;
     } 
     else
     {
       poderRegar=true;
     }

de esta forma, es mucho más claro y fácil de mantener después

switch( hour ) {
case 9:
case 10:
case 11:
case 12:
case 13:
case 14:
case 15:
case 16:
case 17:
       poderRegar=false;
       break;

default:
       poderRegar=true;
}

y así, eliminar o añadir horas a poderRegar = false resulta sumamente fácil y muy claro leer a qué horas está dispuesto que se ejecute ese código.