Bài giảng Tin học đại cương: Bài 11 - ThS. Nguyễn Thị Phương Thảo
lượt xem 3
download
Bài giảng "Tin học đại cương - Bài 11: Nhập - xuất file, struct" cung cấp cho người học một số kiến thức về thao tác với tập tin. Bài giảng còn có phần bài tập để người học ôn tập và củng cố kiến thức đã học. Mời các bạn cùng tham khảo.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Tin học đại cương: Bài 11 - ThS. Nguyễn Thị Phương Thảo
- T IN ĐẠI CƯƠNG NHẬP - XUẤT FILE, STRUCT Nguyễn Thị Phương Thảo Bộ môn KTMT và M, Khoa CNTT Trường Đại học Thủy Lợi 1
- Nội dung chính 1. Thao tác với các tập tin 2. Bài tập 2
- Sự cần thiết sử dụng file trong C++ Câu lệnh cin : nhập dữ liệu từ bàn phím và đưa vào các biến Câu lệnh cout : hiển thị giá trị các biểu thức ra màn hình Khi kết thúc chương trình thì các biến, các biểu thức không còn nữa → dữ liệu bị mất Mong muốn của người sử dụng: có thể lưu trữ các biến, các kết quả tính toán ra tập tin (file), nhờ vậy kết quả tính toán sẽ không bị mất và có thể đọc dữ liệu có trong file để xử lí tiếp → giải pháp : thao tác với các tập tin (cụ thể là dạng văn bản) 3
- 1. Thao tác với các tập tin C++ cung cấp các lớp (class) sau để đọc - ghi dữ liệu với file ofstream : ghi dữ liệu vào file ifstream : đọc dữ liệu từ file fstream : cả đọc và ghi file Các lớp này được định nghĩa trong thư viện fstream và đặt trong không gian tên std → khai báo thư viện fstream ở đầu chương trình : #include 4
- Ghi ra file bằng ofstream ◮ Tạo đối tượng và gắn nó với một file trong thiết bị lưu trữ ◮ Khi thay cout bởi tên đối tượng, dữ liệu sẽ được ghi vào file đại diện bởi đối tượng đó, thay vì in ra màn hình ◮ Cách 1 : tạo một đối tượng chưa gắn với tập tin cụ thể nào, sau đó dùng hàm open để mở một tập tin và gắn nó với đối tượng vừa tạo Ví dụ : 5
- Ghi ra file bằng ofstream Cách 2 : mở một tập tin đồng thời gắn nó với tên đối tượng Ví dụ : ofstream ofs("thudo.txt") ; Chú ý : sau khi thao tác xong, sử dụng hàm close() để đóng file và giải phóng đối tượng Kiểm tra việc mở tập tin - Sử dụng hàm is_open() : trả về giá trị true nếu việc mở file thành công -Sử dụng hàm fail() : trả về giá trị true nếu việc mở file thất bại 6
- Đọc file bằng ifstream tương tự như ghi file, có 2 cách ifstream ifs ; ifs.open("thudo.txt") ; Và ifstream ifs("thudo.txt") ; Ví dụ : 7
- Đọc và ghi file bằng fstream Ghi file : sử dụng fstream tương tự như ofstream, chỉ lưu ý khi mở file để ghi thì thêm fstream : :outofstr Mở file để ghi dùng Mở file để ghi dùng ofstream fstream ofstream ofs; fstream ofs; ofs.open(“thudo.txt”); ofs.open(“thudo.txt”, fstream::out); ofs
- Đọc và ghi file bằng fstream Đọc file: sử dụng fstream tương tự như ifstream, chỉ lưu ý khi mở file để đọc thì thêm fstream::inifstream fstream Mở file để đọc ifstream ifs; fstream ifs; ifs.open(“hello.txt”); ifs.open(“hello.txt”, fstream::in); string dong; string dong; while (!ifs.eof()) while (!ifs.eof()) { { getline(ifs, dong); getline(ifs, dong); cout
- Ví dụ: tạo 1 file để ghi lời chào mừng của bạn 10
- Ví dụ: Đọc và hiển thị nội dung file vừa tạo ra màn hình 11
- 2. Bài tập Bài 1 Viết ra file so_chan.txt tất cả các số chẵn từ 0 đến 30 (mỗi số trên 1 dòng). Sau đó đọc từ file so_chan.txt trên, thêm 1 vào mỗi giá trị, viết kết quả vào file so_le.txt. 12
- KIỂU DỮ LIỆU STRUCT
- Sự cần thiết Ví dụ : Trong kì thi tuyển sinh ĐH, phòng đào tạo phải nhập dữ liệu cho các học sinh, bao gồm: - Họ đệm, Tên, Địa chỉ (các chuỗi kí tự) - Điểm 3 môn xét tuyển, Tổng điểm (các số thực) Sau đó phải sắp xếp Tổng điểm theo thứ tự giảm dần Tất cả các dữ liệu khác như Tên, Điểm các môn cũng phải thay đổi thứ tự theo thứ tự của Tổng điểm → Giải pháp: các dữ liệu Họ đệm, Tên, Điểm các môn, Tổng điểm.. . luôn đi kèm với nhau khi sắp xếp → Xây dựng một kiểu dữ liệu mới bao gồm tất cả các dữ liệu kể trên 14
- 3. Kiểu dữ liệu tự tạo C++ cung cấp một số kiểu dữ liệu cơ bản (số nguyên, số thực, logic, . . .) C++ cũng cho phép kết hợp các dữ liệu cơ bản để xây dựng các kiểu dữ liệu phức tạp hơn. Ví dụ: - Học sinh : Họ đệm, Tên, Địa chỉ, Điểm 3 môn, Tổng điểm - Điểm trên mặt phẳng : tọa độ x, tọa độ y 15
- Kiểu dữ liệu tự tạo Ngoài khai báo dữ liệu, ta còn có thể định nghĩa các phép toán, hàm. . . đi kèm với kiểu dữ liệu đó Ví dụ : trên kiểu dữ liệu Học sinh, viết hàm tính Tổng điểm, xây dựng toán tử so sánh. . . Nhiều kiểu dữ liệu tự tạo được sử dụng rất phổ biến (string, vector. . .) 16
- 4. Cấu trúc Là kiểu dữ liệu gộp giống như mảng Tuy nhiên cấu trúc và mảng khác nhau: Mảng là tập các giá trị có cùng kiểu Cấu trúc là tập các giá trị có kiểu khác nhau Định nghĩa cấu trúc: Trước khi khai báo biến (trước main()) Phạm vi toàn cục Không cấp phát bộ nhớ 3
- Khai báo và sử dụng struct Cú pháp : struct { }; Ví dụ : Khai báo kiểu dữ liệu struct struct Point { //kiểu dữ liệu struct tên là Point double x, y ; //các dữ liệu thành phần }; Sử dụng: //một biến kiểu Point Point diemA ; //thành phần x = 2.5 diemA.x = 2.5; //thành phần y = 1.8 diemA.y = 1.8; 18
- Cấu trúc Ví dụ: Khai báo cấu trúc: struct sinhvien //Khai báo cấu trúc sinhvien { string hoten; // tên thành viên string lop; float dtb; }; • Khai báo biến cho kiểu mới này sinhvien sv1, sv2; Giống như khai báo các kiểu đơn giản Biến sv1, sv2 có kiểu là sinhvien Nó chứa các giá trị thành viên 4
- Truy cập các thành viên cấu trúc • Sử dụng toán tử . để truy cập tới các thành viên ◦ sv1.hoten ◦ sv1.lop ◦ sv1.dtb • Các biến thành viên ◦ Là thành phần của biến cấu trúc ◦ Các cấu trúc khác nhau có thể có các biến thành viên cùng tên 5
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng tin học đại cương - trường ĐH Tôn Đức Thắng
175 p | 1024 | 287
-
Bài giảng Tin học đại cương - Chương 1: Các vấn đề cơ bản về CNTT
167 p | 419 | 31
-
Bài giảng Tin học đại cương: Bài 1 - ĐH Bách khoa Hà Nội
33 p | 263 | 21
-
Bài giảng Tin học đại cương: Bài 4 - ĐH Bách khoa Hà Nội
8 p | 155 | 13
-
Bài giảng Tin học đại cương: Chương 2 - Tin học và công nghệ thông tin
12 p | 183 | 10
-
Bài giảng Tin học đại cương: Bài 3 - ĐH Bách khoa Hà Nội
14 p | 143 | 8
-
Bài giảng Tin học đại cương - Nguyễn Vũ Duy
95 p | 43 | 8
-
Bài giảng Tin học đại cương: Phần 1 - ThS. Phạm Thanh Bình
18 p | 93 | 6
-
Bài giảng Tin học đại cương: Chương 1 - Đại cương về tin học
16 p | 124 | 5
-
Bài giảng Tin học đại cương: Chương 1 - Thông tin
29 p | 150 | 5
-
Bài giảng Tin học đại cương: MS Excel - ThS. Ngô Cao Định
31 p | 11 | 4
-
Bài giảng Tin học đại cương: Tổng quan về máy tính - ThS. Ngô Cao Định
38 p | 15 | 4
-
Bài giảng Tin học đại cương: Biểu diễn và xử lý thông tin - ThS. Ngô Cao Định
56 p | 7 | 3
-
Bài giảng Tin học đại cương: Mạng và Internet - ThS. Ngô Cao Định
55 p | 9 | 3
-
Bài giảng Tin học đại cương: Hệ điều hành - ThS. Ngô Cao Định
86 p | 8 | 2
-
Bài giảng Tin học đại cương: Chương 1 - Trần Quang Hải Bằng (ĐH giao thông Vận tải)
31 p | 80 | 2
-
Bài giảng Tin học đại cương: Bài 13 - Bùi Thị Thu Cúc
10 p | 78 | 2
-
Bài giảng Tin học đại cương: Tổng quan về cơ sở dữ liệu - ThS. Ngô Cao Định
11 p | 7 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn