Design and implement a class named unsignedlargeint

Assignment Help C/C++ Programming
Reference no: EM132095729

Please giving me the answer of this project CODE, CODE ,CODE for me , i need answer of the CODE, PLEASE DONT JUST COPY THE ANSWER from the CHEGG , that is WRONG . Please given me the complete code that follow the requirement!

C++

1 Motivation:

The C++ long int can only take up to 64 bits of information, which may not be enough for some scientific computation. In this project, we will design and implement a class named UnsignedLargeInt which will overcome these problems.

The requirement for this project is to use UnsignedLargeInt at almost all situations when int is used.

2 Requirements:

As int, UnsignedLargeInt can be zero or positive. Unlike int, Unsigned- LargeInt has "infinite" precision and can hold as many digits (char) as pos- sible. The digits are represented by char, and are stored in a dynamically allocated array.

The size of the array can be larger than the actual number of digits in the number. For example, to add two UnsignedLargeInt a1 and a2, the resulted UnsignedLargeInt can have max(a1.len,a2.len) + 1 bytes allocated as the digit array, which is long enough to handle any overflow.

UnsignedLargeInt should have the following operators:

2.1 Constructors and destructor

There are 3 constructors:

default constructor will set the UnsignedLargeInt to zero

copy constructor to take another UnsignedLargeInt as the argument, because we are working with a dynamically allocated array, you must perform deep copy.

constructor to take a unsigned long long as the argument, and transfer this unsigned long long as digits (char) and store the digits in the array. The argument can be positive or zero, so your UnsignedLargeInt must be able to reflect the sign of the argument.

• Destructor: C++ allows only one version of destructor, and it should delete the char array.

2.2 +, * operators (bonus for *)

These operators should perform exactly as their counter parts in int, i.e.

unsigned long long a = 1000000; UnsignedLargeInt i1(a); UnsignedLargeInt i2(100); UnsignedLargeInt i3; i3 = i1 + i2; cout << i3; // should output 1,000,100;
Each of these operators should take two "const UnsignedLargeInt&" as arguments and return a UnsignedLargeInt. These operators should be designed and implemented as friend operators. It has no requirement to overload these operators. For example:

2.3

unsigned long long a = 1000000; UnsignedLargeInt i1(a); UnsignedLargeInt i2; i2 = i1 + 100; //compiler will transfer 100 to a UnsignedLargeInt, //so we do not have a + operator to take int as argument. cout << i2; // should output 1,000,100;
+=, *= operators (bonus for *=)

These operators should perform exactly as their counter parts in int, i.e.

unsigned long long a = 1000000; UnsignedLargeInt i1(a); UnsignedLargeInt i2(100); i1 += i2; cout << i1; // should output 1,000,100;
Each of these operators should take a "const UnsignedLargeInt&" as ar- gument and return "UnsignedLargeInt&". It has no requirement to overload these operators.

2.4 boolean operators !, !=, ==, <, >, <=, >=
These operators should perform exactly as their counter parts in int, i.e.

unsigned long long a = 1000000; UnsignedLargeInt i1(a); UnsignedLargeInt i2(100); if (i2 < i1) cout << "i2 is smaller" << endl; else cout << "i1 is smaller" << endl;
Each of these operator should take two "const UnsignedLargeInt&" as arguments (except the unary operator ! which will take no argument) and return "bool". These operators (except !) should be designed and imple- mented as friend operators. It has no requirement to overload these opera- tors.

2.5 incremental operators ++

These operators should perform exactly as their counter parts in int, and should have two versions (pre-increment and post-increment), i.e.

unsigned long long a = 1000000; UnsignedLargeInt i1(a); i1++; cout << i1; //should output 1,000,001 cout << ++i1; //should output 1,000,002
<< operator
Output the UnsignedLargeInt in a nice format, i.e.

unsigned long long a = 10000000000000000; UnsignedLargeInt i1(a); cout << i1; //The output should look like: 10,000,000,000,000,000
This operator should be friend (just like what we did in the previous pro ject).

2.7 Other requirements

No need to overload the ">>" operator. Comment you code! Indent your code!

2.6

3 Files to turn in:

You need to turn in four files: makefile, main.C, UnsignedLargeInt.C, Un- signedLargeInt.h. This time, I will not provide a UnsignedLargeInt.h, you need to design your own.

You should have a main.C that can test all your operators

Reference no: EM132095729

Questions Cloud

What is the color of the bear : A bear ran from a zoo and climbed an electric pole of height 20 meters in the city. The rescue team hits the bear with a tranquilizer dart.
How the prices paid differed for each staff member : ITECH1100 Understanding the Digital Revolution - Describe the strategy you used to find appropriate prices for each scenario (approximately 150 words)
Create an unsorted array list with 100 random items in it : Create an unsorted array list with 100 random items in it and then perform a linear search on the array list looking for an item that is present in the list.
How accurately must the temperature be controlled : A silicon wafer of 100 mm diameter has 1 µm lines fabricated on it. The photomask is made of soda lime glass with a coefficient of thermal expansion.
Design and implement a class named unsignedlargeint : In this project, we will design and implement a class named UnsignedLargeInt which will overcome these problems.
Review problem on single-cell organism : The bacterium E. coli is a single-cell organism that lives in the gut of healthy animals, including humans. When grown in a uniform medium in the laboratory.
Create a program that calculates the estimated hours : Create a program that calculates the estimated hours and minutes for a trip. This should include an estimated date/time of departure and an estimated.
Find the wavelength of the electron : Find the wavelength of the electron when it isa0 from the proton. How does this compare with the wavelength of an electron in a ground-state Bohr orbit?
Find the lenght of the organ pipe : A pipe has three successive resonance frequencies 356,426,756 the speed of sound in air is 340 m/s. Find the lenght of the organ pipe?

Reviews

Write a Review

C/C++ Programming Questions & Answers

  Create program that uses functions and reference parameters

Create program that uses functions and reference parameters, and asks user for the outside temperature.

  Write a program using vectors and iterators

Write a program using vectors and iterators that allows a user to maintain a personal list of DVD titles

  Write the code required to analyse and display the data

Calculate and store the average for each row and column. Determine and store the values for the Average Map.

  Write a webservices application

Write a webservices application that does a simple four function calculator

  Iimplement a client-server of the game

Iimplement a client-server version of the rock-paper-scissors-lizard-Spock game.

  Model-view-controller

Explain Model-View-Controller paradigm

  Design a nested program

How many levels of nesting are there in this design?

  Convert celsius temperatures to fahrenheit temperatures

Write a C++ program that converts Celsius Temperatures to Fahrenheit Temperatures.

  Evaluate and output the value in the given base

Write C program that will input two values from the user that are a Value and a Base with which you will evaluate and output the Value in the given Base.

  Design a base class shape with virtual functions

Design a base class shape with virtual functions

  Implementation of classes

Implementation of classes Chart and BarChart. Class barChart chould display a simple textual representation of the data

  Technical paper: memory management

Technical Paper: Memory Management, The intent of this paper is to provide you with an in depth knowledge of how memory is used in executing, your programs and its critical support for applications.

Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd