Write a c program to find the radius, diameter and circumference of a circle fro
ID: 3792471 • Letter: W
Question
Write a c program to find the radius, diameter and circumference of a circle from its Area.
Display error if negative, zero or alphabets are inputted.
Given: r: radius
d: diameter
c: circumference
area
PI == 3.141592653589793 == acos(-1) (w cmath)
all vars above > 0
Formula:
d = 2r
c = PI*d
area = PI * r^2
The program I wrote:
#include
#include
const double PI=3.14592653589793;
double radiusFromArea(double area);
double diameterFromRadius(double r);
double circumferenceFromDiameter(double d);
int die(const char*msg);
int main()
{
double area;
double r, d, c;
printf_s("area: ");
if (scanf_s ("%lf", &area) !=1) die ("input failure");
if (area<=0) die ("non-positive input");
radiusFromArea (area);
diameterFromRadius (r);
circumferenceFromDiameter (d);
printf_s("radius%f, diameter%f, circumference%f ", r, d, c);
}
double radiusFromArea(double r)
{
return (r*r)*PI;
}
double diameterFromRadius(double r)
{
return r*2;
}
double circumferenceFromDiameter(double d)
{
return PI*d;
}
int die(const char*msg) {
printf_s("Fatal error: %s ", msg);
exit(EXIT_FAILURE);
}
The problem I'm having is whenever I input the area, an error pops saying the variables are nt initilized. Can't figure out why!
Explanation / Answer
int die the variable pointer char * msg is not iniilized and
try putting it simple
if (scanf_s ("%lf", &area) !=1) die ("input failure");
if (area<=0) die ("non-positive input");
instead validate in main.
#include<stdio.h>
#include <math.h>
const double PI=3.14592653589793;
double radiusFromArea(double);
double diameterFromRadius(double);
double circumferenceFromDiameter(double d);
int main()
{
double area,r,d,c;
printf(" Enter the area of the circle : ");
scanf("%lf",&area);
if (area <=0){
printf("FATAL ERROR: Ener valid area and try again!");
}
else
{
r = radiusFromArea(area);
printf(" Radius of Circle : %lf ",r);
d=diameterFromRadius(r);
printf(" Diameter of Circle : %lf ",d);
c=circumferenceFromDiameter(d);
printf(" Circumference of Circle : %lf ",c);
}
return(0);
}
double radiusFromArea(double area)
{
double ar,radius;
ar=area;
radius = sqrt(PI/ar);
return(radius);
}
double diameterFromRadius(double r)
{
return r*2;
}
double circumferenceFromDiameter(double d)
{
return PI*d;
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.