-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.cpp
More file actions
213 lines (159 loc) · 4.8 KB
/
main.cpp
File metadata and controls
213 lines (159 loc) · 4.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
/**
CSC-331 Project 1, Doubly Linked List and LargeInt
Purpose: Create two classes to implement LargeInt idea.
@author Copyright © 2018 Mehmet Sahin. All rights reserved.
@version 1.1 Created by Mehmet Sahin on 9/8/18.
*/
// @TODO: Check + and - operator with more examples to see if they behave right
#include <iostream>
#include "LargeInt.cpp" // cannot incldue hpp because of linking issue
using namespace std;
// test LargeInt with string values function prototypes
void storeStringTest(string num);
// test LargeInt with int values function prototypes
void storeIntTest(int num);
// test LargeInt with negative values function prototypes
void negativeValueTest(int num);
// test LargeInt with addition of two negative values function prototypes
void additionOfTwoNegativeValueTest(int num1, int num2);
// test LargeInt with bigger smaller operators function prototypes
void biggerSmallerTest(int num1, int num2);
// test LargeInt with equal operator function prototypes
void equalTest(int num1, int num2);
// test LargeInt with minus operator function prototypes
void minusTest(int num1, int num2);
// test LargeInt with minus operator function prototypes
void differentSignAddTest(int num1, int num2);
// test LargeInt with multiply operator function prototypes
void multiplyTest(int num1, int num2);
// test LargeInt with division operator function prototypes
void divisionTest(int num1, int num2);
// test LargeInt with greater-than-or-equal-to operator function
void greaterThanOrEqualToTest(int num1, int num2);
// test LargeInt with less-than-or-equal-to operator function
void lessThanOrEqualToTest(int num1, int num2);
// test LargeInt with inequal operator function
void inEqualTest(int num1, int num2);
void modTest(int num1, int num2);
int main(int argc, const char * argv[]) {
// storeStringTest();
// storeIntTest();
// negativeValueTest();
// additionOfTwoNegativeValueTest(100, -99);
// biggerSmallerTest(-100, -50);
// equalTest(-10, 10);
// minusTest(111, 110);
// minusTest(-2,-100);
// differentSignAddTest(1, -10);
// multiplyTest(-9, 9);
// divisionTest(-102, 2);
// greaterThanOrEqualToTest(-2,-10);
// lessThanOrEqualToTest(-10, -2);
// inEqualTest(1, 1);
// modTest(-10,10);
return 0;
}
void modTest(int num1, int num2)
{
LargeInt l(num1);
LargeInt l2(num2);
LargeInt l3;
l3 = l % l2;
cout << num1 << " % " << num2 << ": " << l3 << endl;
}
void inEqualTest(int num1, int num2)
{
LargeInt l(num1);
LargeInt l2(num2);
cout << l << " != " << l2 << ": " << (l != l2) << endl;
}
void lessThanOrEqualToTest(int num1, int num2)
{
LargeInt l(num1);
LargeInt l2(num2);
cout << l << " >= " << l2 << ": " << (l <= l2) << endl;
}
void greaterThanOrEqualToTest(int num1, int num2)
{
LargeInt l(num1);
LargeInt l2(num2);
cout << l << " >= " << l2 << ": " << (l >= l2) << endl;
}
void divisionTest(int num1, int num2)
{
LargeInt l(num1);
LargeInt l2(num2);
LargeInt l3;
l3 = l / l2;
cout << num1 << " / " << num2 << ": " << l3 << endl;
}
void multiplyTest(int num1, int num2)
{
LargeInt l(num1);
LargeInt l2(num2);
LargeInt l3;
l3 = l * l2;
cout << "multipled nums " << num1 << " and " << num2 << ": " << l3 << endl;
}
void differentSignAddTest(int num1, int num2)
{
LargeInt l(num1);
LargeInt l2(num2);
LargeInt l3;
l3 = l + l2;
cout << "add nums " << num1 << " and " << num2 << ": " << l3 << endl;
}
void minusTest(int num1, int num2)
{
LargeInt l(num1);
LargeInt l2(num2);
cout << "l: " << l << endl;
cout << "l2: " << l2 << endl;
LargeInt l3;
l3 = l - l2;
cout << "subs nums " << num1 << " and " << num2 << ": " << l3 << endl;
cout << "l: " << l << endl;
cout << "l2: " << l2 << endl;
}
void equalTest(int num1, int num2)
{
LargeInt l(num1);
LargeInt l2(num2);
cout << l << " is equal to " << l2 << ": " << (l == l2) << endl;
}
void biggerSmallerTest(int num1, int num2)
{
LargeInt l(num1);
LargeInt l2(num2);
cout << l << " is bigger than " << l2 << ": " << (l > l2) << endl;
cout << l << " is smaller than " << l2 << ": " << (l < l2) << endl;
}
void additionOfTwoNegativeValueTest(int num1, int num2)
{
LargeInt l(num1);
LargeInt l2(num2);
cout << "l: " << l << endl;
cout << "l2: " << l2 << endl;
LargeInt l3;
l3 = l + l2;
cout << "add nums " << num1 << " and " << num2 << ": " << l3 << endl;
cout << "l: " << l << endl;
cout << "l2: " << l2 << endl;
}
void negativeValueTest(int num)
{
LargeInt l(num);
cout << "num: " << l << endl;
}
void storeIntTest(int num)
{
LargeInt l(num);
l = num;
cout << "num: " << l << endl;
}
void storeStringTest(string num)
{
LargeInt l(num);
l = num;
cout << "num: " << l << endl;
}