Need some help with this program
So, I am required to make something that adds and substracts two 16 digit numbers, each of them composed of two 8 digit numbers respectively.
This needs to be done using integers only and using only If, switch or for.
what I have till now is this
Code:
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int number1l, number1r, number2l, number2r;
int suml, sumr, diffl, diffr;
char ope;
cout << "number 1:";
cin >> number1l >> number1r;
cout << "number 2:";
cin >> number2l >> number2r;
suml = number1l + number2l;
sumr = number2r + number2r;
diffl = number1l - number2l;
diffr = number2r - number2r;
if (sumr > 99999999)
suml++;
else if (diffr < 99999999)
{ diffl--;
diffr+=10000000;
}
cout << setfill('0');
cout << "sum:" << setw(8) << suml << setw(8) << sumr;
cout << "diff" << setw(8) << diffl << setw(8) << diffr;
return 0;
}
It all goes fine but somehow in the end I end up getting wrong calculations.
If i put 11111111 11111111 and 22222222 22222222
i get 3333333344444444 as sum and 1111111210000000 as difference.
What am i doing wrong here, any help would be appreciated.
Edit: Nevermind, found out what was wrong :/