Я попытался создать программу, которая запрашивает ввод радиуса сферы и веса сферы. он использует эти входные данные для расчета плавучести сферы, и программа определяет, может ли она плавать в воде. Тем не менее, я продолжаю получать «6.95207e-308», независимо от того, что мои входы
Это инструкции для программирования:
«Плавучесть — это способность объекта плавать. Принцип Архимеда
утверждает, что выталкивающая сила равна весу жидкости, которая
смещается погруженным объектом. Выталкивающая сила может быть
рассчитывается по:выталкивающая сила = (объем объекта) раз (удельный вес жидкости)
Если выталкивающая сила больше или равна весу
объект тогда будет плавать, иначе он утонет.Напишите программу, которая вводит вес (в фунтах) и радиус (в
футов) сферы и выводит, будет ли сфера погружаться или плавать в
воды. Используйте 62,4 фунта / кубический фут в качестве удельного веса воды.
объем сферы вычисляется в (4/3) π кратном радиусе. «
Это мой код:
//Written by: Edward Santiago
//Assignment: HW_03_No14.cpp
//Class: CO SCI 243
//Date: October 17, 2014
//Description: Prime Numbers
#include <iostream>
#include <cmath>
#include <math.h>
using namespace std;
double sphere_volume (double);
double buoy_force (double,double);
int main ()
{
double rad,volume,force,buoyancy;
double weight;
double water = 62.4;
cout << "~~Buoyancy calculator~~" << endl;
cout << "Please enter the radius of your sphere" << endl;
cin >> rad;
cout << "Please enter the weight of your sphere" << endl;
cin >> weight;
volume = sphere_volume(rad);
buoyancy = buoy_force(volume,weight);
cout << "The force of your sphere is "<<force<<endl;
if (force <= water)
cout << "Your sphere will float in the water"<<endl;
else
cout <<"Your sphere will sink :( "<<endl;
return 0;
}
double sphere_volume (double radius)
{
double vol;
vol = ((4/3) * (M_PI) * (pow(radius,3)));
return vol;
}
double buoy_force (double vol,double weight)
{
double force;
force = vol * weight;
return force;
}
Вы никогда не инициализируете силу.
buoyancy = buoy_force(volume,weight);
cout << "The force of your sphere is "<<force<<endl;
Измените назначение на force = buoy_force(volume, weight)
,
Вы назначили большой ответ на «плавучесть», а затем распечатали «силу».
добавлять
force=buoyancy;
перед печатью force
, Это потому что force
не инициализирован, и вы пытаетесь распечатать его.