View difference between Paste ID: 7UxQWPqg and A1j0TWf7
SHOW: | | - or go back to the newest paste.
1
/////////////////////////// Input.cpp ////////////////////////////////
2
3
// _numberList là biến cho số khách hàng có trong danh sách sổ quản lý
4
5
void Load(char* filename, KhachHang* & List, int& _numberList)
6
{
7
	fstream file;
8
	file.open(filename, ios::in | ios::binary);
9
10
	// Dòng đầu tiên của file quy định số khách hàng
11
	// load số lượng khách hàng có trong danh sách quản lý
12
13
	file >> _numberList;
14
	file.ignore(3, '\n');
15
16
	// Cấp phát bộ nhớ
17
	List = (KhachHang*)malloc(_numberList * sizeof(KhachHang));
18
19-
	cout << sizeof(List[0].Ten) << endl;
19+
20
21
		// thông tin thành viên được quy định bằng một dòng với cú pháp MaSo-Ten-CMND-NgayGui-SoTien-KyHan
22
		// phù hợp với định dạng
23
	for (int i = 0; i < _numberList; i++)
24
	{
25
		string getString;
26
		getline(file, getString, '\n');
27
28
		stringstream ss(getString);
29
30
		string temp;
31
32
		getline(ss, temp, '-');
33
		List[i].MaSo = stoll(temp, nullptr); // default decimal
34
35
		getline(ss, temp, '-');
36
		List[i].Ten = temp;
37
38
		getline(ss, temp, '-');
39
		List[i].CMND = stoll(temp, nullptr);
40
41
		getline(ss, temp, '-');
42
		List[i].NgayGui = temp;
43
44
		getline(ss, temp, '-');
45
		List[i].Sotien = stoll(temp, nullptr);
46
47
		getline(ss, temp, '-');
48
		List[i].KyHan = stoi(temp);
49
	}
50
51
	file.close();
52
}
53
54
55
//////////////////////// Config.h ////////////////////////
56
typedef struct KhachHang
57
{
58
	long long MaSo;
59
	string Ten;
60
	long long CMND;
61
	string NgayGui;
62
	long long Sotien;
63
	int KyHan;
64
};
65
66
67
68
69
70
71
//////////////////////////// Main.cpp ////////////////////////
72
73
//......
74
75
KhachHang* List;
76
int _numberList;
77
78
int main()
79
{
80
	// Load data
81
	Load("data.bin", List, _numberList);
82
83
	return 0;
84
}