-
Notifications
You must be signed in to change notification settings - Fork 0
/
customer.cpp
67 lines (60 loc) · 1.43 KB
/
customer.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
/*
* Customer.cpp is part of the Movie Store Simulator, a C++ program that
* offers the function of borrow, return, or stock with up to 10,000
* customers and 26 genres of movies
*
* @author Bill Zhao, Lucas Bradley
* @date March 12th
*/
#include "customer.h"
/*
* Constructs a customer with a given ID and name
*
* @param Input a given string with the customer's ID, first name, and
* last name.
*/
Customer::Customer(std::string Input) {
CustomerID = 0;
int It = 0;
while (Input[It] != ' ') {
CustomerID *= 10;
if (CustomerID > 9999)
return;
CustomerID += Input[It] - '0';
It++;
}
It++;
while (Input[It] != '\0') {
Name += Input[It];
It++;
}
}
/*
* Destructs the customer and delete all from the store
*/
Customer::~Customer() {
for (auto I : History) {
delete I;
}
}
/*
* Adds the given transaction to the given customer's history
*
* @param Input the given transaction detail with information of the movie
* and the detailed action
*/
bool Customer::addTransaction(std::string Input) {
auto *Current = new Transaction(std::move(Input));
History.push_back(Current);
return true;
}
/*
* Prints the customer's history to console
*/
void Customer::printHistory() const {
std::cout << "Customer " << CustomerID << " " << Name << " "
<< "History:\n";
for (auto I : History) {
std::cout << I->reformString() << std::endl;
}
}