Goal 1: Update the Fractions Class ADD an implementation that takes an integer as a parameter. The functionality remains the same: Instead of multiplying/dividing the current object with another Fraction, it multiplies/divides with an integer. For example; a fraction 2/3 when multiplied by 4 becomes 8/3. Similarly, a fraction 2/3 when divided by 4 becomes 1/6. Goal 2: Update the Recipe Class Add a private member variable of type int to denote the serving size and initialize it to 1. Update the overloaded extraction operator (<<) to include the serving size. New Member functions to the Recipe Class: 1. Add four member functions get the value of each of the member variable of the Recipe class: getRecipeName(), getIngredientNames(), getIngredientQuantities(), getServingSize() They return the value of the respective member variables. 2. Add and implement a member function that scales the current recipe to a new serving size. The signature of this function is: void scaleRecipe(int newServingSize); 3. Test your code by uncommenting the main.cpp until the line Recipe r4("recipeDumplings.txt"); to get the output below: Following Recipe has 4 ingredients--- Peanut Sauce Recipe for 1 ---Sweet Chilli Sauce (3/4)Peanut Butter (4/3)Soy Sauce (1/2)Hoisin Sauce (1/3)Scale Recipe to 3 servings--- Peanut Sauce Recipe for 3 ---Sweet Chilli Sauce (9/4)Peanut Butter (4)Soy Sauce (3/2)Hoisin Sauce (1)Scale Recipe to 2 servings--- Peanut Sauce Recipe for 2 ---Sweet Chilli Sauce (3/2)Peanut Butter (8/3)Soy Sauce (1)Hoisin Sauce (2/3) 4. Next write a constructor to load them from a file. The signature of this constructor would be: Recipe(string filename); //loads the name, ingredients, and quantity of each recipe from a file Your code should be able to handle a quantity that is Fractional or whole. Uncommenting the next two lines and getting the following output: --- Dumplings Recipe for 1 ---All Purpose Flour (7/2)Sesame Oil (3)Cabbage (3/2)Garlic Chives (1)Soy Sauce (3/2)Minced Ginger (1/3) 5. The last method we will write for the recipe class is to combine current recipe with another. Recipe combineWith(Recipe& other) const; Below is the output if the next four lines from main.cpp are uncommented: Combining Peanut Sauce with Dumplings--- Peanut Sauce with Dumplings Recipe for 1 ---Sweet Chilli Sauce (3/4)Peanut Butter (4/3)Soy Sauce (2)Hoisin Sauce (1/3)All Purpose Flour (7/2)Sesame Oil (3)Cabbage (3/2)Garlic Chives (1)Minced Ginger (1/3)--- Combined recipe has 9 ingredients --- 6. The last step is to write client code. Combine the Macroni and Lasagna recipes. Then, combine this new recipe created with Four Cheese. Lastly, scale the final recipe for 10 servings! Show off your recipe by printing it. The desired output: --- Macroni with Lasagna with Four Cheese Recipe for 10 ---Macroni (55/2)Water (105/2)Salt (100/3)Cheddar Cheese (55)Bowtie Pasta (40)Swiss Cheese (40/3)Marinara (35)Spinach (15/2)Crushed Red Pepper (5/2)Mozzarella Cheese (20)Provolone (15/2)
Goal 1: Update the Fractions Class
ADD an implementation that takes an integer as a parameter. The functionality remains the same: Instead of multiplying/dividing the current object with another Fraction, it multiplies/divides with an integer. For example; a fraction 2/3 when multiplied by 4 becomes 8/3. Similarly, a fraction 2/3 when divided by 4 becomes 1/6.
Goal 2: Update the Recipe Class
Add a private member variable of type int to denote the serving size and initialize it to 1. Update the overloaded extraction operator (<<) to include the serving size.
New Member functions to the Recipe Class:
1. Add four member functions get the value of each of the member variable of the Recipe class:
getRecipeName(), getIngredientNames(), getIngredientQuantities(), getServingSize()
They return the value of the respective member variables.
2. Add and implement a member function that scales the current recipe to a new serving size. The signature of this function is:
void scaleRecipe(int newServingSize);
3. Test your code by uncommenting the main.cpp until the line
Recipe r4("recipeDumplings.txt");
to get the output below:
Following Recipe has 4 ingredients
--- Peanut Sauce Recipe for 1 ---
Sweet Chilli Sauce (3/4)
Peanut Butter (4/3)
Soy Sauce (1/2)
Hoisin Sauce (1/3)
Scale Recipe to 3 servings
--- Peanut Sauce Recipe for 3 ---
Sweet Chilli Sauce (9/4)
Peanut Butter (4)
Soy Sauce (3/2)
Hoisin Sauce (1)
Scale Recipe to 2 servings
--- Peanut Sauce Recipe for 2 ---
Sweet Chilli Sauce (3/2)
Peanut Butter (8/3)
Soy Sauce (1)
Hoisin Sauce (2/3)
4. Next write a constructor to load them from a file. The signature of this constructor would be:
Recipe(string filename); //loads the name, ingredients, and quantity of each recipe from a file
Your code should be able to handle a quantity that is Fractional or whole.
Uncommenting the next two lines and getting the following output:
--- Dumplings Recipe for 1 ---
All Purpose Flour (7/2)
Sesame Oil (3)
Cabbage (3/2)
Garlic Chives (1)
Soy Sauce (3/2)
Minced Ginger (1/3)
5. The last method we will write for the recipe class is to combine current recipe with another.
Recipe combineWith(Recipe& other) const;
Below is the output if the next four lines from main.cpp are uncommented:
Combining Peanut Sauce with Dumplings
--- Peanut Sauce with Dumplings Recipe for 1 ---
Sweet Chilli Sauce (3/4)
Peanut Butter (4/3)
Soy Sauce (2)
Hoisin Sauce (1/3)
All Purpose Flour (7/2)
Sesame Oil (3)
Cabbage (3/2)
Garlic Chives (1)
Minced Ginger (1/3)
--- Combined recipe has 9 ingredients ---
6. The last step is to write client code. Combine the Macroni and Lasagna recipes. Then, combine this new recipe created with Four Cheese. Lastly, scale the final recipe for 10 servings! Show off your recipe by printing it.
The desired output:
--- Macroni with Lasagna with Four Cheese Recipe for 10 ---
Macroni (55/2)
Water (105/2)
Salt (100/3)
Cheddar Cheese (55)
Bowtie Pasta (40)
Swiss Cheese (40/3)
Marinara (35)
Spinach (15/2)
Crushed Red Pepper (5/2)
Mozzarella Cheese (20)
Provolone (15/2)
Unlock instant AI solutions
Tap the button
to generate a solution