View difference between Paste ID: A1j0TWf7 and mNaNJ8ch
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 * 100 * sizeof(KhachHang));
17+
	List = (KhachHang*)malloc(_numberList * sizeof(KhachHang));
18
19
	cout << sizeof(List[0].Ten) << endl;
20
	// Load thành viên
21
22
		// 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
23
		// phù hợp với định dạng
24
	for (int i = 0; i < _numberList; i++)
25
	{
26
		string getString;
27
		getline(file, getString, '\n');
28
29
		stringstream ss(getString);
30
31
		string temp;
32
33
		getline(ss, temp, '-');
34
		List[i].MaSo = stoll(temp, nullptr); // default decimal
35
36
		getline(ss, temp, '-');
37
		List[i].Ten = temp;
38
39
		getline(ss, temp, '-');
40
		List[i].CMND = stoll(temp, nullptr);
41
42
		getline(ss, temp, '-');
43
		List[i].NgayGui = temp;
44
45
		getline(ss, temp, '-');
46
		List[i].Sotien = stoll(temp, nullptr);
47
48
		getline(ss, temp, '-');
49
		List[i].KyHan = stoi(temp);
50
	}
51
52
	file.close();
53
}
54
55
56
//////////////////////// Config.h ////////////////////////
57
typedef struct KhachHang
58
{
59
	long long MaSo;
60
	string Ten;
61
	long long CMND;
62
	string NgayGui;
63
	long long Sotien;
64
	int KyHan;
65
};
66
67
68
69
70
71
72
//////////////////////////// Main.cpp ////////////////////////
73
74
//......
75
76
KhachHang* List;
77
int _numberList;
78
79
int main()
80
{
81
	// Load data
82
	Load("data.bin", List, _numberList);
83
84
	return 0;
85
}