Jak nejlépe na interval

Mám drobný dotaz, sice mě to funguje, ale zdá se mi to kostrbatý.
Jak by jste nejlépe vyřešili podmínku tak, že pokud se číslo nachází mezi Max a Min hodnotou aby se cosi vykonalo. Tedy pokud je číslo v zadaném intervalu např.: Max=10, Min=5, tedy čísla 6,7,8,9 toto splňují. Já to vyřešil pomocí if, ale zkoumám jestli to nejde nějak lépe, elegantněji.

Díky

Příklad kódu:

void pohyb_serva_x (void)
{
	if (stav_x > PRICTI_10)			// kdyz je adcx vetsi nez pricti 10
	{
		count_x+=5;
		zpozdeni=50;
	}
	if (stav_x < PRICTI_10)			// kdyz je adcx mensi nez pricti 10 a vetsi nez pricti 1
	{
		if (stav_x > PRICTI_1)
		{
			count_x+=1;
			zpozdeni=10;
		}
	}
	
	if (stav_x < PRICTI_1)			// kdyz je adcx mensi nez pricti1 a vetsi nez odecti 1
	{
		if (stav_x > ODECTI_1)
		{
			count_x=count_x-1;
			zpozdeni=10;
		}
	}
	
	if (stav_x < ODECTI_1)			// kdyz je adcX mensi nez odec1
	{
		count_x=count_x-5;	
		zpozdeni=50;
	}

}

Seřaď podmínky podle velikosti porovnávané konstanty. Tady budu předpokládat, že platí PRICTI_10>PRICTI_1>ODECTI_1 :

void pohyb_serva_x (void)
{
	if (stav_x > PRICTI_10)			// kdyz je adcx vetsi nez pricti 10
	{
		count_x+=5;
		zpozdeni=50;
		return;			// žádná další podmínka už nemůže být splněna
	}
/*
	if (stav_x < PRICTI_10)			// kdyz je adcx mensi nez pricti 10 a vetsi nez pricti 1
*/		// Tahle podmínka je splněna vždy, když neprojde ta první => vyhodit.
	{
		if (stav_x > PRICTI_1)// 
		{
			count_x+=1;
			zpozdeni=10;
		return;			// žádná další podmínka už nemůže být splněna
		}
	}
	
/*
	if (stav_x < PRICTI_1)			// kdyz je adcx mensi nez pricti1 a vetsi nez odecti 1
*/		// Tahle podmínka je splněna vždy, když neprojdou ty pedchozí => vyhodit.
	{
		if (stav_x > ODECTI_1)
		{
			count_x=count_x-1;
			zpozdeni=10;
		return;			// žádná další podmínka už nemůže být splněna
		}
	}
	
/*
	if (stav_x < ODECTI_1)			// kdyz je adcX mensi nez odec1
*/		// Tahle podmínka je splněna vždy, když neprojdou ty pedchozí => vyhodit.
	{
		count_x=count_x-5;	
		zpozdeni=50;
	}
// Tady už return dávat nemusíš, pokud nebudeš ještě nějaké podmínky přidávat.

}

Kromě toho jsi neměl ošetřený stav, kdy se hodnota proměnné stav_x shodovala s některou z konstant… To by se Ti neprovedla ani jedna akce.

Díky, returny jsem tam dát mohl a to vyhození jedný podmínky mi nějak nedošlo, a přitom je jasný že se to vylučuje, když tam má > a potom <, nojo, člověk se furt učí.