Question: C++: For this project, you will practice decomposing a problem into functions. In the final part,... C++: For this project, you will practice decomposing a

C++: For this project, you will practice decomposing a problem into functions. In the final part,... C++: For this project, you will practice decomposing a problem into functions. In the final part, you will also get some practice with pass-by-reference functions. As part of this lab is to also gain experience with integer operations, you are NOT allowed to convert numbers into strings and use string processing primitives. TASK 0 Consider the standard decimal representation of a non-negative integer num. You wish to write a function that repetitively adds up the digits of a number until it eventually results in a single-digit number. For example, given the number 234567, the first iteration results in 27 (=2+3+4+5+6+7), and the 2nd iteration results in 9 (=2+7). Since 9 is a single-digit number, no more iterations are needed and 9 is returned. Write a function with the following prototype to do this: // Precondition: num > 0 // Postcondition: the return value is the iterated sum of digits of num int sumDigits(int num); To do this, we first need to identify functions that are useful to doing this. In this case, a list of useful function prototypes might be: int getDigit(int num, int index); // return the index'th digit of num int numDigits(int num); // return the number of digits in num You should have at least these three functions, though you may have additional functions if you wish. Don't forget to write pre/post conditions for these functions. You may use library functions defined in cmath (such as pow) if you wish, though you don't need to.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!