📖 Scenario: You are creating a simple program that asks a user for their name and then greets them.
🎯 Goal: Build a program that takes a user's name as input and then prints a greeting message including their name.
📋 What You'll Learn
Use a string variable called name to store the user's input.
Use cin to read the user's name.
Use cout to print the greeting message.
💡 Why This Matters
🌍 Real World
Programs often need to get information from users and show messages back. This is the basic way to interact with people using a computer.
💼 Career
Knowing how to handle text input and output is essential for many programming jobs, especially when building command-line tools or simple user interfaces.
Progress0 / 4 steps
1
Create a string variable
Create a string variable called name to store the user's name.
C++
Hint
Use std::string name; to create the variable.
2
Read user input
Use std::cin to read the user's name into the variable name.
C++
Hint
Use std::cin >> name; to read the input.
3
Print greeting message
Use std::cout to print the message Hello, followed by the user's name and an exclamation mark.
C++
Hint
Use std::cout << "Hello, " << name << "!" << std::endl; to print the greeting.
4
Run the program and see the output
Run the program and enter the name Alice. The program should print Hello, Alice!.
C++
Hint
Type Alice when the program waits for input and press Enter.
Practice
(1/5)
1. Which C++ statement correctly reads a full line of text including spaces into a string variable named name?
easy
A. std::cin >> name;
B. std::getline(std::cin, name);
C. std::cin.get(name);
D. getline(name, std::cin);
Solution
Step 1: Understand how to read full lines with spaces
The function std::getline reads an entire line including spaces into a string.
Step 2: Identify correct syntax for reading from standard input
The correct syntax is std::getline(std::cin, variable), so std::getline(std::cin, name); is correct.
Final Answer:
std::getline(std::cin, name); -> Option B
Quick Check:
Full line input = std::getline(std::cin, name) [OK]
Hint: Use std::getline to read full lines with spaces [OK]
Common Mistakes:
Using std::cin >> name; reads only until first space
Swapping arguments in getline function
Using std::cin.get() incorrectly for strings
2. Which of the following is the correct way to print the string variable message to the console in C++?
easy
A. std::cout << message << std::endl;
B. print(message);
C. echo message;
D. console.log(message);
Solution
Step 1: Identify the standard output method in C++
C++ uses std::cout to print output to the console.
Step 2: Use the insertion operator to print strings
The correct syntax is std::cout << message << std::endl; to print the string and move to the next line.
C. std::cin >> input; reads only until first space, not full line
D. std::cout cannot print strings directly
Solution
Step 1: Understand how std::cin >> works with strings
std::cin >> input; reads input only until the first whitespace, so it cannot read full lines with spaces.
Step 2: Identify the correct method to read full lines
To read full lines including spaces, std::getline(std::cin, input); should be used instead.
Final Answer:
std::cin >> input; reads only until first space, not full line -> Option C
Quick Check:
std::cin >> string reads until space [OK]
Hint: Use std::getline to read strings with spaces, not std::cin >> [OK]
Common Mistakes:
Thinking std::cin >> reads full line
Confusing syntax errors with input behavior
Believing std::cout cannot print strings
5. You want to read a user's full name (which may contain spaces) and then print a greeting like Hello, [name]!. Which code snippet correctly does this in C++?
hard
A. std::string name;
std::getline(std::cin, name);
std::cout << "Hello, " << name << "!" << std::endl;
B. std::string name;
std::cin >> name;
std::cout << "Hello, " << name << "!" << std::endl;
C. char name[50];
std::cin >> name;
std::cout << "Hello, " << name << "!" << std::endl;
D. std::string name;
getline(name, std::cin);
std::cout << "Hello, " << name << "!" << std::endl;
Solution
Step 1: Choose method to read full name with spaces
Using std::getline(std::cin, name); reads the entire line including spaces, perfect for full names.
Step 2: Print greeting with the name
std::cout << "Hello, " << name << "!" << std::endl; correctly prints the greeting with the name.
Final Answer:
std::string name;
std::getline(std::cin, name);
std::cout << "Hello, " << name << "!" << std::endl; -> Option A
Quick Check:
Read full line + print greeting = std::string name;
std::getline(std::cin, name);
std::cout << "Hello, " << name << "!" << std::endl; [OK]
Hint: Use std::getline for full name input, then std::cout to print [OK]
Common Mistakes:
Using std::cin >> which stops at first space
Swapping arguments in getline function
Using char arrays without proper input handling
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.