Add activity level-based daily calorie needs calculation
- Prompt for user input for activity level (Sedentary, Light, Moderate, Active, Very Active, Extra Active). - Calculate daily calorie needs using BMR and activity level multiplier. - Compute recommended macronutrient calorie intake (protein, carbohydrates, fat). - Output BMR, daily calorie needs, and macronutrient breakdown.
This commit is contained in:
@@ -3,29 +3,57 @@ $Weight = Read-Host "Please input weight in kg"
|
|||||||
$Height = Read-Host "Please input height in cm"
|
$Height = Read-Host "Please input height in cm"
|
||||||
$Age = Read-Host "Please input age in years"
|
$Age = Read-Host "Please input age in years"
|
||||||
$Gender = Read-Host "Are you Male (M) or Female (F)? (M/F)"
|
$Gender = Read-Host "Are you Male (M) or Female (F)? (M/F)"
|
||||||
|
$ActivityLevel = Read-Host "Please input your activity level (Sedentary, Light, Moderate, Active, Very Active, Extra Active)"
|
||||||
|
|
||||||
# Convert height to meters for calculation (assuming input is in cm)
|
# Convert height to meters for calculation (assuming input is in cm)
|
||||||
$HeightMeters = [decimal]$Height / 100
|
$HeightMeters = [decimal]$Height / 100
|
||||||
|
|
||||||
# Determine BMR and macronutrient splits based on gender
|
# Determine BMR based on gender
|
||||||
if ($Gender -eq "F" -or $Gender -eq "f") {
|
if ($Gender -eq "F" -or $Gender -eq "f") {
|
||||||
$Calories = 655.1 + (9.563 * [decimal]$Weight) + (1.850 * [decimal]$Height) - (4.676 * [decimal]$Age)
|
$BMR = 655.1 + (9.563 * [decimal]$Weight) + (1.850 * [decimal]$Height) - (4.676 * [decimal]$Age)
|
||||||
}
|
}
|
||||||
elseif ($Gender -eq "M" -or $Gender -eq "m") {
|
elseif ($Gender -eq "M" -or $Gender -eq "m") {
|
||||||
$Calories = 66.47 + (13.75 * [decimal]$Weight) + (5.003 * [decimal]$Height) - (6.755 * [decimal]$Age)
|
$BMR = 66.47 + (13.75 * [decimal]$Weight) + (5.003 * [decimal]$Height) - (6.755 * [decimal]$Age)
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
Write-Host "Invalid input for gender. Exiting."
|
Write-Host "Invalid input for gender. Exiting."
|
||||||
Exit
|
Exit
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Calculate daily calorie needs based on activity level
|
||||||
|
switch ($ActivityLevel) {
|
||||||
|
"Sedentary" {
|
||||||
|
$CalorieNeeds = $BMR * 1.2
|
||||||
|
}
|
||||||
|
"Light" {
|
||||||
|
$CalorieNeeds = $BMR * 1.375
|
||||||
|
}
|
||||||
|
"Moderate" {
|
||||||
|
$CalorieNeeds = $BMR * 1.55
|
||||||
|
}
|
||||||
|
"Active" {
|
||||||
|
$CalorieNeeds = $BMR * 1.725
|
||||||
|
}
|
||||||
|
"Very Active" {
|
||||||
|
$CalorieNeeds = $BMR * 1.9
|
||||||
|
}
|
||||||
|
"Extra Active" {
|
||||||
|
$CalorieNeeds = $BMR * 2.2
|
||||||
|
}
|
||||||
|
default {
|
||||||
|
Write-Host "Invalid input for activity level. Exiting."
|
||||||
|
Exit
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
# Calculate macronutrient calories
|
# Calculate macronutrient calories
|
||||||
$Protein_Cals = ($Calories / 10) * 2
|
$Protein_Cals = ($CalorieNeeds / 10) * 2
|
||||||
$Carbs_Cals = ($Calories / 10) * 6
|
$Carbs_Cals = ($CalorieNeeds / 10) * 6
|
||||||
$Fat_Cals = ($Calories / 10) * 2
|
$Fat_Cals = ($CalorieNeeds / 10) * 2
|
||||||
|
|
||||||
# Display results
|
# Display results
|
||||||
Write-Host "Your BMR is:" ([math]::Round($Calories, 0)) "kcals"
|
Write-Host "Your BMR is:" ([math]::Round($BMR, 0)) "kcals"
|
||||||
|
Write-Host "Your daily calorie needs based on your activity level are:" ([math]::Round($CalorieNeeds, 0)) "kcals"
|
||||||
Write-Host "Your recommended protein intake is:" ([math]::Round($Protein_Cals, 0)) "kcals"
|
Write-Host "Your recommended protein intake is:" ([math]::Round($Protein_Cals, 0)) "kcals"
|
||||||
Write-Host "Your recommended carbohydrate intake is:" ([math]::Round($Carbs_Cals, 0)) "kcals"
|
Write-Host "Your recommended carbohydrate intake is:" ([math]::Round($Carbs_Cals, 0)) "kcals"
|
||||||
Write-Host "Your recommended fat intake is:" ([Math]::Round($Fat_Cals, 0)) "kcals"
|
Write-Host "Your recommended fat intake is:" ([Math]::Round($Fat_Cals, 0)) "kcals"
|
||||||
Reference in New Issue
Block a user