How can I change a code from Structured Data Type to Abstract Data Type ?
Code:
typedef enum Bool{false = 0, true = 1} TBool;
typedef enum Color{red, blue, yellow, green, violet, orange} TColor;
TColor Mix(TColor C1, TColor C2);
TBool Primary(TColor C);
void From(TColor C, TColor *C1, TColor *C2);
TColor Mix(TColor C1, TColor C2){
if(((C1 == red) && (C2 == yellow)) || ((C1 == yellow)&&(C2 == red)))
return orange;
else if(((C1 == red) && (C2 == blue)) || ((C1 == blue)&&(C2 == red)))
return violet;
else if(((C1 == yellow) && (C2 == blue)) || ((C1 == blue)&&(C2 == yellow)))
return green;
}
TBool Primary(TColor C){
if((C == red)||(C == yellow)||(C == blue))
return true;
else
return false;
}
void From(TColor C, TColor *C1, TColor *C2){
if (C == orange)
*C1 = red, *C2 = yellow;
else if(C == green)
*C1 = yellow, *C2 = blue;
else if(C == violet)
*C1 = red, *C2 = blue;
}
thank.