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
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started