Login Register


[C++] Need help with this body fat calculating program filter_list
Author
Message
[C++] Need help with this body fat calculating program #1
Can somebody tell me what I did wrong? I'm not getting correct answers. This should be giving me the body fat and body fat percentage. I'd appreciate some help ASAP.

It would probably be too late by the time I get an answer, but what the heck. XD

Problem:
Quote:One way to determine how healthy a person is by measuring the body fat
of the person. The formulas to determine the body fat for female and male
are as follows:
Body fat formula for women:
A1 = (body weight  0.732) + 8.987
A2 = wrist measurement (at fullest point) / 3.140
A3 = waist measurement (at navel)  0.157
A4 = hip measurement (at fullest point)  0.249
A5 = forearm measurement (at fullest point)  0.434
B = A1 + A2 – A3 – A4 + A5
Body fat = body weight – B
Body fat percentage = body fat  100 / body weight
Body fat formula for men:
A1 = (body weight  1.082) + 94.42
A2 = wrist measurement  4.15
B = A1 – A2
Body fat = body weight – B
Body fat percentage = body fat  100 / body weight
Write a program to calculate the body fat of a person

Code:
#include <iostream> using namespace std; int main() { char gender; double bodyweight, wrist, waist, hip, forearm, B, bodyfat, bfPercentage, A1, A2, A3, A4, A5; bodyfat = bodyweight - B; bfPercentage = (bodyfat * 100) / bodyweight; cout << "Input gender (m/f): "; cin >> gender; switch (gender) { case 'F': case 'f': cout << "Enter body weight: "; cin >> bodyweight; cout << "Enter wrist measurement (at fullest point): "; cin >> wrist; cout << "Enter waist measurement (at navel): "; cin >> waist; cout << "Enter hip measurement (at fullest point): "; cin >> hip; cout << "Enter forearm measurement (at fullest point): "; cin >> forearm; A1 = (bodyweight * 0.723) + 8.987; A2 = (wrist) / 3.140; A3 = (waist) * 0.157; A4 = (hip) * 0.249; A5 = (forearm) * 0.434; B = A1 + A2 - A3 - A4 + A5; cout << "Your body fat is: " << bodyfat << endl << "Body fat percentage: " << bfPercentage << "%"; break; case 'M': case 'm': cout << "Enter body weight: "; cin >> bodyweight; cout << "Enter wrist measurement (at fullest point): "; cin >> wrist; A1 = (bodyweight * 1.082) + 94.42; A2 = wrist * 4.14; B = A1 - A2; cout << "Your body fat is: " << bodyfat << endl << "Body fat percentage: " << bfPercentage << "%"; break; default: cout << "Invalid gender."; } return 0; }
[Image: dHJ4Beo.gif]
Hidden Lesson: Reactions are always instinctive whereas responses are always well thought of.

Reply

RE: [C++] Need help with this body fat calculating program #2
(08-02-2015, 03:54 PM)OversouL Wrote:
Code:
int main() { char gender; double bodyweight, wrist, waist, hip, forearm, B, bodyfat, bfPercentage, A1, A2, A3, A4, A5; bodyfat = bodyweight - B; bfPercentage = (bodyfat * 100) / bodyweight;

You realize you're performing calculations using the "bodyweight" and "B" variables before they are even assigned a value, right?

Reply

RE: [C++] Need help with this body fat calculating program #3
(08-02-2015, 11:13 PM)Dyme Wrote: You realize you're performing calculations using the "bodyweight" and "B" variables before they are even assigned a value, right?

To expand on this,

bodyfat = bodyweight - B;

does not act as a placeholder for bodyweight - B, it takes the values at the present time and performs the calculation. When bodyfat is instantiated, bodyweight and B are undefined, so therefor bodyfat = undefined.

I may be completely incorrect, I don't use CPP, and I am only assuming this is the issue.

Reply

RE: [C++] Need help with this body fat calculating program #4
(08-02-2015, 11:57 PM)Lux Wrote: To expand on this,

bodyfat = bodyweight - B;

does not act as a placeholder for bodyweight - B, it takes the values at the present time and performs the calculation. When bodyfat is instantiated, bodyweight and B are undefined, so therefor bodyfat = undefined.

I may be completely incorrect, I don't use CPP, and I am only assuming this is the issue.

stfu you just repeated what I said gtfo of here lux aka fux u

[+] 1 user Likes Dyme's post
Reply

RE: [C++] Need help with this body fat calculating program #5
(08-03-2015, 12:14 AM)Dyme Wrote: stfu you just repeated what I said gtfo of here lux aka fux u

Down boy.

Reply

RE: [C++] Need help with this body fat calculating program #6
(08-03-2015, 01:09 AM)eclipse Wrote: Down boy.

what are you his dad

Reply

RE: [C++] Need help with this body fat calculating program #7
(08-03-2015, 04:11 AM)Dyme Wrote: what are you his dad

why do u have to be like this son

Reply

RE: [C++] Need help with this body fat calculating program #8
(08-02-2015, 11:13 PM)Dyme Wrote: You realize you're performing calculations using the "bodyweight" and "B" variables before they are even assigned a value, right?

Oh, ok. I thought I can just put it there so I can use it later on.

Is this fine now, or is there a better way to write it? Should I initiate bodyfat and bfPercentage in both cases or I can just initialize it in the first case? I could try it myself, but I'm not home, I don't have a compiler. I'd appreciate an answer. Smile
Code:
#include <iostream> using namespace std; int main() { char gender; double bodyweight, wrist, waist, hip, forearm, B, bodyfat, bfPercentage, A1, A2, A3, A4, A5; cout << "Input gender (m/f): "; cin >> gender; switch (gender) { case 'F': case 'f': cout << "Enter body weight: "; cin >> bodyweight; cout << "Enter wrist measurement (at fullest point): "; cin >> wrist; cout << "Enter waist measurement (at navel): "; cin >> waist; cout << "Enter hip measurement (at fullest point): "; cin >> hip; cout << "Enter forearm measurement (at fullest point): "; cin >> forearm; A1 = (bodyweight * 0.723) + 8.987; A2 = (wrist) / 3.140; A3 = (waist) * 0.157; A4 = (hip) * 0.249; A5 = (forearm) * 0.434; B = A1 + A2 - A3 - A4 + A5; bodyfat = bodyweight - B; bfPercentage =(bodyfat * 100) / bodyweight; cout << "Your body fat is: " << bodyfat << endl << "Body fat percentage: " << bfPercentage << "%"; break; case 'M': case 'm': cout << "Enter body weight: "; cin >> bodyweight; cout << "Enter wrist measurement (at fullest point): "; cin >> wrist; A1 = (bodyweight * 1.082) + 94.42; A2 = wrist * 4.14; B = A1 - A2; bodyfat = bodyweight - B; bfPercentage =(bodyfat * 100) / bodyweight; cout << "Your body fat is: " << bodyfat << endl << "Body fat percentage: " << bfPercentage << "%"; break; default: cout << "Invalid gender."; } return 0; }
[Image: dHJ4Beo.gif]
Hidden Lesson: Reactions are always instinctive whereas responses are always well thought of.

Reply

RE: [C++] Need help with this body fat calculating program #9
(08-03-2015, 02:11 PM)OversouL Wrote: Oh, ok. I thought I can just put it there so I can use it later on.

Is this fine now, or is there a better way to write it? Should I initiate bodyfat and bfPercentage in both cases or I can just initialize it in the first case? I could try it myself, but I'm not home, I don't have a compiler. I'd appreciate an answer. Smile
Code:
#include <iostream> using namespace std; int main() { char gender; double bodyweight, wrist, waist, hip, forearm, B, bodyfat, bfPercentage, A1, A2, A3, A4, A5; cout << "Input gender (m/f): "; cin >> gender; switch (gender) { case 'F': case 'f': cout << "Enter body weight: "; cin >> bodyweight; cout << "Enter wrist measurement (at fullest point): "; cin >> wrist; cout << "Enter waist measurement (at navel): "; cin >> waist; cout << "Enter hip measurement (at fullest point): "; cin >> hip; cout << "Enter forearm measurement (at fullest point): "; cin >> forearm; A1 = (bodyweight * 0.723) + 8.987; A2 = (wrist) / 3.140; A3 = (waist) * 0.157; A4 = (hip) * 0.249; A5 = (forearm) * 0.434; B = A1 + A2 - A3 - A4 + A5; bodyfat = bodyweight - B; bfPercentage =(bodyfat * 100) / bodyweight; cout << "Your body fat is: " << bodyfat << endl << "Body fat percentage: " << bfPercentage << "%"; break; case 'M': case 'm': cout << "Enter body weight: "; cin >> bodyweight; cout << "Enter wrist measurement (at fullest point): "; cin >> wrist; A1 = (bodyweight * 1.082) + 94.42; A2 = wrist * 4.14; B = A1 - A2; bodyfat = bodyweight - B; bfPercentage =(bodyfat * 100) / bodyweight; cout << "Your body fat is: " << bodyfat << endl << "Body fat percentage: " << bfPercentage << "%"; break; default: cout << "Invalid gender."; } return 0; }

There may be a better way of going about this, however the way you've done it is perfectly fine! It doesn't have anything useless in it, all of your variables are clearly labeled, and it does what it says on the tin. Well done Smile
[Image: CDUAq9d.png]

Reply







Users browsing this thread: