class= " lineNumbers " do
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= do
class= " do id= " codeSnippet737196 do .cpp
do #include
do #include
#include
#include “car.h”
#include “customer.h”
#include “res.h”
using namespace STD;
convTime do time_t (dia do int, mês do int, ano do int)
{
rawtime do time_t;
struct TM * timeinfo;
tempo (&rawtime);
timeinfo = localtime (&rawtime);
timeinfo->tm_year = ano - 1900;
timeinfo->tm_mon = mês - 1;
timeinfo->tm_mday = dia;
mktime do retorno (timeinfo);
}
askForTime do time_t ()
{
dia do int, mês, ano;
o cout << “incorpora por favor todos os campos como números.” << endl;
cout << “dia: ”;
cin >> dia;
cout << “mês: ”;
cin >> mês;
cout << “ano: ”;
cin >> ano;
convTime do retorno (dia, mês, ano);
}
createCust do cliente ()
{
cName da corda, cAddress, cccNumber, cccType, cEmail;
o cout<< " dá entrada com por favor seu nome e pressiona-o então entra. “<> cName;
o cout<< " incorpora por favor seu endereço e pressiona-o então entra. “<> cAddress;
o cout<< " incorpora por favor seu número de cartão de crédito e pressiona-o então entra. “<> cccNumber;
o cout<< " incorpora por favor seu tipo de cartão do crédito e pressiona-o então entra. “<> cccType;
o cout<< " incorpora por favor seu email address e pressiona-o então entra. “<> cEmail;
cliente do retorno (cName, cAddress, cccNumber, cccType, cEmail);
}
cano principal do int (vácuo)
{
clientes do vetor;
Carro carArray [10] = {
Carro (1, “tamanho meados de”, 50.00, falsos),
Carro (2, “tamanho meados de”, 55.00, retificam),
Carro (3, “estojo compato”, 40.00, falsos),
Carro (4, “estojo compato”, 45.00, retificam),
Carro (5, “sem redução”, 55.00, falsos),
Carro (6, “sem redução”, 60.00, retificam),
Carro (7, “carrinha”, 55.00, falsos),
Carro (8, “carrinha”, 60.00, retificam),
Carro (9, “SUV”, 60.00, falso),
Carro (10, “SUV”, 65.00, retificam),
};
seleção do int;
Cliente * currentCust;
o notDone do bool = retifica;
o cout << “faz por favor uma seleção: ” << endl;
cout << “1. Eu sou um cliente novo. ” << endl;
cout << “2. Eu sou um cliente existente. ” << endl;
cout << “1 ou 2: ”;
cin >> seleção;
se (== 1 da seleção)
{
customers.push_back (createCust ());
currentCust = &customers [customers.size () - 1];
}
mais se (== 2 da seleção)
{
cout << “que o cliente é você?” << endl;
para (int i = 0; i < customers.size (); i++)
cout << (i+1) << “. ” << clientes [i] .getName () << endl;
cout << “? ”;
cin >> seleção;
currentCust = &customers [seleção];
}
quando (notDone) {
cout << endl << endl;
o cout << “faz por favor uma seleção: ” << endl;
cout << “1. Fazer uma reserva” << endl;
o cout << “2. vê a programação da reserva” << endl;
cout << “saída 3.” << endl;
cout << “? ”;
cin >> seleção;
se (== 1 da seleção)
{
o cout << “incorpora por favor a atualização da picareta.” << endl;
outD = askForTime do time_t ();
o cout << “incorpora por favor a data do retorno.” << endl;
time_t inD = askForTime ();
cout << “identificação por favor entrada número do carro (1-10): ”;
idNum do int;
cin >> idNum;
Reserva r = reserva (outD, inD, idNum, currentCust);
o cout << “sua reserva foi confirmado. ”;
}
mais se (== 3 da seleção)
notDone = falso;
}
retorno 0;
}
// customer.h
#ifndef H_CUSTOMER
#define H_CUSTOMER
#include
using namespace STD;
cliente da classe
{
público:
const vago da cópia ();
getName da corda ();
getAddress da corda ();
getccNumber da corda ();
getccType da corda ();
getEmail da corda ();
Cliente (_name da corda, _address da corda, _ccNumber da corda, _ccType da corda, _email da corda);
confidencial:
nome da corda;
endereço da corda;
ccNumber da corda;
ccType da corda;
email da corda;
};
cliente vago:: const da cópia ()
{
< do #include
do #include
do #include
#include “res.h”
using namespace STD;
carro da classe
{
confidencial:
idNumber do int;
a corda cSize;
pricePerDay dobro;
fumo do bool;
reservas do vetor;
público:
Carro (int idN, corda s, p dobro, manutenção programada do bool);
makeReservation do bool (*res da reserva);
cancelReservation vago (*res da reserva);
};
Carro:: Carro (int idN, corda s, p dobro, manutenção programada do bool)
{
idNumber = idN;
cSize = s;
pricePerDay = p;
fumo = manutenção programada;
}
/*
Durante:
carro do vetor:: reservas;
reserva do bool:: conflito ();
*
carro do bool:: makeReservation (*res da reserva)
{
para (int i=0; i < reservations.size (); i++)
{
se (reservas [i] .conflict (res)) o conflito de // retorna verdadeiro se as datas opor. ESCRITO NÃO AINDA
lance de // (“o conflito das datas de reserva com um outro reservation.");
prendedor de // (mensagem do carvão animal [])
{
o cout << “as datas de reserva opor a uma outra reserva.” << endl;
falso do retorno;
}
}
//now que nós conhecemos que a data não opor. apenas necessidade de adicioná-la
reservations.push_back (*res);
/*
atualização de //now a lima da reserva
cout << “tentando abrir” << NOME DE ARQUIVO << endl;
inp do ifstream (NOME DE ARQUIVO, ifstream:: em);
se (! inp.good ())
lance (“havia um problema que abre a reserva file.");
prendedor (mensagem do carvão animal [])
{
cout << mensagem << endl;
falso do retorno;
}
quando (inp.good ())
{
//read as reservas
}
*
do retorno retificar;
}
anular o carro:: cancelReservation (reserva * res)
{
para (int i=0; i < reservations.size (); i++)
se (idNumber do == do 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;
reserva da classe
{
confidencial:
dateOut do time_t;
dateIn do time_t;
carID do int;
Cliente * custInfo;
reservationNumber do int;
público:
Reserva (dOut do time_t, ruído do time_t, _carID do int, cliente * custI);
conflito do bool (*r) da reserva;
getidNumber do int ();
getDateOut do time_t ();
getDateIn do time_t ();
o int getCarReserved ();
getCustInfo de Customer* ();
};
reserva do int:: getidNumber ()
{
reservationNumber do retorno;
}
reserva do time_t:: getDateOut ()
{
dateOut do retorno;
}
reserva do time_t:: getDateIn ()
{
dateIn do retorno;
}
reserva do int:: getCarReserved ()
{
carID do retorno;
}
Reserva de Customer*:: getCustInfo ()
{
custInfo do retorno;
}
reserva do bool:: conflito (*r) da reserva
{
se ((r->getDateIn () < dateOut) || (r->getDateOut () > dateIn))
falso do retorno;
do retorno retificar;
}
Reserva:: Reserva (dOut do time_t, ruído do time_t, _carID do int, cliente * custI)
{
dateOut = dOut;
dateIn = ruído;
carID = _carID;
custInfo = custI;
}
#endif
|