Please input the Mac:
00: 1A: A9: AA: BB: CC
New MAC for decrease is: 00: 1A: A9: AA: BB: CB
New MAC for increase is: 00: 1A: A9: AA: BB: CD
# Define bool int
# Define false 0
# Define true 1
# Include <stdio. h>
# Include <string. h>
Bool macdecrease (char * Mac) // decrease Mac by one
{
Int num = 16;
While (Num> = 0)
{
If ('A' = Mac [num])
{
Mac [num] = '9 ';
Break;
}
Else if ('0' = Mac [num])
{
Mac [num] = 'F ';
Num --;
}
Else if (':' = Mac [num])
{
Num --;
}
Else
{
Mac [num] --;
Break;
}
}
If (-1 = num)
Return false; // decrease fail
Else
Return true;
}
Bool macincrease (char * Mac) // increase Mac by one
{
Int num = 16;
While (Num> = 0)
{
If ('9' = Mac [num])
{
Mac [num] = 'a ';
Break;
}
Else if ('F' = Mac [num])
{
Mac [num] = '0 ';
Num --;
}
Else if (':' = Mac [num])
{
Num --;
}
Else
{
Mac [num] ++;
Break;
}
}
If (-1 = num)
Return false; // inclease fail
Else
Return true;
}
Void main (INT argc, char * argv [])
{
Char Mac [18], macinc [18];
Printf ("Please input the MAC: \ n ");
Scanf ("% s", Mac );
Strcpy (macinc, Mac );
If (true = macdecrease (MAC ))
Printf ("New MAC for decrease is: % s \ n", Mac );
Else
Printf ("wrong in decrease \ n ");
If (true = macincrease (macinc ))
Printf ("New MAC for increase is: % s \ n", macinc );
Else
Printf ("wrong in increase \ n ");
}