Chapter 3 Using existing information in programs 1. Using code from previous programs 2. Using functions from libraries (sqrt, cos, log) 3. Building your own functions for reuse Problem: Write a program to calculate the area and circumference of a circle given its radius. Analysis Problem Inputs radius Problem Outputs area circumference Formulas area = PI * r * r circumference = 2 * PI * r Design Algorithm 1. Read the radius 2. Calculate the area 3. Calculate the circumference 4. Display area and circumference Implementation /* * Calculates area & circumf of circle */ #include #define PI 3.14159 int main() { double radius; /* input - radius of a circle */ double area; /* output - area of a circle */ double circumf; /* output - circumference */ /* Get the circle radius */ printf("Enter radius> "); scanf("%lf", &radius); /* Calculate the area */ area = PI * radius * radius; /* Calculate the circumference */ circumf = 2 * PI * radius; /* Display area & circumf */ printf("The area is %.4f\n", area); printf("The circumf is %.4f\n", circumf); return (0); } Enter radius> 5.0 The area is 78.5397 The circumf is 31.4159 Problem Calculate the price per square inch of a circular pizza given its size (diameter) and its cost. Analysis Problem Inputs diameter cost Problem outputs price_psqi Other variables radius area Formulas radius = diameter / 2 area = PI * r * r price per square inch = price / area Design Algorithm 1. Read pizza size and cost 2. Calculate price per square inch 3. Display price per square inch Refine step 2 2.1 Calculate radius 2.2 Calculate area 2.3 Calculate price per sq. inch Implementation /* * Calculates pizza unit price */ */ #include #define PI 3.14159 int main() { double diameter; /* input - size */ double cost; /* input - cost */ double area; /* output - area of a circle */ double circum; /* output - circumference */ double radius; /* radius of a circle */ /* Get pizza size and cost */ printf("Enter diameter > "); scanf("%lf", &diameter); printf("Enter cost $ "); scanf("%lf", &cost); /* Calculate price per sq in */ radius = diameter / 2; area = PI * radius * radius; price_psi = cost / area; /* Display the cost per sq. inch */ printf("The unit cost is %.2f\n", price_psqi); return (0); } Enter diameter > 12.0 Enter cost $ 20.0 The unit cost is $0.18