nhập ký tự và xâu ký tự trong lập trình c++.
Về cơ bản trong c++ chúng ta đã biết hai phương thức xuất nhập thường sử dụng đó là cin và cout.
Tuy nhiên với các kiểu dữ liệu thông thường như double, float, int, thì cin và cout rất tốt khi sử dụng.
Nhưng với kiểu dữ liệu là ký tự thì chúng ta có một vài cách khác đặc biệt để sử dụng cho việc nhập ký tự và xâu ký tự trong lập trình c++
1. Nhập Ký Tự.
Sử dụng : cin.get() nếu ko truyền đối số vào thì hàm trả lại ký tự được nhập vào bao gồm cả dấu cách và ký tự enter.
Ví dụ tôi nhập liền một lúc ABCD. Thì ký tự A sẽ được nhận vào và trả lại. còn BCD sẽ được lưu trong cin.
char ch;
ch = cin.get();
Sử dụng cin.get(ch); ch sẽ được nhận giá trị truyền vào từ bàn phím.
ví dụ
char a, b;
cin.get(a).get(b); // Giả sử tôi nhập ABC và enter Thì a sẽ lưu ‘A’, b sẽ lưu ký tự ‘B’ và C Enter sẽ được lưu trong cin.
Note: Việc ký tự thừa còn lưu trong cin đôi khi là một vấn đề gây ra lỗi.
Vì nó lần thực hiện cin sau đó, chúng ta muốn đánh một chuỗi mới, thì vô tình nó lại lấy số ký tự còn sót lại trong lần cin trước để truyền vào
2. Nhập xâu ký tự
Sử dụng : cin.get(s, n);
s là một chuỗi lưu trữ xâu ký tự, thường là một mảng char.
n là số lượng ký tự sẽ nhập vào.
+ khi nhập xong, s sẽ tự động được gán ký tự kết thúc xâu: ‘\0’
+ Enter là ký tự thông báo việc nhập xâu từ bàn phím kết thúc. cin sẽ lấy đủ số ký tự nhập vào là n-1 và dành 1 ký tự kết thúc xâu.
+ Số ký tự thừa còn lại và cả ký tự enter sẽ được lưu lại trong cin.
Để giải quyết vấn đề đó người ta dùng lệnh cin.ignore() sau lệnh cin ở trên để loại bỏ ký tự còn xót trong cin.
Ví dụ:
char s[10];
cin.get(s, 5);
Giả sử tôi nhập 7 ký tự 1234567. Sau đó tôi nhấn enter => S sẽ nhận 4 ký tự là 1234 và dành 1 ký tự cho kết thúc xâu: ‘\0’
Giả sử tôi nhập 3 ký tự là 123. Thì s sẽ nhận 123 và tự đông chèn 1 ký tự kết thúc xâu.
Những ký tự thừa còn lại vẫn lưu trữ trong cin.
Dưới đây là minh họa
Để xóa bỏ số lượng ký tự thừa con lưu trong cin. Sử dụng cin.ignore(n) để loại bỏ n ký tự còn thừa.
Một vấn đề ở đây đó là làm sao biết còn bao nhiêu ký tự thừa còn sót lại để loại bỏ.
Một cách khác ưu việt hơn đó là.
Sử dụng : cin.getline(s, n);
Phương thức giống hệt như phương thức trên nhưng nó ưu điểm hơn là nó tự loại bỏ các ký tự thừa ra khỏi nhưng vẫn giữ lại ký tự enter.
Điều đó có nghĩa là khi sử dụng cin.ignore chúng ta không cần phải suy nghĩ xem nên chọn n bằng bao nhiêu cho phù hợp để đảm bảo loại số ký tự thừa còn sót lại.
Chúng ta chỉ việc dùng cin.ignore() là đủ.
3. Một số phương thức định dạng.Chỉ định số lẻ thập phâncout.precision(n)int a = 12.2345;
cout.precision(2);
cout << a;
kq: 12.23Nhóm cờ căn lềios::left
ios:right
ios:internalcout.seft(ios::left);
cout << a;Nhóm định dạng số nguyênios::dec
ios::oct
ios::hexcout.seft(ios::dec)Nhóm định dạng số thựcios::fixed
ios::scientifc
ios::showpointdấu phẩy tĩnh
dấu phẩy động
in đủ n chữ số lẻ thập phân.Nhóm định dạng hiển thịios::showpos
ios::showbase
ios::uppercasethêm + vào số dương
thêm số 0 trước hệ 8
Viết hoa hệ hexa
Ok. Đó là cơ chế nhập ký tự và xâu ký tự trong lập trình c++.
Code(C++):
#include<iostream>
using namespace std;
int main()
{
string a;
cin >> a;
cout << a.size();
return 0;
}
Tin học, tiếng Anh: informatics, tiếng Pháp: informatique, là một ngành khoa học chuyên nghiên cứu quá trình tự động hóa việc tổ chức, lưu trữ, xử lý và truyền dẫn thông tin của một hệ thống máy tính cụ thể hoặc trừu tượng (ảo). Với cách hiểu hiện nay, tin học bao hàm tất cả các nghiên cứu và kỹ thuật có liên quan đến việc mô phỏng, biến đổi và tái tạo thông tin.
Nguồn : Wikipedia - Bách khoa toàn thưLớp 11 - Năm thứ hai ở cấp trung học phổ thông, gần đến năm cuối cấp nên học tập là nhiệm vụ quan trọng nhất. Nghe nhiều đến định hướng sau này rồi học đại học. Ôi nhiều lúc thật là sợ, hoang mang nhưng các em hãy tự tin và tìm dần điều mà mình muốn là trong tương lai nhé!
Nguồn : ADMIN :))Copyright © 2021 HOCTAP247