Mạch Khóa Số Điện Tử Mạch Đếm Sản Phẩm Mạch Đèn giao thông Ngã Tư Mạch Trái Tim Final Mạch Trái Tim Final Mạch Trái Tim I Love U

April 17, 2011

Lập trình C++: Giao tiếp với Console

Console là giao diện cơ bản của máy tính. Bàn phím là thiết bị vào cơ bản và màn hình là thiết bị ra cơ bản.

Trong thư viện iostream của C++, các thao tác vào ra cơ bản của một chương trình được hỗ trợ bởi hai dòng dữ liệu: cin để nhập dữ liệu và cout để xuất. Thêm vào đó, còn có cerr và clog là hai dòng dữ liệu dùng để hiển thị các thông báo lỗi trên thiết bị ra chuẩn (thường là màn hình) hoặc ra một file. Thông thường cout được gán với màn hình còn cin được gán với bàn phím.

Sử dụng hai dòng dữ liệu này bạn sẽ có thể giao tiếp với người sử dụng vì bạn có thể hiển thị các thông báo lên màn hình cũng như nhận dữ liệu từ bàn phím.

Xuất dữ liệu (cout)

Dòng cout được sử dụng với toán tử đã quá tải << (overloaded - bạn sẽ hiểu rõ hơn về thuật ngữ này trong phần lập trình hướng đối tượng).

cout << "Output sentence"; // Hiển thị Output sentence lên màn hình

cout << 120; // Hiển thị số 120 lên màn hình

cout << x; // Hiển thị nội dung biến x lên màn hình

Toán tử << được gọi là toán tử chèn vì nó chèn dữ liệu đi sau nó vào dòng dữ liệu đứng trước. Trong ví dụ trên nó chèn chuỗi "Output sentence", hằng số 120 và biến x vào dòng dữ liệu ra cout. Chú ý rằng ở dòng đầu tiên chúng ta sử dụng dấu ngoặc kép vì đó là một chuỗi ký tự. Khi chúng ta muốn sử dụng các hằng xâu ký tự ta phải đặt chúng trong cặp dấu ngoặc kép để chúng có thể được phân biệt với các biến. Ví dụ, hai lệnh sau đây là hoàn toàn khác nhau:

cout << "Hello"; // Hiển thị Hello lên màn hình

cout << Hello; // Hiển thị nội dung của biến Hello lên màn hình

Toán tử chèn (<<) có thể được sử dụng nhiều lần trong một câu lệnh:

cout << "Hello, " << "I am " << "a C++ sentence";

Câu lệnh trên sẽ in thông báo Hello, I am a C++ sentence lên màn hình. Sự tiện lợi của việc sử dụng lặp lại toán tử chèn (<<) thể hiện rõ khi chúng ta muốn hiển thị nhiều biến và hằng hơn là chỉ một biến:

cout << "Hello, I am " << age << " years old and my email address is " << email_add;

Cần phải nhấn mạnh rằng cout không nhảy xuống dòng sau khi xuất dữ liệu, vì vậy hai câu lệnh sau:

cout << "This is a sentence.";
cout << "This is another sentence.";

sẽ được hiển thị trên màn hình:

This is a sentence.This is another sentence.

Bởi vậy khi muốn xuống dòng chúng ta phải sử dụng ký tự xuống dòng, trong C++ là:

cout << "First sentence. ";
cout << "Second sentence. Third sentence.";

sẽ viết ra màn hình như sau:

First sentence.
Second sentence.
Third sentence.

Thêm vào đó, để xuống dòng bạn có thể sử dụng tham số endl. Ví dụ:

cout << "First sentence." << endl;
cout << "Second sentence." << endl;

sẽ in ra màn hình:

First sentence.
Second sentence.

Tham số endl có một tác dụng đặc biệt khi nó được dùng với các dòng dữ liệu sử dụng bộ đệm: Các bộ đệm sẽ được flushed (chuyển toàn bộ thông tin từ bộ đệm ra dòng dữ liệu). Tuy nhiên, theo mặc định cout không sử dụng bộ đệm.

Nhập dữ liệu (cin)

Thao tác vào chuẩn trong C++ được thực hiện bằng cách sử dụng toán tử đã quá tải >> với dòng cin. Theo sau toán tử này là biến sẽ lưu trữ dữ liệu được đọc vào. Ví dụ:

int age;
cin >> age;

khai báo biến age có kiểu int và đợi nhập dữ liệu từ cin (bàn phím) để lưu trữ nó trong biến kiểu nguyên này.

Cin chỉ bắt đầu xử lý dữ liệu nhập từ bàn phím sau khi phím Enter được gõ. Vì vậy dù bạn chỉ nhập một ký tự thì cin vẫn sẽ kiên nhẫn chờ cho đến khi bạn gõ phím Enter.

// i/o example

#include

int main ()

{

int i;

cout << "Please enter an integer value: ";

cin >> i;

cout << "The value you entered is " << i;

cout << " and its double is " << i*2 << ". ";

return 0;

}
Please enter an integer value: 702
The value you entered is 702 and its double is 1404.

Người sử dụng chương trình có thể là một trong những nguyên nhân gây ra lỗi trong một chương trình đơn giản sử dụng cin (như chương trình trên). Trong khi bạn muốn nhận một số nguyên thì người sử dụng lại nhập vào tên của họ (là một xâu ký tự). Kết quả là chương trình sẽ chạy sai vì đó không phải là những gì mà chương trình mong đợi từ người dùng. Bởi vậy khi bạn sử dụng dữ liệu nhập vào từ cin bạn phải tin chắc rằng người dùng sẽ hoàn toàn hợp tác và rằng anh ta sẽ không nhập tên của mình khi chương trình yêu cầu nhập số nguyên. Sau này, khi nghiên cứu việc sử dụng các xâu ký tự chúng ta sẽ xem xét các giải pháp khả thi để giải quyết các lỗi loại này.

Bạn có thể dùng cin để nhập một lúc nhiều dữ liệu từ người dùng:

cin >> a >> b;

tương đương với

cin >> a;
cin >> b;

Trong cả hai trường hợp người sử dụng phải cung cấp hai dữ liệu, một cho biến a và một cho biến b và được ngăn cách bởi một dấu trống hợp lệ: một dấu cách, dấu tab hay ký tự xuống dòng.

(Theo OurViet Network)

0 comments:

Post a Comment

Bạn đọc hãy giúp chúng tôi xây dựng cộng đồng bằng cách để lại bình luận, chúng tôi luôn đón nhận mọi ý kiến của các bạn:
» Bình luận nghiêm túc và không chứa các liên kết quảng cáo.
» Vui lòng không Spam nhận xét với mọi hình thức.
» Rất mong bạn đề tên cho nhận xét của chính mình - Bằng cách chọn vào Tên/URL và điền tên bạn vào (Phần URL có thể bỏ trống ).

- Bạn có thể chèn Link nhạc (NCT), video(Youtube),Hình ảnh vào comment bằng cú pháp:
+ [youtube] Link video Youtube [/youtube].
+ [img] Link ảnh( định dạng PNG, JPG,GIF) [/img]
+Chèn link liên kết: <a href="LINK" rel="nofollow">Name</a>
-Bạn copy mã bên cạnh biểu tượng chèn vào nhận xét để bày tỏ cảm xúc!!

:) :( :)) :(( =)) =D> :D :P