Search code examples
c++c++11stlsetw

C++ manipulation using iomanip library


I am new to C++ STL libraries and need help.
I want to add two numbers suppose A = 4555 and B = 50, and output them as:

4555
  +50
4605

Another Examples:

500000 + 12

500000
      +12
500012

If i am storing both A and B in integer data type while the sign '+' in character data type. How can i manipulate them to get the preferred output. I just cant figure out how to manipulate two variables together.


Solution

  • If you could use constant width (or variable width equal to the maximum width of the numbers involved) with std::setw from <iomanip> as:

    #include <iostream>
    #include <iomanip>
    #include <string>
    
    void display_sum(int a, int b)
    {
        std::cout << std::setw(10) << a  << "\n"
                  << std::setw(10) << ("+" + std::to_string(b)) << "\n"
                  << std::setw(10) << (a+b) <<"\n" << std::endl;
    }
    
    int main()
    {
        display_sum(4555, 50);
        display_sum(500000, 12);
        display_sum(503930, 3922);
    }
    

    Output:

      4555
       +50
      4605
    
    500000
       +12
    500012
    
    503930
     +3922
    507852
    

    Online demo