Files
Powershell/Nutrition/splits.ps1
Ross Healy b697ca6b29 Refactor PowerShell script for BMR and macronutrient calculation
- Corrected gender comparison to use `-eq` operator instead of assignment.
- Added input validation for gender to gracefully handle invalid inputs.
- Converted height input from cm to meters for accurate calculation.
- Ensured consistent calculation of BMR and macronutrient splits based on gender.
- Improved output formatting for clarity and readability.
2024-06-24 09:44:30 +00:00

31 lines
1.2 KiB
PowerShell

# Prompt for user inputs
$Weight = Read-Host "Please input weight in kg"
$Height = Read-Host "Please input height in cm"
$Age = Read-Host "Please input age in years"
$Gender = Read-Host "Are you Male (M) or Female (F)? (M/F)"
# Convert height to meters for calculation (assuming input is in cm)
$HeightMeters = [decimal]$Height / 100
# Determine BMR and macronutrient splits based on gender
if ($Gender -eq "F" -or $Gender -eq "f") {
$Calories = 655.1 + (9.563 * [decimal]$Weight) + (1.850 * [decimal]$Height) - (4.676 * [decimal]$Age)
}
elseif ($Gender -eq "M" -or $Gender -eq "m") {
$Calories = 66.47 + (13.75 * [decimal]$Weight) + (5.003 * [decimal]$Height) - (6.755 * [decimal]$Age)
}
else {
Write-Host "Invalid input for gender. Exiting."
Exit
}
# Calculate macronutrient calories
$Protein_Cals = ($Calories / 10) * 2
$Carbs_Cals = ($Calories / 10) * 6
$Fat_Cals = ($Calories / 10) * 2
# Display results
Write-Host "Your BMR is:" ([math]::Round($Calories, 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 fat intake is:" ([Math]::Round($Fat_Cals, 0)) "kcals"