Buoyancy C++ Help

Buoyancy is the ability of an object to float. Archimede's Principle states that the buoyant force is equal to the weight of the fluid that is displaced by the submerged object. The buoyant force can be computed by:

buoyant force = (object volume) times (specific gravity of the fluid)

If the buoyant force is greater than or equal to the weight of the object then it will float, otherwise it will sink.

Write a program that inputs the weight (in pounds) and radius (in feet) of a sphere and outputs whether the sphere will sink or float in water. Use 62.4 lb/cubic foot as the specific weight of water. The volume of a sphere is computed by (4/3)π times the radius cubed.

INPUT and PROMPTS. The program uses this prompt ""Input weight of the sphere in pounds." for the first number it reads in, the weight of the sphere. The program uses this prompt "Input radius of the sphere in feet." for the second number it reads in, the radius of the sphere. Do not print out these numbers as they are read in

OUTPUT. The program either prints out "The sphere will float in water." or "The sphere will sink in water.".


I'm not even sure where to start with this one. lol
Any help please?
Last edited on
How about you start with writing the code to just get the input the program is asking for, then move on from there? Post again if you have trouble.
I have the same assignment for class I cannot for nothing get the math I have

vol = 4.19 * (rad * rad * rad);

bforce = vol * 62.4;

I did the math for (4/3*3.14) because I could not get it to read out anything right. . . but the only problem I keep getting is with the math any way you could help!?
This is the code for that section:

V=(4/3)*(M_PI)*(pow(r,3)); //Calculates Volume
Fb = (V)*(y); //Calculates Buoyant Force
Thank you for your help! (:
wait what does the "Y" stand for!?
No problem! Are you guys by any chance at OSU? I have this same assignment... haha :D
I go to Stark State I don't know this guy that actually did this question I just googled it to help with the math.
Last edited on
The 'y' stands for the constant (62.4)
#include <iostream>
using namespace std;

int main( )


cout << sphere ;

Fb = (V)*(y);

return 0;


I have this so far, but I am still really confused on what to do. I'm not grasping the full concept.

int main ()
float y = 62.4;//Constant given, float value
float w; //Variable weight, float value
float r; //Variable radius, float value
double V; //Variable Volume, double value
double Fb; //Variable Buoyant Force, double value
char answer; // Variable answer, char

do //"Do" since you will be doing this loop at least once
cout<< "Please enter weight of the object in lbs and press enter: " <<endl;//Prompts user to enter weight
cin>> w; // User enters weight
cout<< "Please enter radius of the object in feet and press enter: " << endl;//Prompts user to enter radius

cin >> r ; // User enters radius
V=(4/3)*(M_PI)*(pow(r,3)); //Calculates Volume
Fb = (V)*(y); //Calculates Buoyant Force
if (Fb >= w)//Determines if Fb is greater than or equal to w
cout << "This Sphere will float! :) " << endl; //Prints that the sphere floats

else //If Fb < w
cout << "This Sphere will sink! :( " << endl; // Prints that the sphere sinks
cout << "Calculate another buoyancy? (y/n) " << endl; //Asks if the user wants to calculate another buoyancy

cin >> answer; //User enters y/n or Y/N
} while ((answer == 'y' || answer == 'Y'));//Goes back to beginning of loop if user enters 'y' or 'Y'

cout << "End of Testing!" << endl; //Prints end of testing

return 0; //Exits
Topic archived. No new replies allowed.