Large Number Class
Short Description:
Create a large number integer class.
This assignment is worth 60 points.
Goals
When you finish this homework, you should:
- Have developed your skills designing and implementing a class.
- Have developed your skills implementing overloaded operators and functions.
- Have developed your skills implementing friend functions.
- Have demonstrate you skills documenting an interface.
- Have developed your skills buiding muliple file implementations.
Formal Description
The program to calculate pi included with the demonstration rational number class fails with the addition of the value 4/25. This is due to numeric overflow attempting to add this value into the sum.
This problem can be overcome by implementing a large integer class. This class
would store the digits of a number in some type of data structure, perhaps
an array. The class would also provide the operations necessary for
normal programming, especially those needed by the rationalT class.
The class should be constructed in a manner such that it can be used in multiple programs (header and implementation files). As such, the header file should
be documented following the examples on page 614 of your book. You should
document your implementation file, as well as your drivers according to my standards.
You should implement two programs, the first should be a driver which tests
all aspects of your class. The second should allow a user to compute factorial for large numbers (60! = 8320987112741390144276341183223364380754172606361245952449277696409600000000000000).
Discussion
Required Files
You should submit the following in a tar file:
- All source code required to build all programs.
- A makefile which will build all programs as well as clean the directory
- A README describing
- Author identification information
- The project
- Problems encountered
- Any portions of the code which are not working.
- Any unique features of the code.
- Any other information you wish to share.
You should not submit
- Object files or executable.
- Core files.
- Source code files which are not related to the project.
Submission
Please create a tar file containing the files described above. Email this file to danbennett360@gmail.com by class time of the due date.