We use multiple input and output to handle several pieces of information at once. This helps us work with more data in one go.
Multiple input and output in C++
std::cin >> var1 >> var2 >> var3; std::cout << val1 << ' ' << val2 << ' ' << val3 << std::endl;
You can use the extraction operator (>>) multiple times to read several inputs in one line.
Use the insertion operator (<<) multiple times to print multiple outputs together.
int a, b; std::cin >> a >> b; std::cout << a << ' ' << b << std::endl;
std::string firstName, lastName;
std::cin >> firstName >> lastName;
std::cout << lastName << ", " << firstName << std::endl;double x, y, z;
std::cin >> x >> y >> z;
std::cout << x + y + z << std::endl;This program asks the user to enter their name and age in one line. Then it greets the user with their name and age.
#include <iostream> #include <string> int main() { int age; std::string name; std::cout << "Enter your name and age: "; std::cin >> name >> age; std::cout << "Hello, " << name << ". You are " << age << " years old." << std::endl; return 0; }
When reading strings with spaces, std::cin stops at the first space. Use std::getline() if you want to read full lines.
Make sure the input matches the expected types to avoid errors.
You can read multiple inputs in one line using multiple >> operators.
You can print multiple outputs in one line using multiple << operators.
This makes your program simpler and faster when handling several values.
Practice
Which of the following statements correctly reads two integers a and b from the user in C++?
Solution
Step 1: Understand input operator usage
In C++,std::cinis used for input and the extraction operator>>reads values.Step 2: Identify correct syntax for multiple inputs
Usingstd::cin >> a >> b;reads two integers from the user correctly.Final Answer:
std::cin >> a >> b; -> Option DQuick Check:
Input uses std::cin with >> operator [OK]
- Using << instead of >> for input
- Using std::cout for input
- Mixing input and output operators
Which of the following lines correctly prints three variables x, y, and z separated by spaces in C++?
Solution
Step 1: Understand output operator usage
In C++,std::coutis used for output and the insertion operator<<prints values.Step 2: Print multiple variables with spaces
Usingstd::cout << x << ' ' << y << ' ' << z;prints variables separated by spaces correctly.Final Answer:
std::cout << x << ' ' << y << ' ' << z; -> Option AQuick Check:
Output uses std::cout with << and spaces [OK]
- Using commas instead of << for output
- Using >> operator for output
- Using std::cin for output
What is the output of the following C++ code if the user inputs 5 10?
int a, b; std::cin >> a >> b; std::cout << a + b << ' ' << a * b << std::endl;
Solution
Step 1: Read input values
The code reads two integers: a = 5 and b = 10 from user input.Step 2: Calculate and print sum and product
The output printsa + b = 15anda * b = 50separated by a space.Final Answer:
15 50 -> Option AQuick Check:
Sum and product printed with space [OK]
- Concatenating numbers as strings
- Forgetting space between outputs
- Confusing input and output operators
Identify the error in the following C++ code snippet:
int x, y; std::cin << x << y; std::cout << x << y;
Solution
Step 1: Check input operator usage
Input usesstd::cinwith extraction operator>>, but code uses<<which is wrong.Step 2: Check output operator usage
The code correctly usesstd::coutwith insertion operator<<.Final Answer:
<< used instead of >> for input -> Option CQuick Check:
Input needs >> operator, not << [OK]
- Swapping << and >> operators
- Confusing std::cin and std::cout
- Ignoring operator direction
Given the following code, what will be the output if the user inputs 3 4 5?
int a, b, c; std::cin >> a >> b >> c; std::cout << a + b << ' ' << b + c << ' ' << a + c << std::endl;
Solution
Step 1: Read three integers from input
The variables are assigned as a=3, b=4, c=5 from user input.Step 2: Calculate sums and print
Printsa + b = 7,b + c = 9, anda + c = 8separated by spaces.Final Answer:
7 9 8 -> Option BQuick Check:
Sum pairs printed correctly [OK]
- Adding all three instead of pairs
- Mixing input order
- Forgetting spaces between outputs
Ready to prove it?
Pass the test and this pattern moves unknown
