class= " lineNumbers " del
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= del
class= " del id= " codeSnippet737196 del .cpp
del #include
del #include
#include
#include “car.h„
#include “customer.h„
#include “res.h„
using il namespace std;
convTime del time_t (giorno di int, mese di int, anno di int)
{
rawtime del time_t;
struct TM * timeinfo;
tempo (&rawtime);
timeinfo = localtime (&rawtime);
timeinfo->tm_year = anno - 1900;
timeinfo->tm_mon = mese - 1;
timeinfo->tm_mday = giorno;
mktime di ritorno (timeinfo);
}
askForTime del time_t ()
{
giorno di int, mese, anno;
il cout << “fornisce prego tutti i campi come numeri.„ << endl;
cout << “giorno: „;
cin >> giorno;
cout << “mese: „;
cin >> mese;
cout << “anno: „;
cin >> anno;
convTime di ritorno (giorno, mese, anno);
}
createCust del cliente ()
{
cName della stringa, cAddress, cccNumber, cccType, cEmail;
il cout<< " introduce prego il vostro nome ed allora preme entra. “<> cName;
il cout<< " entra prego nel vostro indirizzo ed allora preme entra. “<> cAddress;
il cout<< " entra prego nel vostro numero di carta di credito ed allora preme entra. “<> cccNumber;
il cout<< " entra prego nel vostro tipo della carta di credito ed allora preme entra. “<> cccType;
il cout<< " entra prego nel vostro email address ed allora preme entra. “<> cEmail;
cliente di ritorno (cName, cAddress, cccNumber, cccType, cEmail);
}
conduttura di int (vuoto)
{
clienti del vector;
Automobile carArray [10] = {
Automobile (1, “di taglia media„, 50.00, falsi),
Automobile (2, “di taglia media„, 55.00, allineano),
Automobile (3, “compatto„, 40.00, falsi),
Automobile (4, “compatto„, 45.00, allineano),
Automobile (5, “100%„, 55.00, falsi),
Automobile (6, “100%„, 60.00, allineano),
Automobile (7, “furgoncino„, 55.00, falsi),
Automobile (8, “furgoncino„, 60.00, allineano),
Automobile (9, “SUV„, 60.00, falso),
Automobile (10, “SUV„, 65.00, allineano),
};
selezione di int;
Cliente * currentCust;
il notDone di bool = allinea;
il cout << “fa prego una selezione: „ << endl;
cout << “1. Sono un nuovo cliente. „ << endl;
cout << “2. Sono un cliente attuale. „ << endl;
cout << “1 o 2: „;
cin >> selezione;
se (== di selezione 1)
{
customers.push_back (createCust ());
currentCust = &customers [customers.size () - 1];
}
altrimenti se (== di selezione 2)
{
cout << “che il cliente è voi?„ << endl;
per (int i = 0; i < customers.size (); i++)
cout << (i+1) << “. „ << clienti [i] .getName () << endl;
cout << “? „;
cin >> selezione;
currentCust = &customers [selezione];
}
mentre (notDone) {
cout << endl << endl;
il cout << “fa prego una selezione: „ << endl;
cout << “1. Fare una prenotazione„ << endl;
il cout << “2. osserva il programma di prenotazione„ << endl;
cout << “uscita 3.„ << endl;
cout << “? „;
cin >> selezione;
se (== di selezione 1)
{
il cout << “entra prego nell'aggiornamento del selezionamento.„ << endl;
outD = askForTime del time_t ();
il cout << “entra prego nella data di ritorno.„ << endl;
time_t inD = askForTime ();
cout << “identificazione numero prego immessa (1-10) dell'automobile: „;
idNum di int;
cin >> idNum;
Prenotazione r = prenotazione (outD, inD, idNum, currentCust);
il cout << “la vostra prenotazione è stato confermato. „;
}
altrimenti se (== di selezione 3)
notDone = falso;
}
ritorno 0;
}
// customer.h
#ifndef H_CUSTOMER
#define H_CUSTOMER
#include
using il namespace std;
cliente del codice categoria
{
pubblico:
const vuoto della stampa ();
getName della stringa ();
getAddress della stringa ();
getccNumber della stringa ();
getccType della stringa ();
getEmail della stringa ();
Cliente (_name della stringa, _address della stringa, _ccNumber della stringa, _ccType della stringa, _email della stringa);
riservato:
nome della stringa;
indirizzo della stringa;
ccNumber della stringa;
ccType della stringa;
email della stringa;
};
cliente vuoto:: const della stampa ()
{
< del #include
del #include
del #include
#include “res.h„
using il namespace std;
automobile del codice categoria
{
riservato:
idNumber di int;
la stringa cSize;
doppio pricePerDay;
fumo di bool;
prenotazioni del vector;
pubblico:
Automobile (int idN, stringa s, doppia p, bool MP);
makeReservation di bool (*res di prenotazione);
cancelReservation vuoto (*res di prenotazione);
};
Automobile:: Automobile (int idN, stringa s, doppia p, bool MP)
{
idNumber = idN;
cSize = s;
pricePerDay = p;
fumo = MP;
}
/*
In attesa di:
automobile del vector:: prenotazioni;
prenotazione di bool:: conflitto ();
*/
automobile di bool:: makeReservation (*res di prenotazione)
{
per (int i=0; i < reservations.size (); i++)
{
se (prenotazioni [i] .conflict (ricerca)) il conflitto di // restituisce allineare se le date sono in conflitto. NON ANCORA SCRITTO
tiro di // (“il conflitto delle date di prenotazione con un altro reservation.");
fermo di // (messaggio del carbone [])
{
il cout << “le date di prenotazione è in conflitto con un'altra prenotazione.„ << endl;
falso di ritorno;
}
}
//now conosciamo che la data non è in conflitto. appena che necessità di aggiungerla
reservations.push_back (*res);
/*
aggiornamento di //now la lima di prenotazione
cout << “tentando di aprirsi„ << NOME DI SCHEDARIO << endl;
inp del ifstream (NOME DI SCHEDARIO, ifstream:: in);
se (! inp.good ())
tiro (“ci era un problema che apre la prenotazione file.");
fermo (messaggio del carbone [])
{
cout << messaggio << endl;
falso di ritorno;
}
mentre (inp.good ())
{
//read le prenotazioni
}
*/
di ritorno allineare;
}
svuotare l'automobile:: cancelReservation (prenotazione * ricerca)
{
per (int i=0; i < reservations.size (); i++)
se (idNumber del == del res->getidNumber ())
reservations.erase (reservations.begin () + i);
}
#endif
// res.h
#ifndef H_RESERVATION
#define H_RESERVATION
#include
#include “car.h„
#include “customer.h„
using il namespace std;
prenotazione del codice categoria
{
riservato:
dateOut del time_t;
dateIn del time_t;
carID di int;
Cliente * custInfo;
reservationNumber di int;
pubblico:
Prenotazione (dOut del time_t, baccano del time_t, _carID di int, cliente * custI);
conflitto di bool (*r) di prenotazione;
getidNumber di int ();
getDateOut del time_t ();
getDateIn del time_t ();
il int getCarReserved ();
getCustInfo di Customer* ();
};
prenotazione di int:: getidNumber ()
{
reservationNumber di ritorno;
}
prenotazione del time_t:: getDateOut ()
{
dateOut di ritorno;
}
prenotazione del time_t:: getDateIn ()
{
dateIn di ritorno;
}
prenotazione di int:: getCarReserved ()
{
carID di ritorno;
}
Prenotazione di Customer*:: getCustInfo ()
{
custInfo di ritorno;
}
prenotazione di bool:: conflitto (*r) di prenotazione
{
se ((r->getDateIn () < dateOut) || (r->getDateOut () > dateIn))
falso di ritorno;
di ritorno allineare;
}
Prenotazione:: Prenotazione (dOut del time_t, baccano del time_t, _carID di int, cliente * custI)
{
dateOut = dOut;
dateIn = baccano;
carID = _carID;
custInfo = custI;
}
#endif
|