Write a program that will allow the user to sum two


Write a program that will allow the user to sum two integers up to 20 digits big. The integers should be stored in a string with no more than size 20. The integers will be read in as a string, not an integer. Hints...

1) since each integer is stored as a string, it is already in a character array.

2) reverse each integer and store it in a temp string to do the addition. You are not required to do this, but this will make the processing a lot easier.

3) it would be best to declare an int for the carry. If you add two elements of an array and there is a carry, add the carry to the next summation.

4) If the sum of the 2 integers is more than 20 digits, print 'Overflow'

5) Prompt the user to do another.

6) Clear the screen between runs (using our new cls() and pause() presented in class, not system calls)

7) Use functions for most of the processing. Below are the prototypes for the functions you should use. string inputnums(); //Used to input the numbers (the string returned is the input number)

Declare a string (to store the input) and an int to store the size
Get the string
Calculate size
Loop while size is greater than maxsize (20)
Input error overflow
Input new number
Get the new size
End of loop
Initialize a LCV to 0
Loop while LCV is less than the size
if the character at index LCV is a digit
increment LCV
else (if it never enters here, then one the characters in the number was a digit)
print error message that a character was detected in the number please re enter input new number
set LCV back to zero and start the loop over again to check the new number
end of loop
return the string to main() as a number that has passed input error checking;
End of input()
string reverse(string, int); String is the number, int is the size of the number declare a string that will contain the reversed number;
loop from size-1 to 0 (decrementing by 1)
concatenate the number string index to the reversed string
end loop
return reversed string to a string declared in main(). This is the string you will use to add
end of reverse()
void pad( string &, string &, int &, int &); //concatenates ‘0' to the shortest reversed string, so that both numbers are the same length the strings is the reversed numbers, the ints are the lengths of the padded strings because we need to pad the shortest string with ‘0's (so that both string have the same length
before we add them), we pass both strings in by reference, so that the original string gets
changed (only the shortest will get changed, but we don't know which one, so we have to pass
both by reference, same thing with the lengths)
if (s1 is larger)
loop from 1 to larger size - smaller size concatenating shorter string with ‘0' (by passing by reference will change original number so we don't have to return it)
end =loop;
get new size for shorter string (by passing by reference the size of the shorter number has
been changed, so we don't have to return it)
else
do the same thing as above, except you are padding the other number
string add(string, string, int); //Adds the two numbers. Don't forget to reverse the answer
void print(string, string, string, int); //Prints the answer in the following form (see below)
char prompt(); //prompts the user to do another
Answer printed in the following format (make adjustments for the size of the numbers)

Solution Preview :

Prepared by a verified Expert
Programming Languages: Write a program that will allow the user to sum two
Reference No:- TGS01677140

Now Priced at $40 (50% Discount)

Recommended (98%)

Rated (4.3/5)