(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:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
201:
202:
203:
204:
205:
206:
207:
208:
209:
210:
211:
212:
213:
214:
215:
216:
217:
218:
219:
220:
221:
222:
223:
224:
225:
226:
227:
228:
229:
230:
231:
232:
233:
234:
235:
236:
237:
238:
239:
240:
241:
242:
243:
244:
245:
246:
247:
248:
249:
250:
251:
252:
253:
254:
255:
256:
257:
258:
259:
260:
261:
262:
263:
264:
265:
266:
267:
268:
269:
270:
271:
272:
273:
274:
275:
276:
277:
278:
279:
280:
281:
282:
283:
284:
285:
286:
287:
288:
289:
290:
291:
292:
293:
294:
295:
296:
297:
298:
299:
300:
301:
302:
303:
304:
305:
306:
307:
308:
309:
310:
311:
312:
313:
314:
315:
316:
317:
318:
319:
320:
321:
322:
323:
324:
325:
326:
327:
328:
329:
330:
331:
332:
333:
334:
335:
336:
337:
338:
339:
340:
341:
342:
343:
344:
345:
346:
347:
348:
349:
350:
351:
352:
353:
354:
355:
356:
357:
358:
359:
360:
361:
362:
363:
364:
365:
|
.cpp
#include
#include
#include
#include "car.h"
#include "customer.h"
#include "res.h"
using namespace std;
time_t convTime (int dzień, int miesiąc, int rok)
{
time_t rawtime;
struct tm * timeinfo;
czas (&rawtime);
timeinfo = localtime (&rawtime);
timeinfo->tm_year = rok - 1900;
timeinfo->tm_mon = miesiąc - (1);
timeinfo->tm_mday = dzień;
powrotny mktime (timeinfo);
}
time_t askForTime ()
{
int dzień, miesiąc, rok;
cout << "Zadawalać wchodzić do wszystkie pole jako liczba." << endl;
cout << "Dzień: ";
cin >> dzień;
cout << "Miesiąc: ";
cin >> miesiąc;
cout << "Rok: ";
cin >> rok;
powrotny convTime (dzień, miesiąc, rok);
}
Klient createCust ()
{
smyczkowy cName, cAddress, cccNumber, cccType, cEmail;
cout<< " Zadawalać wchodzić do twój imię i wtedy naciskać wchodzić do. "<> cName;
cout<< " Zadawalać wchodzić do twój adres i wtedy naciskać wchodzić do. "<> cAddress;
cout<< " Zadawalać wchodzić do twój numer karty kredytowej i wtedy naciskać wchodzić do. "<> cccNumber;
cout<< " Zadawalać wchodzić do twój kredytowy karciany typ i wtedy naciskać wchodzić do. "<> cccType;
cout<< " Zadawalać wchodzić do twój adres emaila i wtedy naciskać wchodzić do. "<> cEmail;
powrotny Klient (cName, cAddress, cccNumber, cccType, cEmail);
}
int magistrala (pustka)
{
vector klient;
Samochodowy carArray [10] = {
Samochód ((1), "W połowie Rozmiar", 50.00, fałszywy),
Samochód (2, "W połowie Rozmiar", 55.00, true),
Samochód (3, "Układ", 40.00, fałszywy),
Samochód (4, "Układ", 45.00, true),
Samochód (5, "Pełnych rozmiarów", 55.00, fałszywy),
Samochód (6, "Pełnych rozmiarów", 60.00, true),
Samochód (7, "Furgonetka", 55.00, fałszywy),
Samochód (8, "Furgonetka", 60.00, true),
Samochód (9, "SUV", 60.00, fałszywy),
Samochód (10, "SUV", 65.00, true),
};
int wybór;
Klient * currentCust;
bool notDone = true;
cout << "Zadawalać Robić Wybór: " << endl;
cout << "1. I być nowy klient. " << endl;
cout << "2. I być istniejący klient. " << endl;
cout << "(1) lub 2: ";
cin >> wybór;
jeżeli (wybór == 1)
{
customers.push_back (createCust ());
currentCust = &customers [customers.size () - (1)];
}
inny jeżeli (wybór == 2)
{
cout << "Che klient być ty?" << endl;
dla (int i = (0); i < customers.size (); i++)
cout << (i+1) << ". " << klient [i] .getName () << endl;
cout << "? ";
cin >> wybór;
currentCust = &customers [wybór];
}
podczas gdy (notDone) {
cout << endl << endl;
cout << "Zadawalać Robić Wybór: " << endl;
cout << "1. Robić Rezerwacja" << endl;
cout << "2. Widok Rezerwacja Rozkład" << endl;
cout << "3. Wyjście" << endl;
cout << "? ";
cin >> wybór;
jeżeli (wybór == 1)
{
cout << "Zadawalać Wchodzić Do Wybór Aktualizacja." << endl;
time_t outD = askForTime ();
cout << "Zadawalać Wchodzić Do Powrót Data." << endl;
time_t inD = askForTime ();
cout << "Zadawalać Wkład Samochód ID Liczba (1-10): ";
int idNum;
cin >> idNum;
Rezerwacja r = Rezerwacja (outD, inD, idNum, currentCust);
cout << "Twój rezerwacja potwierdzać. ";
}
inny jeżeli (wybór == 3)
notDone = fałszywy;
}
powrót (0);
}
// customer.h
#ifndef H_CUSTOMER
#define H_CUSTOMER
#include
using namespace std;
klasowy Klient
{
społeczeństwo:
kawitacyjny druk () const;
smyczkowy getName ();
smyczkowy getAddress ();
smyczkowy getccNumber ();
smyczkowy getccType ();
smyczkowy getEmail ();
Klient (smyczkowy _name, smyczkowy _address, smyczkowy _ccNumber, smyczkowy _ccType, smyczkowy _email);
intymny:
smyczkowy imię;
smyczkowy adres;
smyczkowy ccNumber;
smyczkowy ccType;
smyczkowy email;
};
kawitacyjny Klient:: druk () const
{
cout<< imię <
#include
#include
#include "res.h"
using namespace std;
klasowy Samochód
{
intymny:
int idNumber;
sznurek cSize;
dwoisty pricePerDay;
bool dymienie;
vector rezerwacja;
społeczeństwo:
Samochód (int idN, smyczkowy s, dwoisty p, bool sm);
bool makeReservation (Rezerwacja *res);
kawitacyjny cancelReservation (Rezerwacja *res);
};
Samochód:: Samochód (int idN, smyczkowy s, dwoisty p, bool sm)
{
idNumber = idN;
cSize = s;
pricePerDay = p;
= sm;
}
/*
Podczas:
vector samochód:: rezerwacja;
bool rezerwacja:: konflikt ();
*
bool Samochód:: makeReservation (Rezerwacja *res)
{
dla (int i=0; i < reservations.size (); i++)
{
jeżeli (rezerwacja [i] .conflict (res)) // konflikt powrót true jeżeli the data kolidować. PISAĆ PISAĆ
// rzut ("The rezerwacja data konflikt z inny reservation.");
// chwyt (char wiadomość [])
{
cout << "The rezerwacja data kolidować z inny rezerwacja." << endl;
powrotny fałszywy;
}
}
//now my znać the data kolidować. właśnie potrzeba ono
reservations.push_back (*res);
/*
//now aktualizacja the rezerwacja kartoteka
cout << "Próbować" << FILENAME << endl;
ifstream inp (FILENAME, ifstream:: w);
jeżeli (! inp.good ())
rzut ("Tam być problemowy otwarcie the rezerwacja file.");
chwyt (char wiadomość [])
{
cout << wiadomość << endl;
powrotny fałszywy;
}
podczas gdy (inp.good ())
{
//read the rezerwacja
}
*
powrót prawdziwy;
}
kawitacyjny Samochód:: cancelReservation (Rezerwacja * res)
{
dla (int i=0; i < reservations.size (); i++)
jeżeli (res->getidNumber () == idNumber)
reservations.erase (reservations.begin () + i);
}
#endif
// res.h
#ifndef H_RESERVATION
#define H_RESERVATION
#include
#include "car.h"
#include "customer.h"
using namespace std;
klasowy Rezerwacja
{
intymny:
time_t dateOut;
time_t dateIn;
int carID;
Klient * custInfo;
int reservationNumber;
społeczeństwo:
Rezerwacja (time_t dOut, time_t łomot, int _carID, Klient * custI);
bool konflikt (Rezerwacja *r);
int getidNumber ();
time_t getDateOut ();
time_t getDateIn ();
int getCarReserved ();
Customer* getCustInfo ();
};
int Rezerwacja:: getidNumber ()
{
powrotny reservationNumber;
}
time_t Rezerwacja:: getDateOut ()
{
powrotny dateOut;
}
time_t Rezerwacja:: getDateIn ()
{
powrotny dateIn;
}
int Rezerwacja:: getCarReserved ()
{
powrotny carID;
}
Customer* Rezerwacja:: getCustInfo ()
{
powrotny custInfo;
}
bool Rezerwacja:: konflikt (Rezerwacja *r)
{
jeżeli ((r->getDateIn () < dateOut) || (r->getDateOut () > dateIn))
powrotny fałszywy;
powrót prawdziwy;
}
Rezerwacja:: Rezerwacja (time_t dOut, time_t łomot, int _carID, Klient * custI)
{
dateOut = dOut;
dateIn = łomot;
carID = _carID;
custInfo = custI;
}
#endif
|