class= " lineNumbers "
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:
|
class=
class= " id= " codeSnippet737196 .cpp
#include
#include
#include
#include «car.h»
#include «customer.h»
#include «res.h»
using namespace std;
convTime time_t (день int, месяц int, год int)
{
rawtime time_t;
struct tm * timeinfo;
время (&rawtime);
timeinfo = localtime (&rawtime);
timeinfo->tm_year = год - 1900;
timeinfo->tm_mon = месяц - 1;
timeinfo->tm_mday = день;
возвращенное mktime (timeinfo);
}
askForTime time_t ()
{
день int, месяц, год;
cout << «пожалуйста вписывает все поля как номера.» << endl;
cout << «день: »;
cin >> день;
cout << «месяц: »;
cin >> месяц;
cout << «год: »;
cin >> год;
возвращенное convTime (день, месяц, год);
}
createCust клиента ()
{
cName шнура, cAddress, cccNumber, cccType, cEmail;
cout<< " пожалуйста вписывает ваше имя и после этого отжимает входит. «<> cName;
cout<< " пожалуйста вписывает ваш адрес и после этого отжимает входит. «<> cAddress;
cout<< " пожалуйста вписывает ваш номер кредитной карты и после этого отжимает входит. «<> cccNumber;
cout<< " пожалуйста вписывает ваш тип кредитной карточки и после этого отжимает входит. «<> cccType;
cout<< " пожалуйста вписывает ваш адрес электронная почта и после этого отжимает входит. «<> cEmail;
возвращенный клиент (cName, cAddress, cccNumber, cccType, cEmail);
}
основа int (свободное пространство)
{
клиенты vector;
Автомобиль carArray [10] = {
Автомобиль (1, «средний размер», 50.00, ложные),
Автомобиль (2, «средний размер», 55.00, true),
Автомобиль (3, «компакт», 40.00, ложные),
Автомобиль (4, «компакт», 45.00, true),
Автомобиль (5, «полная величина», 55.00, ложные),
Автомобиль (6, «полная величина», 60.00, true),
Автомобиль (7, «минифургон», 55.00, ложные),
Автомобиль (8, «минифургон», 60.00, true),
Автомобиль (9, «SUV», 60.00, ложное),
Автомобиль (10, «SUV», 65.00, true),
};
выбор int;
Клиент * currentCust;
notDone bool = true;
cout << «пожалуйста делает выбор: » << endl;
cout << «1. Я буду новым клиентом. » << endl;
cout << «2. Я буду существующий клиентом. » << endl;
cout << «1 или 2: »;
cin >> выбор;
если (== выбора 1)
{
customers.push_back (createCust ());
currentCust = &customers [customers.size () - 1];
}
еще если (== выбора 2)
{
cout << «клиент будет вами?» << endl;
для (int iий = 0; iий < customers.size (); i++)
cout << (i+1) << «. » << клиенты [I] .getName () << endl;
cout << «? »;
cin >> выбор;
currentCust = &customers [выбор];
}
пока (notDone) {
cout << endl << endl;
cout << «пожалуйста делает выбор: » << endl;
cout << «1. Сделайте ресервирование» << endl;
cout << «2. осматривает план-график ресервирования» << endl;
cout << «выход 3.» << endl;
cout << «? »;
cin >> выбор;
если (== выбора 1)
{
cout << «пожалуйста вписывает уточнение выбора.» << endl;
outD = askForTime time_t ();
cout << «пожалуйста вписывает возвращенную дату.» << endl;
time_t inD = askForTime ();
cout << «пожалуйста Input удостоверение личности номер автомобиля (1-10): »;
idNum int;
cin >> idNum;
Ресервирование r = ресервирование (outD, inD, idNum, currentCust);
cout << «ваше ресервирование было подтвержено. »;
}
еще если (== выбора 3)
notDone = ложно;
}
возвращение 0;
}
// customer.h
#ifndef H_CUSTOMER
#define H_CUSTOMER
#include
using namespace std;
клиент типа
{
публика:
пустое const печати ();
getName шнура ();
getAddress шнура ();
getccNumber шнура ();
getccType шнура ();
getEmail шнура ();
Клиент (_name шнура, _address шнура, _ccNumber шнура, _ccType шнура, _email шнура);
приватно:
имя шнура;
адрес шнура;
ccNumber шнура;
ccType шнура;
электронная почта шнура;
};
пустой клиент:: const печати ()
{
< #include
#include
#include
#include «res.h»
using namespace std;
автомобиль типа
{
приватно:
idNumber int;
шнур cSize;
двойное pricePerDay;
курить bool;
ресервирования vector;
публика:
Автомобиль (int idN, шнур s, двойной p, bool sm);
makeReservation bool (*res ресервирования);
пустое cancelReservation (*res ресервирования);
};
Автомобиль:: Автомобиль (int idN, шнур s, двойной p, bool sm)
{
idNumber = idN;
cSize = s;
pricePerDay = p;
курить = sm;
}
/*
В ожидании:
автомобиль vector:: ресервирования;
ресервирование bool:: конфликт ();
*
автомобиль bool:: makeReservation (*res ресервирования)
{
для (int i=0; iий < reservations.size (); i++)
{
если (ресервирования [I] .conflict, то (res)) конфликт // возвращает поистине если даты противоречат. ПОКА НАПИСАНО
ход // («конфликт дат ресервирования с другое reservation.");
задвижка // (сообщение чарса [])
{
cout << «даты ресервирования противоречит с другим ресервированием.» << endl;
возвращенное ложное;
}
}
//now, котор мы знаем дата не противоречит. как раз потребность добавить ее
reservations.push_back (*res);
/*
уточнение //now архив ресервирования
cout << «пытающ для того чтобы раскрыть» << FILENAME << endl;
inp ifstream (FILENAME, ifstream:: в);
если (! inp.good ())
ход («была проблема раскрывая ресервирование file.");
задвижка (сообщение чарса [])
{
cout << сообщение << endl;
возвращенное ложное;
}
пока (inp.good ())
{
//read ресервирования
}
*
возвращенно true;
}
опорожните автомобиль:: cancelReservation (ресервирование * res)
{
для (int i=0; iий < reservations.size (); i++)
если (idNumber == res->getidNumber ()), то
reservations.erase (reservations.begin () + I);
}
#endif
// res.h
#ifndef H_RESERVATION
#define H_RESERVATION
#include
#include «car.h»
#include «customer.h»
using namespace std;
ресервирование типа
{
приватно:
dateOut time_t;
dateIn time_t;
carID int;
Клиент * custInfo;
reservationNumber int;
публика:
Ресервирование (dOut time_t, гам time_t, _carID int, клиент * custI);
конфликт bool (*r ресервирования);
getidNumber int ();
getDateOut time_t ();
getDateIn time_t ();
int getCarReserved ();
getCustInfo Customer* ();
};
ресервирование int:: getidNumber ()
{
возвращенное reservationNumber;
}
ресервирование time_t:: getDateOut ()
{
возвращенное dateOut;
}
ресервирование time_t:: getDateIn ()
{
возвращенное dateIn;
}
ресервирование int:: getCarReserved ()
{
возвращенное carID;
}
Ресервирование Customer*:: getCustInfo ()
{
возвращенное custInfo;
}
ресервирование bool:: конфликт (*r ресервирования)
{
если (, то (r->getDateIn () < dateOut) || (r->getDateOut () > dateIn))
возвращенное ложное;
возвращенно true;
}
Ресервирование:: Ресервирование (dOut time_t, гам time_t, _carID int, клиент * custI)
{
dateOut = dOut;
dateIn = гам;
carID = _carID;
custInfo = custI;
}
#endif
|