Câu lệnh cin
Thuộc phần Kiến thức nền tảng trong hành trình C++ của Coddy. Bài học 34 trên 74.
Đến giờ, chúng ta đã lưu những giá trị mình nghĩ đến trong các biến. Chương trình thường không hoạt động theo cách này. Chúng ta nhận giá trị từ nguồn bên ngoài, chẳng hạn như người dùng.
Trong C++, bạn có thể nhận đầu vào từ người dùng bằng câu lệnh cin. Câu lệnh này cung cấp các phương thức để đọc nhiều kiểu đầu vào khác nhau, chẳng hạn như số nguyên, số thực và chuỗi.
Để sử dụng câu lệnh cin, trước tiên bạn cần khai báo một biến để lưu giá trị đầu vào. Sau đó, bạn có thể dùng toán tử trích xuất >> để đọc đầu vào từ luồng đầu vào chuẩn std::cin và lưu vào biến. Cách thực hiện như sau:
int age;
std::cout << "Enter your age: ";
std::cin >> age;Toán tử trích xuất >> sẽ tự động chuyển đổi đầu vào sang kiểu dữ liệu phù hợp dựa trên biến mà bạn lưu dữ liệu vào. Ví dụ:
// Với số nguyên:
std::cin >> intVariable;
// Với số thực:
std::cin >> doubleVariable;
// Với chuỗi:
std::cin >> stringVariable;Với giá trị boolean trong C++, cin có thể xử lý đầu vào theo hai cách:
1. Theo mặc định, cin chỉ đọc 0 (được lưu thành false) hoặc 1 (được lưu thành true) vào một bool. Bất kỳ đầu vào nào khác, chẳng hạn như 5, đều khiến thao tác trích xuất thất bại và đặt failbit của luồng. Kể từ C++11, một số khác 0 hoặc 1 vẫn được lưu thành true, còn đầu vào không phải là số được lưu thành false.
2. Để đọc trực tiếp các từ true hoặc false, trước tiên bạn phải đặt std::cin >> std::boolalpha; nếu không, các từ đó sẽ không thể được trích xuất.
Thử thách
Người mớiViết một chương trình nhận đầu vào từ người dùng (tên của họ), rồi in ra Hello, theo sau là tên người dùng đã nhập.
Ví dụ, nếu người dùng nhập Bob, đầu ra dự kiến là Hello, Bob.
Bạn cần:
- Tạo một biến
stringđể lưu tên. - Yêu cầu người dùng nhập tên.
- Đọc tên người dùng bằng phương thức
cinphù hợp. - Cuối cùng, in ra
Hello,và biến đã lưu.
Tự làm thử
#include <iostream>
#include <string>
int main() {
// Nhắc người dùng nhập tên
std::cout << "Enter your name: ";
// Đọc tên người dùng
std::string name;
// In ra lời chào
return 0;
}Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Kiến thức nền tảng
Tự luyện tập: Trình biên dịch C++ online