/* Program to calculate
   - the area of a circle with a given radius
   - the area of a ring with the given radii
   Geoffrey Thomas, 2008-01-23, SIPB IAP C
 */
#include <stdio.h>
#include <math.h>

//Reads in a double value from the keyboard.
double input_double(void);

//Calculates the area of a circle.
// r - radius of circle
// returns: area of circle with radius r
double area(double r);

int main(void) {
    double r1, r2, a, r;

    // Part 1: ask for radius and compute area of circle
    printf("Enter radius: ");
    r1 = input_double();
    printf("Area of circle with radius %f is %f.\n", r1, area(r1));

    // Part 2: ask for two radii and compute area of ring
    printf("Enter first radius: ");
    r1 = input_double();
    printf("Enter second radius: ");
    r2 = input_double();
    if (r1 > r2)
        a = area(r1) - area(r2);
    else
        a = area(r2) - area(r1);
    printf("Area of ring between these is %f.\n", a);

    return 0;
}

double area(double r) {
    return M_PI * r * r;
}

double input_double(void) {
    double x;
    scanf("%lf", &x);
    return x;
}
