Nhập, xuất chuỗi

Một phần của tài liệu Kỹ thuật lập trình (Trang 45 - 49)

■1. Nhập chuỗi

1.1. Nhập chuỗi bẵng cin»

Cú phâp:

cin »tínchuỗi

Theo cđu lệnh năy mây sẽ thực hiện câc bước sau:

+ Bước 1: Kiểm tra bộ đệm băn phím, nếu bộ đệm rỗng thì chuyển qua bước

2. Ngược lại thì chuyển qua bước 3.

+ Bước 2: Cho phĩp người sử dụng nhập từ băn phím văo bộ đệm một chuỗi.

Quâ trình nhập sẽ kết thúc khi người sử dụng gõ phím Enter

+ Bước 3: Bỏ câc ký tự trắng đầu tiín của chuỗi hiện có trong bộ đệm.

»

+ Bước 4: Đọc từng ký tự trong bộ đệm vă gân cho từng phần tử của mảng.

Quâ trình gân sẽ kết thúc khi gặp dấu câch hoặc ký tự Enter. Câc ký tự chưa đọc - gân vẫn cón lưu trong bộ đệm

*

+ Bước 5: Thím ký tự null ‘\0’ văo byte tiếp theo của chuỗi.

+ Bước 6: Nếu dêy ký tự nhập có kích thước lớn hơn kích thước mảng -1 thì

chuỗi ký tự sẽ được gân cho biến có tín trong lệnh. Ngược lại thì kết quả khơng xâc định được vă thường khơng lường trước được kết quả.

Ví dụ:

/♦Chương trình minh họa nhập chuỗi băng cin »♦/ #inchide <iostream>

using namespace std; int main()

char hoten[20];

cout« "Nhap vao ho ten" «'\n'; cin » hoten;

cout« "Ho va ten = " « hoten «endl; system("pause");

return 0;

____________________________

Kít quả như sau:

Trường hợp có khoảng trắng thì câc ký tự phía sau khoảng trắng đầu tiín sẽ bị bỏ đi

1.2. Nhập chuỗi bằng cin.geto

Câch nhập chuỗi bằng cin vă ‘»’ có hạn chế lă khơng nhập được dấu câch vă dễ gđy ra lỗi treo mây. Có thể dùng hăm cin.geto để nhập từ băn phím chuỗi có chứa dấu câch

Cú phâp:

cin.getịtín biến chuỗi, số_kỷ tự_tổi_da_củamảng)

Theo cđu lệnh năy mây sẽ thực hiện câc bước tương tự cin » nhưng cho phĩp đọc ký tự khoảng trắng văo phần tử của chuỗi.

Ví dụ: ,

/*

Chương trình minh họa nhập'chuỗi bằng cin .get()*/ #include <iostream>

#include <conio.h> using namespace std; int main()

char hoten[20];

cout « "Nhap vao ho ten" «'\n'; cin.get(hoten,20);

cout« "Ho va ten = " « hoten «endl; system("pause");

return 0; }

Kít quả ký tự trăng có thí được lưu văo mảng::

■ C:\Users\AnhThu\DesHop\PracticeQDeQu

Hhap vao ho ten A

SMguyen Uan A

nõ ũa ten = Nguyen Uan A

Press any key to continue . . . _

Ví dụ sau minh họa trường, hợp đoạn chưong trình sử dụng nhiều lệnh cin.get() liín tiếp nhau gđy nín hiện tượng trơi cđu lệnh đọc chuỗi

^include <iostream> #include <conio.h> using namespace std; int main()

char hotenl[20], hoten2[20];

cout« "Nhap vao ho ten nguoi thu 1: " «'\n'; cin.get(hotenl,20);

cout« "Nhap vao ho ten nguoi thu 2: " «Ạn’; cin.get(hoten2,20);

cout« "Hai ten vua nhap la = " « hotenl «" va " «hoten2 « endl; system("pause");

return 0;

Kít quả cđu lệnh cin.get(hoten2, 20) bị trơi qua vă kít quả khơng chính xâc:

□3 C:\Windows\system32\cmd.exe '

Mhap uao ho ten nguoi thui: T

Nguyen Van ft

Nhap vao ho ten nguoi thu 2: .

Hai ten vua nhap la = Nguyen Uan A va (Press any key to continue . . . w

Để khắc phục tình trạng năy ta dùng một trong hai câch lă dùng hăm cin.ignore(l) để bỏ qua ký tự Enter hoặc dùng cin.get(c) để thu lấy ký tự enter.

1.3. Phương thức cin.ignore(l)

Thím lệnh cin.ignore(l)sau mỗi lệnh cin.getQ ^include <iostream>

#include <conio.h> using namespace std;

int main()

char hotenl[20], hoten2[20];

cout« "Nhap vao ho ten ngi thu 1: " «'\n'; cin.get(hotenl,20);

cin.ignore(l);//BỎ qua ký tự Enter

cout« "Nhap vao ho ten nguoi thu 2: " «'\n'; cin.get(hoten2,20);

cout« "Hai ten vua nhap la = " « hotenl «" va " «hotem system("pause");

return 0; }

ĩ« endl;

1.4. Phương thức cin.get(c)

Thím lệnh cin.get(c)sau mỗi lệnh cin.get()

#include <iostream> ^include <conio.h> using namespace std;

int main() {

char hotenl[20], hoten2[20], c;

cout« "Nhap vao ho ten nguoi thu 1: " «'\n’; cin.get(hotenl,20);

cin.get(c); //BỎ qua ký tự Enter

cout« "Nhap vao ho ten nguoi thu 2: " «'\n'; cin.get(hoten2,20);

cout« "Hai ten vua nhap la = " « hotenl «" va " «hoten2 « endl; system("pause"); return 0; Kít quả: 1.5. Nhập chuỗi bằng cin.getlineO Cú phâp: cin.getline(tín_biến, chiều_dăi_mảng)

Cđu lệnh năy cho phĩp đọc cả ký tự ENTER văo phần tử của mảng.

1.6. Xuất chuỗi:

Có thể xuất chuỗi bằng lệnh cơut« hoặc puts(). Hăm puts

Một phần của tài liệu Kỹ thuật lập trình (Trang 45 - 49)

Tải bản đầy đủ (PDF)

(88 trang)