The code below works for reversing a number with a zero as such
Enter a positive integer: 650
The number 650 reversed is: 056
but not for this
Enter a positive integer: 045
The number 45 reversed is: 54
I was looking for 540 not 54
I ran across this previous question:
Is it possible to store a leading zero in an int?
Is formatting still the answer to fix my code- if so where to add it. Or it is a different problem. Again thanks fo the insight
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
int number, disp_num, c_num, check_num =0, count = 0, rev_count=0, reverse = 0;
cout << "Enter a positive integer: ";
cin>> number;
while(number < 0){
cout << "That number is not positive. Enter a positive integer: ";
cin >> number;
}
disp_num = number;
for( ; number!= 0 ; )
{
reverse = reverse * 10;
reverse = reverse + number%10;
number = number/10;
count += 1;
}
c_num = reverse;
for( ; c_num!= 0 ; )
{
check_num = check_num * 10;
check_num = check_num + c_num%10;
c_num = c_num/10;
rev_count += 1;
}
if (rev_count != count){
cout << "The number " << disp_num << " reversed is: ";
for (int i = 0; i < (count - rev_count); i++){
cout << "0";
}
cout << reverse << endl;
}
else{
cout<< "The number " << disp_num << " reversed is: " <<reverse << endl;
}
return 0;