SlideShare a Scribd company logo
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
    KHOA CÔNG NGHỆ THÔNG TIN
    BỘ MÔN CÔNG NGHỆ PHẦN MỀM
    HỆ CHÍNH QUI
    MÔN: KỸ THUẬT LẬP TRÌNH
    GVLT: TS. ĐINH BÁ TIẾN




           HƯỚNG DẪN THỰC HÀNH

       TUẦN 08 – ĐỌC XUẤT FILE
NGUYỄN SƠN HOÀNG QUỐC
NGUYỄN HOÀNG KHAI
HỒ TUẤN THANH




        TP.HCM, ngày 28 tháng 04 năm 2011
htthanh@fit.hcmus.edu.vn


                                                        MỤC LỤC
1     Nội dung ...................................................................................................................... 3
2     Kỹ thuật đọc ghi file .................................................................................................... 3
    2.1    Đọc xuất file đơn giản ............................................................................................ 3
      2.1.1      Đọc dữ liệu file ................................................................................................ 3
      2.1.2      Ghi dữ liệu xuống file ..................................................................................... 6
    2.2    Đọc xuất mảng phân số .......................................................................................... 7
3     Pragma once .............................................................................................................. 11
    3.1    Bản chất của include ............................................................................................ 11
    3.2    Pragma once– Anh là ai ....................................................................................... 13
4     Bài tập trên lớp .......................................................................................................... 14
5     Bài tập về nhà ............................................................................................................ 15




                                                                                                                          Trang 2
htthanh@fit.hcmus.edu.vn


1 Nội dung
  -   Kỹ thuật đọc ghi file.
  -   Pragma once: anh là ai?
  -   Bài tập trên lớp
  -   Bài tập về nhà


2 Kỹ thuật đọc ghi file
2.1 Đọc xuất file đơn giản
  - Giả ta có một file input.txt chứa các thông tin được bố trí như sau:
       o Một số nguyên
       o Một số thực
       o Một chuỗi ko có khoảng trắng
       o Một chuỗi có khoảng trắng




  - Vấn đề: làm sao đọc file lên + làm sao ghi xuống file theo định dạng như vậy?

2.1.1 Đọc dữ liệu file
  - Nhớ:




  - Mở file. Lưu ý:


                                                                            Trang 3
htthanh@fit.hcmus.edu.vn

        o Ở đây thay vì truyền vào tên file, có thể truyền vào đường dẫn tuyệt đối của
          file.
        o Nếu chỉ truyền vào tên file, thì file input.txt phải đặt trong thư mục chứa
          source code.




        o Rất dễ nhầm lẫn giữa input.txt.txt và input.txt nếu trên máy tính của mình
          thiết lập Hide well-known extensions (ẩn các phần đuôi thông dụng).




  - Đọc dữ liệu: tương tự cin




                                                                             Trang 4
htthanh@fit.hcmus.edu.vn




  - Ở đây ta thấy có dòng boDoc.get()
       o Nếu bỏ (đánh dấu ghi chú) dòng này  khi đọc lên ten = chuỗi rỗng  kết
          quả khi ghi file




        o Do đó, cần thêm dòng code boDoc.get() sau khi đọc maso




                                                                        Trang 5
htthanh@fit.hcmus.edu.vn




  - Làm xong nhớ đóng file




2.1.2 Ghi dữ liệu xuống file
  - Nhớ:




  - Mở file




                               Trang 6
htthanh@fit.hcmus.edu.vn

  - Ghi dữ liệu xuống tương tự như cout




  - Làm xong nhớ đóng file




2.2 Đọc xuất mảng phân số
  - Giả sử ta có file MPS_In.txt chứa mảng các phân số có cấu trúc như sau:
       o Số phần tử
       o Danh sách các phân số




  - Vấn đề: làm sao đọc được dữ liệu từ file đó lên và ghi được file như vậy
  - Ở đây, ta bố trí project có 5 file:
       o Main.cpp: chứa hàm main


                                                                               Trang 7
htthanh@fit.hcmus.edu.vn

       o PhanSo.h và PhanSo.cpp: khai báo struct + khai báo và định nghĩa hàm
         đọc ghi phân số
       o MangPhanSo.h và MangPhanSo.cpp: khai báo struct + khai báo và định
         nghĩa hàm đọc ghi mảng phân số
  - PhanSo.h:




  - PhanSo.cpp:




                                                                       Trang 8
htthanh@fit.hcmus.edu.vn

  - MangPhanSo.h:




  - MangPhanSo.cpp:




                           Trang 9
htthanh@fit.hcmus.edu.vn




  - Main.cpp:




                           Trang 10
htthanh@fit.hcmus.edu.vn

  - Ghi tiếp file cũ  tự tìm hiểu (append mode ofstream C++)


3 Pragma once
  - Giả sử ta có 5 file như trong phần hướng dẫn trước. Bây giờ, thử bỏ 2 câu
    #pragma once trong 2 file .h. Trong file Main.cpp có đoạn code sau:




  - Tại sao? Vì sao thế ? 

3.1 Bản chất của include
  - Bản chất của include là sự thay thế. Tức là chỗ nào có include thì khi biên dịch,
    trình biên dịch sẽ lấy đoạn code trong file được include thay thế cho dòng include.
    Chẳng hạn. Với file Main.cpp sau:




  - Tương đương với:

                                                                             Trang 11
htthanh@fit.hcmus.edu.vn




  - Như vậy với file Main.cpp ban đầu:




  - Tương đương với:




                                         Trang 12
htthanh@fit.hcmus.edu.vn




  - Rõ ràng, nhìn vào đây ta thấy PhanSo được khai báo 2 lần  báo lỗi là phải 

3.2 Pragma once– Anh là ai
  - Pragma once là câu lệnh do Microsoft đưa ra, ngụ ý rằng: nếu file này đã include
    rồi thì ko cần include nữa  tránh lỗi include file PhanSo.h đến 2 lần.
  - Pragmace once ko nằm trong chuẩn của C/C++, nên một số trình biên dịch sẽ ko
    hiểu câu lệnh này.
  - Nó tương đương với việc:

                                                                            Trang 13
htthanh@fit.hcmus.edu.vn




  - _PHANSO_H_ ở đây có ý nghĩa là một chuỗi duy nhất  ko được trong một
    project, có 2 file .h mà ta define cùng 1 chuỗi này.


4 Bài tập trên lớp
  - Viết chương trình:
    1. Đọc vào một danh sách liên kết các phân số từ file DSPhanSo.in
    2. Xuất danh sách ra màn hình.
    3. Tìm ra phân số lớn nhất. Xuất phân số lớn nhất ra file PhanSoLonNhat.out.
    4. Xuất danh sách phân số ra file DSPhanSo.out
  - Yêu cầu:
       o Chia hàm, chia file
       o Struct
       o Danh sách liên kết
       o Dùng ifndef… (ko dùng pragma once




                                                                          Trang 14
htthanh@fit.hcmus.edu.vn


5 Bài tập về nhà
  1. Dữ liệu:
        a. Qui định cấu trúc file dữ liệu cho bài tập lớn
        b. Nhập dữ liệu mẫu cho các file
  2. Lập trình:
        a. Thực hiện các chức năng đọc các file dữ liệu lên
        b. Thực hiện các chức năng ghi dữ liệu xuống file (khi người dùng chọn chức
            năng thoát. VD: Quản trị viên chọn menu Thoat (thực hiện ghi dữ liệu
            xuống ở đây) Quay về menu hỏi đăng nhập, đăng ký hay Thoat
  3. Nộp bài:
        a. Thư mục Data: các file dữ liệu
        b. Thư mục Source Code: source code của yêu cầu (2) ở trên.
        c. Nén cả 2 thư mục thì 1 file nén duy nhất.




                                                                          Trang 15

More Related Content

What's hot

BGKTMT Ch3 mức logic số
BGKTMT Ch3 mức logic sốBGKTMT Ch3 mức logic số
BGKTMT Ch3 mức logic sốCao Toa
 
Biến ngẫu nhiên liên tục - Xác suất thống kê
Biến ngẫu nhiên liên tục - Xác suất thống kêBiến ngẫu nhiên liên tục - Xác suất thống kê
Biến ngẫu nhiên liên tục - Xác suất thống kê
VuKirikou
 
Bài giảng phương pháp số ths.phan thị hà[bookbooming.com]
Bài giảng phương pháp số   ths.phan thị hà[bookbooming.com]Bài giảng phương pháp số   ths.phan thị hà[bookbooming.com]
Bài giảng phương pháp số ths.phan thị hà[bookbooming.com]bookbooming1
 
Kiến trúc máy tính và hợp ngữ bài 04
Kiến trúc máy tính và hợp ngữ bài 04Kiến trúc máy tính và hợp ngữ bài 04
Kiến trúc máy tính và hợp ngữ bài 04
Nhóc Nhóc
 
chuong 4. dai so boole
chuong 4.  dai so boolechuong 4.  dai so boole
chuong 4. dai so boole
kikihoho
 
Bt dai so hoang
Bt dai so hoangBt dai so hoang
Bt dai so hoang
Hoanghl Lê
 
Kiến trúc máy tính và hợp ngữ bài 02
Kiến trúc máy tính và hợp ngữ bài 02Kiến trúc máy tính và hợp ngữ bài 02
Kiến trúc máy tính và hợp ngữ bài 02
Nhóc Nhóc
 
Kiến trúc máy tính và hợp ngữ bài 05
Kiến trúc máy tính và hợp ngữ bài 05Kiến trúc máy tính và hợp ngữ bài 05
Kiến trúc máy tính và hợp ngữ bài 05
Nhóc Nhóc
 
Kiến trúc máy tính và hợp ngữ bài 08
Kiến trúc máy tính và hợp ngữ bài 08Kiến trúc máy tính và hợp ngữ bài 08
Kiến trúc máy tính và hợp ngữ bài 08
Nhóc Nhóc
 
Bài Tập Xử Lí Tín Hiệu Số
Bài Tập Xử Lí Tín Hiệu SốBài Tập Xử Lí Tín Hiệu Số
Bài Tập Xử Lí Tín Hiệu Số
viethung094
 
Bai07 bo nho
Bai07   bo nhoBai07   bo nho
Bai07 bo nhoVũ Sang
 
Hop ngu mips
Hop ngu mipsHop ngu mips
Hop ngu mips
mster_dang
 
Kiến trúc máy tính
Kiến trúc máy tínhKiến trúc máy tính
Kiến trúc máy tính
LE The Vinh
 
Bo de toan roi rac (on thi cao hoc khmt)
Bo de toan roi rac (on thi cao hoc khmt)Bo de toan roi rac (on thi cao hoc khmt)
Bo de toan roi rac (on thi cao hoc khmt)lieu_lamlam
 
Chuong 02 he thong so
Chuong 02 he thong soChuong 02 he thong so
Chuong 02 he thong so
Anh Ngoc Phan
 
Ktmt chuong 4
Ktmt chuong 4Ktmt chuong 4
Ktmt chuong 4
Tùng Tò Mò
 
Bài giảng Assembly
Bài giảng AssemblyBài giảng Assembly
Bài giảng Assembly
Bùi Công Thành
 

What's hot (20)

BGKTMT Ch3 mức logic số
BGKTMT Ch3 mức logic sốBGKTMT Ch3 mức logic số
BGKTMT Ch3 mức logic số
 
Biến ngẫu nhiên liên tục - Xác suất thống kê
Biến ngẫu nhiên liên tục - Xác suất thống kêBiến ngẫu nhiên liên tục - Xác suất thống kê
Biến ngẫu nhiên liên tục - Xác suất thống kê
 
Bài giảng phương pháp số ths.phan thị hà[bookbooming.com]
Bài giảng phương pháp số   ths.phan thị hà[bookbooming.com]Bài giảng phương pháp số   ths.phan thị hà[bookbooming.com]
Bài giảng phương pháp số ths.phan thị hà[bookbooming.com]
 
Lttt b11
Lttt b11Lttt b11
Lttt b11
 
Kiến trúc máy tính và hợp ngữ bài 04
Kiến trúc máy tính và hợp ngữ bài 04Kiến trúc máy tính và hợp ngữ bài 04
Kiến trúc máy tính và hợp ngữ bài 04
 
chuong 4. dai so boole
chuong 4.  dai so boolechuong 4.  dai so boole
chuong 4. dai so boole
 
Bt dai so hoang
Bt dai so hoangBt dai so hoang
Bt dai so hoang
 
Kiến trúc máy tính và hợp ngữ bài 02
Kiến trúc máy tính và hợp ngữ bài 02Kiến trúc máy tính và hợp ngữ bài 02
Kiến trúc máy tính và hợp ngữ bài 02
 
Kiến trúc máy tính và hợp ngữ bài 05
Kiến trúc máy tính và hợp ngữ bài 05Kiến trúc máy tính và hợp ngữ bài 05
Kiến trúc máy tính và hợp ngữ bài 05
 
Kiến trúc máy tính và hợp ngữ bài 08
Kiến trúc máy tính và hợp ngữ bài 08Kiến trúc máy tính và hợp ngữ bài 08
Kiến trúc máy tính và hợp ngữ bài 08
 
Bài Tập Xử Lí Tín Hiệu Số
Bài Tập Xử Lí Tín Hiệu SốBài Tập Xử Lí Tín Hiệu Số
Bài Tập Xử Lí Tín Hiệu Số
 
Bai07 bo nho
Bai07   bo nhoBai07   bo nho
Bai07 bo nho
 
Hop ngu mips
Hop ngu mipsHop ngu mips
Hop ngu mips
 
Kiến trúc máy tính
Kiến trúc máy tínhKiến trúc máy tính
Kiến trúc máy tính
 
Tichchap
TichchapTichchap
Tichchap
 
Bo de toan roi rac (on thi cao hoc khmt)
Bo de toan roi rac (on thi cao hoc khmt)Bo de toan roi rac (on thi cao hoc khmt)
Bo de toan roi rac (on thi cao hoc khmt)
 
Chuong 02 he thong so
Chuong 02 he thong soChuong 02 he thong so
Chuong 02 he thong so
 
Ktmt chuong 4
Ktmt chuong 4Ktmt chuong 4
Ktmt chuong 4
 
Hinh hoc-affine
Hinh hoc-affineHinh hoc-affine
Hinh hoc-affine
 
Bài giảng Assembly
Bài giảng AssemblyBài giảng Assembly
Bài giảng Assembly
 

Viewers also liked

Phần 11: Tập tin
Phần 11: Tập tinPhần 11: Tập tin
Phần 11: Tập tinHuy Rùa
 
Lap trinh c++ có lời giải 1
Lap trinh c++ có lời giải 1Lap trinh c++ có lời giải 1
Lap trinh c++ có lời giải 1Minh Ngoc Tran
 
Ky thuat lap trinh c++
Ky thuat lap trinh c++Ky thuat lap trinh c++
Ky thuat lap trinh c++
ptquang160492
 
String c++
String c++String c++
String c++
ptquang160492
 
Khoahoctunhien.net mang1chieu
Khoahoctunhien.net mang1chieuKhoahoctunhien.net mang1chieu
Khoahoctunhien.net mang1chieu
Nguyen Van Hung
 
Lập trình c++ có lời giải 2
Lập trình c++ có lời giải 2Lập trình c++ có lời giải 2
Lập trình c++ có lời giải 2Minh Ngoc Tran
 
Lap trinh c++ có lời giải 3
Lap trinh c++ có lời giải 3Lap trinh c++ có lời giải 3
Lap trinh c++ có lời giải 3Minh Ngoc Tran
 
Bài 5: Các thuật toán sắp xếp và tìm kiếm cơ bản - Giáo trình FPT
Bài 5: Các thuật toán sắp xếp và tìm kiếm cơ bản - Giáo trình FPTBài 5: Các thuật toán sắp xếp và tìm kiếm cơ bản - Giáo trình FPT
Bài 5: Các thuật toán sắp xếp và tìm kiếm cơ bản - Giáo trình FPT
MasterCode.vn
 
Giao an trinh_pascal_bai_tap_co_dap_an_huong_dan
Giao an trinh_pascal_bai_tap_co_dap_an_huong_danGiao an trinh_pascal_bai_tap_co_dap_an_huong_dan
Giao an trinh_pascal_bai_tap_co_dap_an_huong_dan
Võ Tâm Long
 
Cấu trúc và Tệp
Cấu trúc và TệpCấu trúc và Tệp
Cấu trúc và Tệp
pnanhvn
 

Viewers also liked (10)

Phần 11: Tập tin
Phần 11: Tập tinPhần 11: Tập tin
Phần 11: Tập tin
 
Lap trinh c++ có lời giải 1
Lap trinh c++ có lời giải 1Lap trinh c++ có lời giải 1
Lap trinh c++ có lời giải 1
 
Ky thuat lap trinh c++
Ky thuat lap trinh c++Ky thuat lap trinh c++
Ky thuat lap trinh c++
 
String c++
String c++String c++
String c++
 
Khoahoctunhien.net mang1chieu
Khoahoctunhien.net mang1chieuKhoahoctunhien.net mang1chieu
Khoahoctunhien.net mang1chieu
 
Lập trình c++ có lời giải 2
Lập trình c++ có lời giải 2Lập trình c++ có lời giải 2
Lập trình c++ có lời giải 2
 
Lap trinh c++ có lời giải 3
Lap trinh c++ có lời giải 3Lap trinh c++ có lời giải 3
Lap trinh c++ có lời giải 3
 
Bài 5: Các thuật toán sắp xếp và tìm kiếm cơ bản - Giáo trình FPT
Bài 5: Các thuật toán sắp xếp và tìm kiếm cơ bản - Giáo trình FPTBài 5: Các thuật toán sắp xếp và tìm kiếm cơ bản - Giáo trình FPT
Bài 5: Các thuật toán sắp xếp và tìm kiếm cơ bản - Giáo trình FPT
 
Giao an trinh_pascal_bai_tap_co_dap_an_huong_dan
Giao an trinh_pascal_bai_tap_co_dap_an_huong_danGiao an trinh_pascal_bai_tap_co_dap_an_huong_dan
Giao an trinh_pascal_bai_tap_co_dap_an_huong_dan
 
Cấu trúc và Tệp
Cấu trúc và TệpCấu trúc và Tệp
Cấu trúc và Tệp
 

Similar to nhập xuất file 2 c++

Bài tập thực hành C#
Bài tập thực hành C#Bài tập thực hành C#
Bài tập thực hành C#
Dân Chơi Khu Phố
 
Phan 2 chuong 10 (tap tin)
Phan 2   chuong 10 (tap tin)Phan 2   chuong 10 (tap tin)
Phan 2 chuong 10 (tap tin)Trần Văn Nam
 
Oop 13
Oop 13Oop 13
Oop 13
Thai Hoc Vu
 
Lam de trac nghiem
Lam de trac nghiemLam de trac nghiem
Lam de trac nghiemdangtanhung
 
Trích dẫn tài liệu bằng EndNote X7
Trích dẫn tài liệu bằng EndNote X7Trích dẫn tài liệu bằng EndNote X7
Trích dẫn tài liệu bằng EndNote X7
Trinh Phan Canh
 
Giáo án FOXPRO.doc
Giáo án FOXPRO.docGiáo án FOXPRO.doc
Giáo án FOXPRO.doc
VanDangthuy
 
Bai07xulynhapxuat 130622092548-phpapp02
Bai07xulynhapxuat 130622092548-phpapp02Bai07xulynhapxuat 130622092548-phpapp02
Bai07xulynhapxuat 130622092548-phpapp02
Hoàng Hà
 
Bài 7 - Xử lý nhập xuất - Nền tảng lập trình ứng dụng với C#
Bài 7 - Xử lý nhập xuất - Nền tảng lập trình ứng dụng với C#Bài 7 - Xử lý nhập xuất - Nền tảng lập trình ứng dụng với C#
Bài 7 - Xử lý nhập xuất - Nền tảng lập trình ứng dụng với C#
MasterCode.vn
 
Giao Trinh MSDOS
Giao Trinh MSDOSGiao Trinh MSDOS
Giao Trinh MSDOS
Once Click
 
[123doc] - slide-tong-quan-ve-ngon-ngu-lap-trinh-web-html-doc.pdf
[123doc] - slide-tong-quan-ve-ngon-ngu-lap-trinh-web-html-doc.pdf[123doc] - slide-tong-quan-ve-ngon-ngu-lap-trinh-web-html-doc.pdf
[123doc] - slide-tong-quan-ve-ngon-ngu-lap-trinh-web-html-doc.pdf
Thnh258575
 
[123doc] - slide-tong-quan-ve-ngon-ngu-lap-trinh-web-html-doc.pdf
[123doc] - slide-tong-quan-ve-ngon-ngu-lap-trinh-web-html-doc.pdf[123doc] - slide-tong-quan-ve-ngon-ngu-lap-trinh-web-html-doc.pdf
[123doc] - slide-tong-quan-ve-ngon-ngu-lap-trinh-web-html-doc.pdf
Thnh258575
 
Chuong ii
Chuong iiChuong ii
Chuong ii
PhongSPKT
 
Giao an tin hoc 11 - Tuan 10 - Bai 14 - 15 Tep va thao tac voi tep - v04 - vt...
Giao an tin hoc 11 - Tuan 10 - Bai 14 - 15 Tep va thao tac voi tep - v04 - vt...Giao an tin hoc 11 - Tuan 10 - Bai 14 - 15 Tep va thao tac voi tep - v04 - vt...
Giao an tin hoc 11 - Tuan 10 - Bai 14 - 15 Tep va thao tac voi tep - v04 - vt...Ngoc Vu Thi Quynh
 
Luận Văn Đề Cương Công Nghệ Thông Tin Lập Trình C For Windows.doc
Luận Văn  Đề Cương Công Nghệ Thông Tin Lập Trình C For Windows.docLuận Văn  Đề Cương Công Nghệ Thông Tin Lập Trình C For Windows.doc
Luận Văn Đề Cương Công Nghệ Thông Tin Lập Trình C For Windows.doc
sividocz
 
Chuong 03 he_thong_file
Chuong 03 he_thong_fileChuong 03 he_thong_file
Chuong 03 he_thong_file
nguyenghia831
 

Similar to nhập xuất file 2 c++ (20)

Bài tập thực hành C#
Bài tập thực hành C#Bài tập thực hành C#
Bài tập thực hành C#
 
Huong dan thao_tac_file
Huong dan thao_tac_fileHuong dan thao_tac_file
Huong dan thao_tac_file
 
Phan 2 chuong 10 (tap tin)
Phan 2   chuong 10 (tap tin)Phan 2   chuong 10 (tap tin)
Phan 2 chuong 10 (tap tin)
 
Oop 13
Oop 13Oop 13
Oop 13
 
Lam de trac nghiem
Lam de trac nghiemLam de trac nghiem
Lam de trac nghiem
 
Trích dẫn tài liệu bằng EndNote X7
Trích dẫn tài liệu bằng EndNote X7Trích dẫn tài liệu bằng EndNote X7
Trích dẫn tài liệu bằng EndNote X7
 
Giáo án FOXPRO.doc
Giáo án FOXPRO.docGiáo án FOXPRO.doc
Giáo án FOXPRO.doc
 
Bai07xulynhapxuat 130622092548-phpapp02
Bai07xulynhapxuat 130622092548-phpapp02Bai07xulynhapxuat 130622092548-phpapp02
Bai07xulynhapxuat 130622092548-phpapp02
 
Bài 7 - Xử lý nhập xuất - Nền tảng lập trình ứng dụng với C#
Bài 7 - Xử lý nhập xuất - Nền tảng lập trình ứng dụng với C#Bài 7 - Xử lý nhập xuất - Nền tảng lập trình ứng dụng với C#
Bài 7 - Xử lý nhập xuất - Nền tảng lập trình ứng dụng với C#
 
Giao Trinh MSDOS
Giao Trinh MSDOSGiao Trinh MSDOS
Giao Trinh MSDOS
 
File
FileFile
File
 
P2
P2P2
P2
 
[123doc] - slide-tong-quan-ve-ngon-ngu-lap-trinh-web-html-doc.pdf
[123doc] - slide-tong-quan-ve-ngon-ngu-lap-trinh-web-html-doc.pdf[123doc] - slide-tong-quan-ve-ngon-ngu-lap-trinh-web-html-doc.pdf
[123doc] - slide-tong-quan-ve-ngon-ngu-lap-trinh-web-html-doc.pdf
 
[123doc] - slide-tong-quan-ve-ngon-ngu-lap-trinh-web-html-doc.pdf
[123doc] - slide-tong-quan-ve-ngon-ngu-lap-trinh-web-html-doc.pdf[123doc] - slide-tong-quan-ve-ngon-ngu-lap-trinh-web-html-doc.pdf
[123doc] - slide-tong-quan-ve-ngon-ngu-lap-trinh-web-html-doc.pdf
 
On thi kpdl
On thi kpdlOn thi kpdl
On thi kpdl
 
Chuong ii
Chuong iiChuong ii
Chuong ii
 
Giao an tin hoc 11 - Tuan 10 - Bai 14 - 15 Tep va thao tac voi tep - v04 - vt...
Giao an tin hoc 11 - Tuan 10 - Bai 14 - 15 Tep va thao tac voi tep - v04 - vt...Giao an tin hoc 11 - Tuan 10 - Bai 14 - 15 Tep va thao tac voi tep - v04 - vt...
Giao an tin hoc 11 - Tuan 10 - Bai 14 - 15 Tep va thao tac voi tep - v04 - vt...
 
Luận Văn Đề Cương Công Nghệ Thông Tin Lập Trình C For Windows.doc
Luận Văn  Đề Cương Công Nghệ Thông Tin Lập Trình C For Windows.docLuận Văn  Đề Cương Công Nghệ Thông Tin Lập Trình C For Windows.doc
Luận Văn Đề Cương Công Nghệ Thông Tin Lập Trình C For Windows.doc
 
File trong c_
File trong c_File trong c_
File trong c_
 
Chuong 03 he_thong_file
Chuong 03 he_thong_fileChuong 03 he_thong_file
Chuong 03 he_thong_file
 

More from ptquang160492

Thu vien lap trinh c++
Thu vien lap trinh c++Thu vien lap trinh c++
Thu vien lap trinh c++
ptquang160492
 
Phong cach lap trinh c++
Phong cach lap trinh c++Phong cach lap trinh c++
Phong cach lap trinh c++
ptquang160492
 
chuỗi ký tự c++
chuỗi ký tự c++chuỗi ký tự c++
chuỗi ký tự c++
ptquang160492
 
Nmlt c20 tap_tin
Nmlt c20 tap_tinNmlt c20 tap_tin
Nmlt c20 tap_tin
ptquang160492
 
Bt subnetmask 3
Bt subnetmask 3Bt subnetmask 3
Bt subnetmask 3
ptquang160492
 
Chia subnetmask
Chia subnetmaskChia subnetmask
Chia subnetmask
ptquang160492
 
Nhap chuoi co khoang trang
Nhap chuoi co khoang trangNhap chuoi co khoang trang
Nhap chuoi co khoang trang
ptquang160492
 

More from ptquang160492 (9)

Thu vien lap trinh c++
Thu vien lap trinh c++Thu vien lap trinh c++
Thu vien lap trinh c++
 
Phong cach lap trinh c++
Phong cach lap trinh c++Phong cach lap trinh c++
Phong cach lap trinh c++
 
Ky thuat lap trinh
Ky thuat lap trinhKy thuat lap trinh
Ky thuat lap trinh
 
chuỗi ký tự c++
chuỗi ký tự c++chuỗi ký tự c++
chuỗi ký tự c++
 
Nmlt c20 tap_tin
Nmlt c20 tap_tinNmlt c20 tap_tin
Nmlt c20 tap_tin
 
Bt subnetmask 3
Bt subnetmask 3Bt subnetmask 3
Bt subnetmask 3
 
Bt subnetmask 1
Bt subnetmask 1Bt subnetmask 1
Bt subnetmask 1
 
Chia subnetmask
Chia subnetmaskChia subnetmask
Chia subnetmask
 
Nhap chuoi co khoang trang
Nhap chuoi co khoang trangNhap chuoi co khoang trang
Nhap chuoi co khoang trang
 

Recently uploaded

Dẫn luận ngôn ngữ - Tu vung ngu nghia.pptx
Dẫn luận ngôn ngữ - Tu vung ngu nghia.pptxDẫn luận ngôn ngữ - Tu vung ngu nghia.pptx
Dẫn luận ngôn ngữ - Tu vung ngu nghia.pptx
nvlinhchi1612
 
BAI TAP ON HE LOP 2 LEN 3 MON TIENG VIET.pdf
BAI TAP ON HE LOP 2 LEN 3 MON TIENG VIET.pdfBAI TAP ON HE LOP 2 LEN 3 MON TIENG VIET.pdf
BAI TAP ON HE LOP 2 LEN 3 MON TIENG VIET.pdf
phamthuhoai20102005
 
Khoá luận tốt nghiệp ngành Truyền thông đa phương tiện Xây dựng kế hoạch truy...
Khoá luận tốt nghiệp ngành Truyền thông đa phương tiện Xây dựng kế hoạch truy...Khoá luận tốt nghiệp ngành Truyền thông đa phương tiện Xây dựng kế hoạch truy...
Khoá luận tốt nghiệp ngành Truyền thông đa phương tiện Xây dựng kế hoạch truy...
https://www.facebook.com/garmentspace
 
98 BÀI LUYỆN NGHE TUYỂN SINH VÀO LỚP 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ ...
98 BÀI LUYỆN NGHE TUYỂN SINH VÀO LỚP 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ ...98 BÀI LUYỆN NGHE TUYỂN SINH VÀO LỚP 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ ...
98 BÀI LUYỆN NGHE TUYỂN SINH VÀO LỚP 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ ...
Nguyen Thanh Tu Collection
 
Chương III (Nội dung vẽ sơ đồ tư duy chương 3)
Chương III (Nội dung vẽ sơ đồ tư duy chương 3)Chương III (Nội dung vẽ sơ đồ tư duy chương 3)
Chương III (Nội dung vẽ sơ đồ tư duy chương 3)
duykhoacao
 
AV6 - PIE CHART WRITING skill in english
AV6 - PIE CHART WRITING skill in englishAV6 - PIE CHART WRITING skill in english
AV6 - PIE CHART WRITING skill in english
Qucbo964093
 
CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...
CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...
CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...
Nguyen Thanh Tu Collection
 
Ảnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nay
Ảnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nayẢnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nay
Ảnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nay
chinhkt50
 
GIÁO TRÌNH 2-TÀI LIỆU SỬA CHỮA BOARD MONO TỦ LẠNH MÁY GIẶT ĐIỀU HÒA.pdf
GIÁO TRÌNH 2-TÀI LIỆU SỬA CHỮA BOARD MONO TỦ LẠNH MÁY GIẶT ĐIỀU HÒA.pdfGIÁO TRÌNH 2-TÀI LIỆU SỬA CHỮA BOARD MONO TỦ LẠNH MÁY GIẶT ĐIỀU HÒA.pdf
GIÁO TRÌNH 2-TÀI LIỆU SỬA CHỮA BOARD MONO TỦ LẠNH MÁY GIẶT ĐIỀU HÒA.pdf
Điện Lạnh Bách Khoa Hà Nội
 
30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf
30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf
30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf
ngocnguyensp1
 

Recently uploaded (10)

Dẫn luận ngôn ngữ - Tu vung ngu nghia.pptx
Dẫn luận ngôn ngữ - Tu vung ngu nghia.pptxDẫn luận ngôn ngữ - Tu vung ngu nghia.pptx
Dẫn luận ngôn ngữ - Tu vung ngu nghia.pptx
 
BAI TAP ON HE LOP 2 LEN 3 MON TIENG VIET.pdf
BAI TAP ON HE LOP 2 LEN 3 MON TIENG VIET.pdfBAI TAP ON HE LOP 2 LEN 3 MON TIENG VIET.pdf
BAI TAP ON HE LOP 2 LEN 3 MON TIENG VIET.pdf
 
Khoá luận tốt nghiệp ngành Truyền thông đa phương tiện Xây dựng kế hoạch truy...
Khoá luận tốt nghiệp ngành Truyền thông đa phương tiện Xây dựng kế hoạch truy...Khoá luận tốt nghiệp ngành Truyền thông đa phương tiện Xây dựng kế hoạch truy...
Khoá luận tốt nghiệp ngành Truyền thông đa phương tiện Xây dựng kế hoạch truy...
 
98 BÀI LUYỆN NGHE TUYỂN SINH VÀO LỚP 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ ...
98 BÀI LUYỆN NGHE TUYỂN SINH VÀO LỚP 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ ...98 BÀI LUYỆN NGHE TUYỂN SINH VÀO LỚP 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ ...
98 BÀI LUYỆN NGHE TUYỂN SINH VÀO LỚP 10 TIẾNG ANH DẠNG TRẮC NGHIỆM 4 CÂU TRẢ ...
 
Chương III (Nội dung vẽ sơ đồ tư duy chương 3)
Chương III (Nội dung vẽ sơ đồ tư duy chương 3)Chương III (Nội dung vẽ sơ đồ tư duy chương 3)
Chương III (Nội dung vẽ sơ đồ tư duy chương 3)
 
AV6 - PIE CHART WRITING skill in english
AV6 - PIE CHART WRITING skill in englishAV6 - PIE CHART WRITING skill in english
AV6 - PIE CHART WRITING skill in english
 
CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...
CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...
CHUYÊN ĐỀ BỒI DƯỠNG HỌC SINH GIỎI KHOA HỌC TỰ NHIÊN 9 CHƯƠNG TRÌNH MỚI - PHẦN...
 
Ảnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nay
Ảnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nayẢnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nay
Ảnh hưởng của nhân sinh quan Phật giáo đến đời sống tinh thần Việt Nam hiện nay
 
GIÁO TRÌNH 2-TÀI LIỆU SỬA CHỮA BOARD MONO TỦ LẠNH MÁY GIẶT ĐIỀU HÒA.pdf
GIÁO TRÌNH 2-TÀI LIỆU SỬA CHỮA BOARD MONO TỦ LẠNH MÁY GIẶT ĐIỀU HÒA.pdfGIÁO TRÌNH 2-TÀI LIỆU SỬA CHỮA BOARD MONO TỦ LẠNH MÁY GIẶT ĐIỀU HÒA.pdf
GIÁO TRÌNH 2-TÀI LIỆU SỬA CHỮA BOARD MONO TỦ LẠNH MÁY GIẶT ĐIỀU HÒA.pdf
 
30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf
30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf
30 - ĐỀ THI HSG - HÓA HỌC 9 - NĂM HỌC 2021 - 2022.pdf
 

nhập xuất file 2 c++

  • 1. TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN CÔNG NGHỆ PHẦN MỀM HỆ CHÍNH QUI MÔN: KỸ THUẬT LẬP TRÌNH GVLT: TS. ĐINH BÁ TIẾN HƯỚNG DẪN THỰC HÀNH TUẦN 08 – ĐỌC XUẤT FILE NGUYỄN SƠN HOÀNG QUỐC NGUYỄN HOÀNG KHAI HỒ TUẤN THANH TP.HCM, ngày 28 tháng 04 năm 2011
  • 2. htthanh@fit.hcmus.edu.vn MỤC LỤC 1 Nội dung ...................................................................................................................... 3 2 Kỹ thuật đọc ghi file .................................................................................................... 3 2.1 Đọc xuất file đơn giản ............................................................................................ 3 2.1.1 Đọc dữ liệu file ................................................................................................ 3 2.1.2 Ghi dữ liệu xuống file ..................................................................................... 6 2.2 Đọc xuất mảng phân số .......................................................................................... 7 3 Pragma once .............................................................................................................. 11 3.1 Bản chất của include ............................................................................................ 11 3.2 Pragma once– Anh là ai ....................................................................................... 13 4 Bài tập trên lớp .......................................................................................................... 14 5 Bài tập về nhà ............................................................................................................ 15 Trang 2
  • 3. htthanh@fit.hcmus.edu.vn 1 Nội dung - Kỹ thuật đọc ghi file. - Pragma once: anh là ai? - Bài tập trên lớp - Bài tập về nhà 2 Kỹ thuật đọc ghi file 2.1 Đọc xuất file đơn giản - Giả ta có một file input.txt chứa các thông tin được bố trí như sau: o Một số nguyên o Một số thực o Một chuỗi ko có khoảng trắng o Một chuỗi có khoảng trắng - Vấn đề: làm sao đọc file lên + làm sao ghi xuống file theo định dạng như vậy? 2.1.1 Đọc dữ liệu file - Nhớ: - Mở file. Lưu ý: Trang 3
  • 4. htthanh@fit.hcmus.edu.vn o Ở đây thay vì truyền vào tên file, có thể truyền vào đường dẫn tuyệt đối của file. o Nếu chỉ truyền vào tên file, thì file input.txt phải đặt trong thư mục chứa source code. o Rất dễ nhầm lẫn giữa input.txt.txt và input.txt nếu trên máy tính của mình thiết lập Hide well-known extensions (ẩn các phần đuôi thông dụng). - Đọc dữ liệu: tương tự cin Trang 4
  • 5. htthanh@fit.hcmus.edu.vn - Ở đây ta thấy có dòng boDoc.get() o Nếu bỏ (đánh dấu ghi chú) dòng này  khi đọc lên ten = chuỗi rỗng  kết quả khi ghi file o Do đó, cần thêm dòng code boDoc.get() sau khi đọc maso Trang 5
  • 6. htthanh@fit.hcmus.edu.vn - Làm xong nhớ đóng file 2.1.2 Ghi dữ liệu xuống file - Nhớ: - Mở file Trang 6
  • 7. htthanh@fit.hcmus.edu.vn - Ghi dữ liệu xuống tương tự như cout - Làm xong nhớ đóng file 2.2 Đọc xuất mảng phân số - Giả sử ta có file MPS_In.txt chứa mảng các phân số có cấu trúc như sau: o Số phần tử o Danh sách các phân số - Vấn đề: làm sao đọc được dữ liệu từ file đó lên và ghi được file như vậy - Ở đây, ta bố trí project có 5 file: o Main.cpp: chứa hàm main Trang 7
  • 8. htthanh@fit.hcmus.edu.vn o PhanSo.h và PhanSo.cpp: khai báo struct + khai báo và định nghĩa hàm đọc ghi phân số o MangPhanSo.h và MangPhanSo.cpp: khai báo struct + khai báo và định nghĩa hàm đọc ghi mảng phân số - PhanSo.h: - PhanSo.cpp: Trang 8
  • 9. htthanh@fit.hcmus.edu.vn - MangPhanSo.h: - MangPhanSo.cpp: Trang 9
  • 10. htthanh@fit.hcmus.edu.vn - Main.cpp: Trang 10
  • 11. htthanh@fit.hcmus.edu.vn - Ghi tiếp file cũ  tự tìm hiểu (append mode ofstream C++) 3 Pragma once - Giả sử ta có 5 file như trong phần hướng dẫn trước. Bây giờ, thử bỏ 2 câu #pragma once trong 2 file .h. Trong file Main.cpp có đoạn code sau: - Tại sao? Vì sao thế ?  3.1 Bản chất của include - Bản chất của include là sự thay thế. Tức là chỗ nào có include thì khi biên dịch, trình biên dịch sẽ lấy đoạn code trong file được include thay thế cho dòng include. Chẳng hạn. Với file Main.cpp sau: - Tương đương với: Trang 11
  • 12. htthanh@fit.hcmus.edu.vn - Như vậy với file Main.cpp ban đầu: - Tương đương với: Trang 12
  • 13. htthanh@fit.hcmus.edu.vn - Rõ ràng, nhìn vào đây ta thấy PhanSo được khai báo 2 lần  báo lỗi là phải  3.2 Pragma once– Anh là ai - Pragma once là câu lệnh do Microsoft đưa ra, ngụ ý rằng: nếu file này đã include rồi thì ko cần include nữa  tránh lỗi include file PhanSo.h đến 2 lần. - Pragmace once ko nằm trong chuẩn của C/C++, nên một số trình biên dịch sẽ ko hiểu câu lệnh này. - Nó tương đương với việc: Trang 13
  • 14. htthanh@fit.hcmus.edu.vn - _PHANSO_H_ ở đây có ý nghĩa là một chuỗi duy nhất  ko được trong một project, có 2 file .h mà ta define cùng 1 chuỗi này. 4 Bài tập trên lớp - Viết chương trình: 1. Đọc vào một danh sách liên kết các phân số từ file DSPhanSo.in 2. Xuất danh sách ra màn hình. 3. Tìm ra phân số lớn nhất. Xuất phân số lớn nhất ra file PhanSoLonNhat.out. 4. Xuất danh sách phân số ra file DSPhanSo.out - Yêu cầu: o Chia hàm, chia file o Struct o Danh sách liên kết o Dùng ifndef… (ko dùng pragma once Trang 14
  • 15. htthanh@fit.hcmus.edu.vn 5 Bài tập về nhà 1. Dữ liệu: a. Qui định cấu trúc file dữ liệu cho bài tập lớn b. Nhập dữ liệu mẫu cho các file 2. Lập trình: a. Thực hiện các chức năng đọc các file dữ liệu lên b. Thực hiện các chức năng ghi dữ liệu xuống file (khi người dùng chọn chức năng thoát. VD: Quản trị viên chọn menu Thoat (thực hiện ghi dữ liệu xuống ở đây) Quay về menu hỏi đăng nhập, đăng ký hay Thoat 3. Nộp bài: a. Thư mục Data: các file dữ liệu b. Thư mục Source Code: source code của yêu cầu (2) ở trên. c. Nén cả 2 thư mục thì 1 file nén duy nhất. Trang 15