Description
The purpose of this challenge is to use basic functions. This challenge will calculate BMI (Body Mass Index).
Requirements
- Create a function, char showmenu() as below
char showmenu() { char input; cout << "i - Enter imperial data" << endl; cout << "m - Enter metric data" << endl; cout << "q - Quit" << endl; cin >> input; return input; } - Create the following function prototypes. You will, of course, be expected to write the complete function definitions as well.
double calc_bmi(double height, double weight); double height_to_metric(double value); double weight_to_metric(double value);
The calc_bmi() function will perform the BMI calculation. The returned value will be the resulting BMI. To calculate BMI, both the height and weight values must be in metric.
BMI = weight / height2
- The height_to_metric() function will convert the value parameter from inches to meters (the returned value). The weight_to_metric() function will convert the value parameter from pounds to kilograms (the returned value). Use the following conversion factors below.
1 meter = 39.3701 inches (LENGTH conversions) 1 kg = 2.20462 lb. (WEIGHT conversions)
- Use the sample main below as a structural flow guide.
- Display the results to the user.
Sample main()
int main()
{
char menu;
double feet, inches, meters, bmi, lbs, kg;
do
{
menu = showmenu();
if (menu == 'i')
{
// ask user to enter height in feet and inches
// ask user to enter weight in lbs
// convert all info to metric
}
if (menu == 'm')
{
// ask user to enter height in meters
// ask user to enter weight in kg
}
if (menu != 'q')
{
// calculate BMI
// display BMI info
cout << "Your BMI is " << bmi << endl;
}
} while (menu != 'q');
return 0;
}
Sample Interaction / Output
$./a.out i - Enter imperial data m - Enter metric data q - Quit i Okay, using imperial… Enter height in feet and inches: 6 1 Enter weight in lbs: 135 Your BMI is 17.811 i - Enter imperial data m - Enter metric data q - Quit m Okay, using metric… Enter height in meters: 1.5 Enter weight in kg: 60 Your BMI is 26.6667 i - Enter imperial data m - Enter metric data q - Quit q
LEGEND
PROGRAM OUTPUT
USER INPUT
FROM INPUT
CATALOG ID: CPP-CHAL0008b
Print Requirements
