Bird
Raised Fist0
C++programming~10 mins

Basic formatting in C++ - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to print a formatted integer using cout.

C++
#include <iostream>
int main() {
    int number = 42;
    std::cout << [1] << std::endl;
    return 0;
}
Drag options to blanks, or click blank then click option'
A"number"
Bstd::endl
Cnumber
D42
Attempts:
3 left
💡 Hint
Common Mistakes
Putting quotes around the variable name, which prints the word instead of the value.
Using std::endl instead of the variable.
2fill in blank
medium

Complete the code to print a floating-point number with two decimal places using std::fixed and std::setprecision.

C++
#include <iostream>
#include <iomanip>
int main() {
    double pi = 3.14159;
    std::cout << std::fixed << std::setprecision([1]) << pi << std::endl;
    return 0;
}
Drag options to blanks, or click blank then click option'
A3
B0
C1
D2
Attempts:
3 left
💡 Hint
Common Mistakes
Using setprecision without std::fixed, which changes total digits instead of decimal places.
Choosing the wrong number for precision.
3fill in blank
hard

Fix the error in the code to print a string and an integer separated by a space.

C++
#include <iostream>
#include <string>
int main() {
    std::string name = "Alice";
    int age = 30;
    std::cout << name [1] " " << age << std::endl;
    return 0;
}
Drag options to blanks, or click blank then click option'
A,
B<<
C+
D>>
Attempts:
3 left
💡 Hint
Common Mistakes
Using + which tries to add strings and integers causing errors.
Using , which is not valid syntax for cout.
4fill in blank
hard

Fill both blanks to create a formatted output that prints a number with a width of 5 and fills empty spaces with zeros.

C++
#include <iostream>
#include <iomanip>
int main() {
    int num = 7;
    std::cout << std::setw([1]) << std::setfill([2]) << num << std::endl;
    return 0;
}
Drag options to blanks, or click blank then click option'
A5
B'0'
C10
D' '
Attempts:
3 left
💡 Hint
Common Mistakes
Using a space character for fill instead of zero.
Setting width to a number other than 5.
5fill in blank
hard

Fill all three blanks to print a floating-point number with width 8, precision 3, and left alignment.

C++
#include <iostream>
#include <iomanip>
int main() {
    double value = 12.34567;
    std::cout << std::[1] << std::setw([2]) << std::setprecision([3]) << value << std::endl;
    return 0;
}
Drag options to blanks, or click blank then click option'
Aleft
B8
C3
Dright
Attempts:
3 left
💡 Hint
Common Mistakes
Using right alignment instead of left.
Mixing up width and precision values.

Practice

(1/5)
1. What does the setw manipulator do in C++ output formatting?
easy
A. Sets the number of decimal places for floating numbers
B. Sets the width of the next output field
C. Changes the text color in the console
D. Aligns text to the center automatically

Solution

  1. Step 1: Understand the purpose of setw

    The setw manipulator sets the width of the next output field in characters.
  2. Step 2: Compare with other manipulators

    setprecision controls decimal places, not width. Color and alignment are not handled by setw.
  3. Final Answer:

    Sets the width of the next output field -> Option B
  4. Quick Check:

    setw = width setting [OK]
Hint: Remember: setw sets width, setprecision sets decimals [OK]
Common Mistakes:
  • Confusing setw with setprecision
  • Thinking setw changes text color
  • Assuming setw aligns text automatically
2. Which of the following is the correct way to include setw in a C++ program?
easy
A. #include <string>
B. #include <format>
C. #include <iomanip>
D. #include <iostream>

Solution

  1. Step 1: Identify the header for setw

    The setw manipulator is defined in the iomanip header.
  2. Step 2: Check other headers

    iostream is for input/output streams but does not define setw. format and string are unrelated here.
  3. Final Answer:

    #include <iomanip> -> Option C
  4. Quick Check:

    setw needs iomanip header [OK]
Hint: Use <iomanip> for manipulators like setw [OK]
Common Mistakes:
  • Including only <iostream> and expecting setw to work
  • Confusing <format> with <iomanip>
  • Forgetting to include any header for setw
3. What is the output of this code?
#include <iostream>
#include <iomanip>
using namespace std;

int main() {
  cout << setw(5) << 42 << endl;
  cout << setw(5) << 1234 << endl;
  return 0;
}
medium
A. 42 1234
B. 42 1234
C. 4321 24
D. 42 1234

Solution

  1. Step 1: Understand setw effect on output

    setw(5) sets the width to 5 characters, padding with spaces on the left by default.
  2. Step 2: Apply setw to numbers

    Number 42 is printed right-aligned in 5 spaces: 3 spaces + '42'. Number 1234 is 4 digits, so 1 space + '1234'.
  3. Final Answer:

    42 1234 -> Option A
  4. Quick Check:

    setw pads left with spaces [OK]
Hint: setw pads on left by default for numbers [OK]
Common Mistakes:
  • Assuming setw pads on the right
  • Ignoring spaces added by setw
  • Thinking setw truncates numbers
4. Identify the error in this code snippet:
#include <iostream>
using namespace std;

int main() {
  cout << setw(10) << 3.14159 << endl;
  return 0;
}
medium
A. No error, code runs fine
B. Using cout without std:: prefix
C. Incorrect use of endl
D. Missing <iomanip> header for setw

Solution

  1. Step 1: Check header includes

    The code uses setw but does not include <iomanip>, which is required.
  2. Step 2: Verify other parts

    cout is used with using namespace std;, so no prefix needed. endl usage is correct.
  3. Final Answer:

    Missing <iomanip> header for setw -> Option D
  4. Quick Check:

    setw needs iomanip header [OK]
Hint: Always include <iomanip> when using setw [OK]
Common Mistakes:
  • Forgetting to include <iomanip>
  • Thinking cout needs std:: with using namespace std;
  • Assuming endl usage causes error
5. How would you format the output of a floating-point number to always show exactly 3 decimal places and a total width of 8 characters, right-aligned?
hard
A. cout << fixed << setprecision(3) << setw(8) << number;
B. cout << setprecision(3) << setw(8) << number;
C. cout << setw(8) << fixed << number << setprecision(3);
D. cout << fixed << setw(3) << setprecision(8) << number;

Solution

  1. Step 1: Set fixed decimal places

    Use fixed and setprecision(3) to show 3 decimals exactly.
  2. Step 2: Set total width and alignment

    Use setw(8) to set total width to 8 characters, right-aligned by default.
  3. Final Answer:

    cout << fixed << setprecision(3) << setw(8) << number; -> Option A
  4. Quick Check:

    fixed + setprecision + setw(8) = correct format [OK]
Hint: Use fixed before setprecision, then setw for width [OK]
Common Mistakes:
  • Omitting fixed causes variable decimals
  • Placing setw before fixed and setprecision incorrectly
  • Using wrong values for setw or setprecision
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard