Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

INTRO to C: Write a program cylinder.c that accomplishes the following: Read a l

ID: 3777717 • Letter: I

Question

INTRO to C:

Write a program cylinder.c that accomplishes the following: Read a list of radii and heights from a file(cylinder_input.data). For each pair of values, calculate the cylinder's volume and surface area. Display the results on the screen and save the results to a file.

File: cylinder_input.data

1.5 10.2

2.21 20

3 30.243

55.23 2.2

12.1 45.989

The contents of the output file “cylinder_output.data”
1.500000 10.200000 72.099551 110.269902
2.210000 20.000000 306.877054 308.404496
3.000000 30.243000 855.100680 626.615787
55.230000 2.200000 21082.525775 19929.377237
12.100000 45.989000 21153.127133 4416.305811

Explanation / Answer

#include<stdio.h>
#include<math.h>
//declare and define PIE constant used in calculation of area and volume
#define PIE acos(-1.0)

int main()
{
   //input file handler
   FILE *in;
   //output file handler
   FILE *out;
   //local variables to hold radii and height
   float radius, height;
   //local variables for area and volume
   float area , volume;

   //opne input file for reading
   in = fopen("cylinder_input.data","r");
   if ( in == NULL)
{
printf("Error! opening file");
// Program exits if file pointer returns NULL.
return -1;   
}

   //opne output file for writing
   out = fopen("cylinder_output.data","w");
   if ( out == NULL)
{
printf("Error! opening file");
// Program exits if file pointer returns NULL.
return -1;   
}

   while(!feof(in))
   {
       fscanf(in,"%f%f",&radius,&height);
       //surface area A=2rh+2r2
       area = 2 * PIE * radius * height + 2 * PIE * radius * radius;
       //volume of cylinder V=r2h
       volume = PIE * radius * radius * height;
       //save radius , height ,volume and surface area to the file
       fprintf(out,"%f %f %f %f ",radius, height, volume, area);
   }
   //close input and output files
   fclose(in);
   fclose(out);
   //check to read output data file cylinder_output.data
   //opne input file for reading
   in = fopen("cylinder_output.data","r");
   if ( in == NULL)
{
printf("Error! opening file");
// Program exits if file pointer returns NULL.
return -1;   
}
   while(!feof(in))
   {
       fscanf(in,"%f %f %f %f ",&radius, &height, &volume, &area);
       printf("%f %f %f %f ",radius, height, volume, area);
   }

}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote