BÀI 3 NHẬP, XUẤT - GitHub Pages 3.pdfNHẬP XUẤT DỮLIỆU 3 C++ sử dụng lớp trừu...
Transcript of BÀI 3 NHẬP, XUẤT - GitHub Pages 3.pdfNHẬP XUẤT DỮLIỆU 3 C++ sử dụng lớp trừu...
-
BÀI 3
NHẬP, XUẤT
Email:
Giảng viên: Nguyễn Văn Đồng– Khoa Công nghệ thông tin – ĐH Thủy Lợi
mailto:[email protected]
-
NỘI DUNG
Nhập dữ liệu từ bàn phím
Xuất dữ liệu ra màn hình
Nhập xuất dữ liệu với tệp tin
2
-
NHẬP XUẤT DỮ LIỆU
3
C++ sử dụng lớp trừu tượng stream (dòng) để vào ra dữ liệu
Dòng là chuỗi các bytes dữ liệu
Dòng nhập: là chuỗi bytes từ thiết bị bàn phím, ổ cứng, mạng đến bộ nhớ
Dòng xuất: là chuỗi các bytes từ bộ nhớ đi ra màn hình, máy in, ổcứng, truyền mạng…
Các thư viện chuẩn nhập/xuất:
File chuẩn
iostream Định nghĩa các đối tượng cin, cout
fstream Cung cấp các hàm cho điểu khiển tệp tin
(Xemmục2.9.1tronggiáotrình)
-
NHẬP XUẤT DỮ LIỆU
Cần khai báo tiền xử lý khi nhập, xuất dữ liệu
#include
Khi sử dung cin, cout nên khai báo không gian tên sau:
using namespace std;
4
-
XUẤT DỮ LIỆU
Sử dụng đối tượng cout và toán tử
-
XUẤT DỮ LIỆU
6
Ví dụ: #include #include using namespace std;
int main(){
string str ="DAI HOC THUY LOI";cout
-
XUẤT DỮ LIỆU
7
Sử dụng endl để thêm dòng mới
Với xâu ký tự:o sử dụng “\n” tại vị trí muốn xuống dòng
osử dụng “\t” để cách ra một khoảng trống
-
ĐOẠN LỆNH SAU CHO NHỮNG GÌ TRÊN MÀN HÌNH?
const double PI = 3.1415926;
double x= 30;
cout
-
ĐOẠN LỆNH SAU CHO NHỮNG GÌ TRÊN MÀN HÌNH?
int x = 3, y=5;
int z = 3*x + y;
cout
-
NHẬP DỮ LIỆU TỪ BÀN PHÍM
10
Sử dụng đối tượng cin và toán tử >> để nhập dữ liệu
Sau toán tử >> là biến
Cú pháp:
Cách 1: cin>> tenBien;
Cách 2: cin>> tenBien1 >> tenBien2;
cin nhập cho đến khi phím xuống dòng, phím tab hoặc phím
space được gõ
-
NHẬP DỮ LIỆU TỪ BÀN PHÍM
11
#include using namespace std;
int main(){
double a;cin>>a; //nhap du lieu cho canh hinh vuong luu vao bien a
double s; //luu dien tich hinh vuong s = a*a;cout
-
NHẬP DỮ LIỆU TỪ BÀN PHÍM
coutr1;
coutr2;coutr3;
double r = 1/(1/r1+1/r2+1/r3);
cout
-
NHẬP DỮ LIỆU TỪ BÀN PHÍM
Trường hợp nhập nhiều biến trên cùng một lệnh, giá trị nhập cách nhau bởi dấu cách
int x,y;coutx>>y;cout
-
NHẬP DỮ LIỆU TỪ BÀN PHÍM
Chú ý đến kiểu dữ liệu khi nhập đầu vào
Khi nhập sai kiểu dữ liệu chương trình không báo lỗi nhưng sẽ cho giá trị không đúng.
14
int x;
coutx;
cout
-
NHẬP DỮ LIỆU TỪ BÀN PHÍM
Trường hợp số giá trị nhập vào nhiều hơn số biến thì máy sẽ lưuvào bộ đệm để cho lần nhập biến tiếp theo
int x,y; coutx; couty;cout
-
NHẬP XÂU KÝ TỰ
16
Toán tử >> nhập xâu cho đến khi gặp khoảng trống → chỉ nhập đượcmột từ
Cách khác:
Sử dụng hàm getline trong thư viện string
Thêm vào khai báo tiền xử lý
#include
Khai báo biển thuộc kiểu dữ liệu string
Gọi hàm getline trong câu lệnh
getline(cin, tenbien);
-
NHẬP XÂU KÝ TỰ
Ví dụ:
#include
#include
using namespace std;
int main()
{
string diachi;
cout
-
TÌM LỖI SAI TRONG CÁC CÂU LỆNH SAU
cout
-
BÀI TẬP
Bài 1:Lập trình nhập họ và tên, quê quán của một sinh viên và hiển thị ra
màn hình.
Bài 2: Lập trình đọc vào tọa độ 3 điểm A, B, C. Tính độ dài các đọan thẳng
AB, AC, BC.
Bài 3: Nhập giá trị x, y và tính biểu thức sau:
2𝑒−𝑥+𝑦
𝑥2+𝑦2
19
-
NHẬP XUẤT TỆP TIN
Thông tin được lữu trữ thành các tệp tin (file) trên ổ cứng, đĩa…
Mỗi têp tin xác định bởi:
Tên tệp tin
Vị trí (đường dẫn) của tệp tin trên đĩa
Các loại tệp tin:
Tệp văn bản: lưu dưới dạng ký tự trên các dòng
Tệp nhị phân: lưu dưới dạng nhị phân
(Xemmục2.9.3tronggiáotrình)
20
-
NHẬP XUẤT TỆP TIN
Ví dụ: tệp tin văn bản
o Tên tệp: sinhvien.txt
Ho ten: Nguyen Van A
Nam sinh: 1996
Que quan: Ha Noi
Ho ten: Nguyen Van B
Nam sinh: 1995
Que quan: Ha Nam
21
-
Khai báo biến tệptin
1Mở tệptin
2Thao tácxửlý dữ liệu
3Đóng tệptin
4
22
CÁC BƯỚC THAO TÁC VỚI TỆP TIN
-
KHAI BÁO TỆP TIN
23
C++ cung cấp 3 lớp hỗ trợ cho việc đọc, ghi ra tệp tin
ofstream: dùng để ghi ra tệp tin
ifstream: đọc tệp tin
fstream: vừa đọc, vừa ghi ra tệp tin
Khai báo thêm thư viện khi làm việc với tệp tin
#include
Cú pháp khai báo:
ifstream bientep;
hoặc ofstream bientep;
hoặc fstream bientep;
-
MỞ TỆP TIN
24
Cách 1:
Mở tệp sau khi đã khai báo biến tệp
bientep.open( tentep);
Cách 2:
Mở tệp ngay khi khai báo
loptep bientep ( tentep);
-
MỞ TỆP TIN
25
Ví dụ:// vi du ve mo tep
##iinncclluuddee
#include
using namespace std;
int main () {{
ofstream teptin; //Khai bao tep tin
teptin.open ("vidu.txt"); //Mo tep tin de xu ly
teptin
-
XỬ LÝ TỆP TIN –NHẬP
#include
#include
using namespace std;
int main () {
double a,b,c;
ifstream teptin; //Khai bao tep tin
teptin.open ("solieu.txt"); //Mo tep tin de xu ly
teptin >>a>>b>>c; //Doc du lieu tu tep vao bien
cout bien;
Ví dụ:
26}
-
XỬ LÝ TỆP TIN –NHẬP
#include
#include
using namespace std;
int main () {
double a,b,c;
ifstream teptin; //Khai bao tep tin
Sử dụng toán tử >> để nhập dữ liệu từ tệp tin vào biến
bientep >> bien; Ví dụ:
teptin.open ("solieu.txt"); //Mo tep tin de xu ly
teptin >>a>>b>>c;
cout
-
XỬ LÝ TỆP TIN – XUẤT
#include
#include
using namespace std;
int main () {
ofstream teptin; //Khai bao tep tin
teptin.open ("sinhvien.txt"); //Mo tep tin de xu ly
teptin
-
XỬ LÝ TỆP TIN – XUẤT
#include
#include
using namespace std;
int main () {
ofstream teptin; //Khai bao tep tin
teptin.open ("sinhvien.txt"); //Mo tep tin de xu ly
teptin
-
ĐÓNG TỆP TIN
Cú pháp:
bientep.close();
Ví dụ: #include #include
using namespace std;
int main () {
ofstream teptin; //Khai bao tep tin
teptin.open ("sinhvien.txt"); //Mo tep tin de xu ly
teptin
-
MỘT SỐ HÀM XỬ LÝ KHÁC
31
Hàm Mô tả
is_open() Kiểm tra đã mở tệp chưa? Nếu True là tệp đã được mở, False là tệp chưa được mở.
eof() Trả về True khi đang đọc ở cuối tệp
-
MỘT SỐ HÀM XỬ LÝ KHÁC
Ví dụ: #include #include #include using namespace std; int main () {ifstream teptin; //Khai bao tep tinteptin.open ("sinhvien.txt"); //Mo tep tin de xu ly if(teptin.is_open()){
string hoten; int namsinh;while(!teptin.eof()){
getline(teptin, hoten); teptin>>namsinh; cout
-
BÀI TẬP
Bài 5: Đọc vào tọa độ 3 điểm A, B, C bàn phím.
a. Ghi dãy số đó ra tệp tin có tên là “Tamgiac”
b. Đọc từ file “Tamgiac” tọa độ 3 điểm A, B, C. Tính chu vi tam giác đó và hiển thị kết quả ra màn hình.
33
Bài 4:Nhập thông tin một hàng hóa từ bàn phím bao gồm: tên hàng hóa,đơn giá, số lượng. Sau đó thực hiện ghi ra tệp, mỗi thông tin ghi trên mộtdòng.
-
THẢO LUẬN!
34
-
CHUẨN BỊ CHO BÀI SAU!
CÂU LỆNH LỰA CHỌN: Chương 4 trong giáo trình