#include <stdio.h>
#define PI 3.141592653589793
void circumference(double radius)
{
double result = 2 * PI * radius;
printf("\nCircle circumference\n"); printf("Radius = %.2f\n", radius
); printf("Circumference = %.2f\n", result
); }
void circleArea(double radius)
{
double result = PI * radius * radius;
printf("Radius = %.2f\n", radius
); printf("Area = %.2f\n", result
); }
void sphereVolume(double radius)
{
double result = (4.0 / 3.0) * PI * radius * radius * radius;
printf("Radius = %.2f\n", radius
); printf("Volume = %.2f\n", result
); }
int main(void)
{
void (*calculations[3])(double) =
{
circumference,
circleArea,
sphereVolume
};
int choice;
double radius;
printf("Enter 0 to calculate circle circumference\n"); printf("Enter 1 to calculate circle area\n"); printf("Enter 2 to calculate sphere volume\n");
if (choice < 0 || choice > 2)
{
}
else
{
(*calculations[choice])(radius);
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgojZGVmaW5lIFBJIDMuMTQxNTkyNjUzNTg5NzkzCgp2b2lkIGNpcmN1bWZlcmVuY2UoZG91YmxlIHJhZGl1cykKewogICAgZG91YmxlIHJlc3VsdCA9IDIgKiBQSSAqIHJhZGl1czsKCiAgICBwcmludGYoIlxuQ2lyY2xlIGNpcmN1bWZlcmVuY2VcbiIpOwogICAgcHJpbnRmKCJSYWRpdXMgPSAlLjJmXG4iLCByYWRpdXMpOwogICAgcHJpbnRmKCJDaXJjdW1mZXJlbmNlID0gJS4yZlxuIiwgcmVzdWx0KTsKfQoKdm9pZCBjaXJjbGVBcmVhKGRvdWJsZSByYWRpdXMpCnsKICAgIGRvdWJsZSByZXN1bHQgPSBQSSAqIHJhZGl1cyAqIHJhZGl1czsKCiAgICBwcmludGYoIlxuQ2lyY2xlIGFyZWFcbiIpOwogICAgcHJpbnRmKCJSYWRpdXMgPSAlLjJmXG4iLCByYWRpdXMpOwogICAgcHJpbnRmKCJBcmVhID0gJS4yZlxuIiwgcmVzdWx0KTsKfQoKdm9pZCBzcGhlcmVWb2x1bWUoZG91YmxlIHJhZGl1cykKewogICAgZG91YmxlIHJlc3VsdCA9ICg0LjAgLyAzLjApICogUEkgKiByYWRpdXMgKiByYWRpdXMgKiByYWRpdXM7CgogICAgcHJpbnRmKCJcblNwaGVyZSB2b2x1bWVcbiIpOwogICAgcHJpbnRmKCJSYWRpdXMgPSAlLjJmXG4iLCByYWRpdXMpOwogICAgcHJpbnRmKCJWb2x1bWUgPSAlLjJmXG4iLCByZXN1bHQpOwp9CgppbnQgbWFpbih2b2lkKQp7CiAgICB2b2lkICgqY2FsY3VsYXRpb25zWzNdKShkb3VibGUpID0KICAgIHsKICAgICAgICBjaXJjdW1mZXJlbmNlLAogICAgICAgIGNpcmNsZUFyZWEsCiAgICAgICAgc3BoZXJlVm9sdW1lCiAgICB9OwoKICAgIGludCBjaG9pY2U7CiAgICBkb3VibGUgcmFkaXVzOwoKICAgIHByaW50ZigiRW50ZXIgMCB0byBjYWxjdWxhdGUgY2lyY2xlIGNpcmN1bWZlcmVuY2VcbiIpOwogICAgcHJpbnRmKCJFbnRlciAxIHRvIGNhbGN1bGF0ZSBjaXJjbGUgYXJlYVxuIik7CiAgICBwcmludGYoIkVudGVyIDIgdG8gY2FsY3VsYXRlIHNwaGVyZSB2b2x1bWVcbiIpOwoKICAgIHNjYW5mKCIlZCIsICZjaG9pY2UpOwoKICAgIGlmIChjaG9pY2UgPCAwIHx8IGNob2ljZSA+IDIpCiAgICB7CiAgICAgICAgcHJpbnRmKCJJbnZhbGlkIGNob2ljZS5cbiIpOwogICAgfQogICAgZWxzZQogICAgewogICAgICAgIHByaW50ZigiRW50ZXIgcmFkaXVzOiAiKTsKICAgICAgICBzY2FuZigiJWxmIiwgJnJhZGl1cyk7CgogICAgICAgICgqY2FsY3VsYXRpb25zW2Nob2ljZV0pKHJhZGl1cyk7CiAgICB9CgogICAgcmV0dXJuIDA7Cn0=