#include <stdio.h>
#include <math.h>
// CMYK = Cyan, Magenta, Yellow, Key(black)
// RGB = Red, Green, Blue
struct CMYK {
double C;
double M;
double Y;
double K;
};
struct RGB {
unsigned char R;
unsigned char G;
unsigned char B;
};
struct RGB CMYKToRGB(struct CMYK cmyk) {
struct RGB rgb;
rgb.R = round(255 * (1 - cmyk.C / 100) * (1 - cmyk.K / 100));
rgb.G = round(255 * (1 - cmyk.M / 100) * (1 - cmyk.K / 100));
rgb.B = round(255 * (1 - cmyk.Y / 100) * (1 - cmyk.K / 100));
return rgb;
}
int main(void)
{
struct CMYK data = {5.0, 16.0, 100.0, 0.0};
struct RGB rgb = CMYKToRGB(data);
printf("R = %d G = %d B = %d", rgb.R, rgb.G, rgb.B);
return 0;
}
/*
run:
R = 242 G = 214 B = 0
*/