

The program use the Mifflin-St Jeor formula to calculate the user's basal metabolic rate (BMR) using the input provided. This diet will dictate the split of the macronutrients.Īllow the users to review the data input and give them the possibility to enter the data again if a mistake has been made. The program will then use this goal to calculate the total daily calories and the macronutrients split based on this goal.Īllow the users to select thier prefered diet. System of Measurement SelectionĪllow the users to select the System of Measurement they are more confortable with.Īllow the users to select their activity level in order to calculate the total daily energy expenditure (TDEE) based on this activity level.Īllow the users to select their desired goal.

The following flowchart was designed using Miro in order to plan the logic to be implemented in the program.Īs shown in the flowchart, the original order of some functions has been changed during the development process in to follow a more intuitive logic and sequence of events but the main idea behind the process is still the same.īack to top ⇧ Features User Information InputĬollect the users information in order to use it in the program.ĭue to the biological characteristics needed for the BMR calculation, sex has been used over gender. More complex data as the gender, activity level, user's goal and diet is being stored as dictionaries as they contain a description of the selection to display back to the user, but also contain values to use in the different calculations.Ĭalculations are stored as variables to be able to format them and display them back to the user. The unit selector returns 1 or 2 to be able to use them in if statements to choose different paths in the logic. Simple data as the name, age, weight and height are being returned and stored as variables in order to access them in the future to display the data back to the user or to make calculations. Messages are displayed in the default terminal color. Some extra information has been displayed in dim text. This in order to make the program more intuitive and easier to read.ĭata and the main logo is displayed in light yellow.Įrrors are displayed with a red background. The program should keep running until the user decides otherwise.Īs a user, I want to receive information about the main objective of the program.Īs a user, I want to easily understand what input is needed on each step.Īs a user, I want to receive clear feedback in case I provide the wrong input.Īs a user, I want to be able to review the data I provided and correct it if needed.Īs a user, I want the calculations to be displayed in a clear way and to be easy to understand.Ĭolorama has been used to apply color to the terminal text. Provides input validation to help the user input the correct data.


Balancing these nutrients is a crucial element of success to any workout goal, whether looking to build muscle, lose fat, or improve athletic performance. There are three principal classes of macronutrients: carbohydrate, protein, and fat. Macro Calulator is designed to help the users discover how much of each macronutrient they should eat every day to reach the desire goal.
