Final Project Check-ins are due Monday. You'll submit the cpp on canvas! *** Name your cpp according to these rules: lastname_firstname_finalproject.cpp *** For example, if I were to submit this assignment, I would use: ramsey_doc_finalproject.cpp Preparing for the final project! Last time you were told that your final project would have some sample variables and values. That list is repeated below. To prepare for the final project, write loops to get proper values for all input. Protect the input from improper user data entry including cin.fail. Remember, mass, fuel mass and ISP can never be below 0. Also, total mass must be larger than fuel mass. Write down any assumptions or decisions you make when you complete this process. When complete, write a for loop that allows the user to do this entry 3 times. Each time through the loop will end up corresponding to a different stage of a rocket. ------ NEW PART I ----- inside the for loop These names, masses and ISPs are referring to a particular rocket or craft. ISP refers to the specific impulse of a craft which describes the efficiency of a rocket. Never the less, what rocket creators really want to know is how far can this rocket go! Usually this is described in terms of something called "delta V" which we'll denote dV from here on in this worksheet. dV is a description of how much a rocket could change its velocity. Inside the for loop, compute the dV based on the user inputs. After computing the dV, output the dV acquired in this stage. dV = gravity * ISP * ln ( total_mass / ( total_mass - fuel_mass ) ) ------ END NEW PART I ------ ------ NEW PART II ------ after the for loop Often, when building a rocket, the problem becomes that more fuel is needed to get more dV. Unfortunately, adding more fuel mass also adds more total mass. Write a new section of code to read in a floating point value for a target dV, and a payload mass (new variables). Also read in a value for ISP. Start with a fuel mass of 0.00001. Compute total mass as the sum of the payload plus the fuel mass. Using this computed total mass, the fuel mass of 0.00001, and the ISP, use the dV equation to compute the current dV. Now, write a loop that continues as long as the computed dV is less than the target dV. Inside the loop, increase the fuel mass by 0.00001. Now, compute the new total mass and then recompute the dV based on these new parameters. When this loop finishes, we'll have a fuel mass value that describes how much fuel is required to achieve the target dV. Report this fuel mass value to the user. (For anyone paying close attention, you may note that in reality, we can't add fuel mass without adding other kinds of mass to hold the fuel. In other words, we must add a container to old the fuel if we're adding fuel mass. We'll handle this situation in a later update.) Pushing a bit further, you might think about how you can compute this fuel mass value in a more efficient manner. This is not a requirement, and you should definitely implement the described method first. ------ END NEW PART II ------ Lastly, write a while loop to allow the user to do it all again. (So if the user wants to do this again, they will enter all the values three more times). -craft name ex: Challenger -total mass ex: 1995806.42 -fuel mass ex: 1671487.88 -ISP ex: 269.1 -gravity a constant value at 9.80665 -dV ex: 4300.2 -target dV ex: 6500.0 -payload mass ex: 27500.1