Hi there - the following shows how you can shrink and improve code. Thanks to Jean for the amazing final two line version:
First attempt:
` step options - if up +ve += 1, if down -ve -= 1;
if (stepOpt = 0)
step += updownbutton * 2; ` 1/4 degree
else
{if (stepOpt = 1)
step += updownbutton * 4;} ` 1/2 degree
else
{if (stepOpt = 2)
step += updownbutton * 8;} ` 1 degree
else
{if (stepOpt = 3)
step += updownbutton * 40;} ` 5 degrees
else
{if (stepOpt = 4)
step += updownbutton * 240;} ` 30 degrees
Jean suggested this might be poor code. Next step could be:
` step options - if up +ve += 1, if down -ve -= 1;
if (stepOpt = 0)
step += updownbutton * 2; ` 1/4 degree
if (stepOpt = 1)
step += updownbutton * 4; ` 1/2 degree
if (stepOpt = 2)
step += updownbutton * 8; ` 1 degree
if (stepOpt = 3)
step += updownbutton * 40; ` 5 degrees
if (stepOpt = 4)
step += updownbutton * 240; ` 30 degrees
Jean suggested using switch();
switch (stepOpt)
{
:0; step += updownbutton * 2; break; ` 1/4 degree
:1; step += updownbutton * 4; break; ` 1/2 degree
` etc.
}
But then came up with this:
int uDValue[5] = { 2, 4, 8, 40, 240 };
step += updownbutton * uDValue[stepOpt];
Genius!!
Thanks Jean. It works like a charm.
Ed