You are on page 1of 2

#include <iostream>

#include <fstream>

using namespace std;

// Khởi tạo class Sinh viên, vì yêu cầu đề bài là Hướng đối
tượng
class SinhVien {

// Định nghÄ©a thuá»™c tÃnh ma_sv và ten_sv


// Vì là thuá»™c tÃnh nên phải để "private", đại khái là để
bảo vệ dữ liệu bla bla
private:
string ma_sv;
string ten_sv;

// Định nghĩa phương thức docvainttsv (Đọc và in thông tin sinh
viên) :))
// Vì phương thức này được gọi từ hàm main() nên phải
để "public"
public:
void docvainttsv(){

// Gán luồng file stream vào biến "input"


ifstream input("sv.txt");

// Khởi tạo biến "line", biến này có nhiệm vụ lặp lần
lượt từng dòng để lấy thông tin trong file "sv.txt"
string line;

// Lặp cho đến khi kết thúc file (eof)


while(!input.eof()){

// Lấy thông tin của dòng trong file và gán vào biến
"line"
// VD: gán "B16DCAT100#Tran Duc Bo" vào biến "line"
getline(input, line);

// Gán 10 ký tự đầu của biến "line" vào thuộc


tÃnh "ma_sv"
// VD: "B16DCAT100"
this->ma_sv = line.substr(0,10);

// Gán các ký tự còn lại của biến line vào
thuá»™c tÃnh "ten_sv", do bỏ dấu "#" nên ký tá»± bắt đầu từ vị trÃ
11
// VD: "Tran Duc Bo"
this->ten_sv = line.substr(11, line.length() - 11);

// Do 2 thuá»™c tÃnh "ma_sv" và "ten_sv" là kiểu con


trỏ (string) nên khi gọi đến nó phải sỠdụng ký tự "->" thay vì
dấu "."
// Đọc hiểu lại về biến "this" nhé
// Hiển thị "ma_sv" và "ten_sv", ngăn cách bởi
dẩu " - " và kết thúc bằng "endl" (xuống dòng)
cout << this->ma_sv << " - " << this->ten_sv << endl;
}
}
};
int main() {

// Khởi tạo biến "sv" và đối tượng "SinhVien"


SinhVien sv;

// Gọi đến hàm "docvainttsv"


sv.docvainttsv();
return 0;
}

You might also like