class= " lineNumbers " de
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= de
class= " de l'id= " codeSnippet737196 de .cpp
de #include
de #include
#include
#include « car.h »
#include « customer.h »
#include « res.h »
using namespace DST ;
convTime de time_t (jour d'international, mois d'international, année d'international)
{
rawtime de time_t ;
struct TM * timeinfo ;
temps (&rawtime) ;
timeinfo = localtime (&rawtime) ;
timeinfo->tm_year = année - 1900 ;
timeinfo->tm_mon = mois - 1 ;
timeinfo->tm_mday = jour ;
mktime de retour (timeinfo) ;
}
askForTime de time_t ()
{
jour d'international, mois, année ;
le cout << « entrent dans svp tous les champs comme nombres. » << endl ;
cout << « jour : » ;
cin >> jour ;
cout << « mois : » ;
cin >> mois ;
cout << « année : » ;
cin >> année ;
convTime de retour (jour, mois, année) ;
}
createCust de client ()
{
cName de corde, cAddress, cccNumber, cccType, cEmail ;
le cout<< " écrivent svp votre nom et pressent alors entrent. « <> cName ;
le cout<< " introduisent svp votre adresse et pressent alors entrent. « <> cAddress ;
le cout<< " introduisent svp votre nombre par la carte de crédit et pressent alors entrent. « <> cccNumber ;
le cout<< " écrivent svp votre type par la carte de crédit et pressent alors entrent. « <> cccType ;
le cout<< " écrivent svp votre email address et pressent alors entrent. « <> cEmail ;
client de retour (cName, cAddress, cccNumber, cccType, cEmail) ;
}
force d'international (vide)
{
clients de vector ;
Voiture carArray [10] = {
Voiture (1, « de taille moyenne », 50.00, faux),
Voiture (2, « de taille moyenne », 55.00, rectifient),
Voiture (3, « contrat », 40.00, faux),
Voiture (4, « contrat », 45.00, rectifient),
Voiture (5, « normal », 55.00, faux),
Voiture (6, « normal », 60.00, rectifient),
Voiture (7, « monospace », 55.00, faux),
Voiture (8, « monospace », 60.00, rectifient),
Voiture (9, « SUV », 60.00, faux),
Voiture (10, « SUV », 65.00, rectifient),
} ;
choix d'international ;
Client * currentCust ;
le notDone de bool = rectifient ;
le cout << « font svp un choix : » << endl ;
cout << « 1. Je suis un nouveau client. » << endl ;
cout << « 2. Je suis un client existant. » << endl ;
cout << « 1 ou 2 : » ;
cin >> choix ;
si (== de choix 1)
{
customers.push_back (createCust ());
currentCust = &customers [customers.size () - 1] ;
}
autrement si (== de choix 2)
{
cout << « que le client sont vous ? » << endl ;
pour (international i = 0 ; i < customers.size () ; i++)
cout << (i+1) << « . » << clients [I] .getName () << endl ;
cout << « ? » ;
cin >> choix ;
currentCust = &customers [choix] ;
}
tandis que (notDone) {
cout << endl << endl;
le cout << « font svp un choix : » << endl ;
cout << « 1. Faire une réservation » << endl ;
le cout << « 2. regardent le programme de réservation » << endl ;
cout << « sortie 3. » << endl ;
cout << « ? » ;
cin >> choix ;
si (== de choix 1)
{
le cout << « écrivent svp la mise à jour de sélection. » << endl ;
outD = askForTime de time_t () ;
le cout << « écrivent svp la date de retour. » << endl ;
time_t Ind = askForTime () ;
cout << « Numéro d'identité svp entré (1-10) voiture : » ;
idNum d'international ;
cin >> idNum ;
Réservation r = réservation (outD, Ind, idNum, currentCust) ;
le cout << « votre réservation a été confirmé. » ;
}
autrement si (== de choix 3)
notDone = faux ;
}
retour 0 ;
}
// customer.h
#ifndef H_CUSTOMER
#define H_CUSTOMER
#include
using namespace DST ;
client de classe
{
public :
const vide d'impression () ;
getName de corde () ;
getAddress de corde () ;
getccNumber de corde () ;
getccType de corde () ;
getEmail de corde () ;
Client (_name de corde, _address de corde, _ccNumber de corde, _ccType de corde, _email de corde) ;
privé :
nom de corde ;
adresse de corde ;
ccNumber de corde ;
ccType de corde ;
email de corde ;
} ;
client vide : : const d'impression ()
{
< de #include
de #include
de #include
#include « res.h »
using namespace DST ;
voiture de classe
{
privé :
idNumber d'international ;
la corde cSize ;
double pricePerDay ;
tabagisme de bool ;
réservations de vector ;
public :
Voiture (réseau numérique intégré d'international, corde s, double p, SM de bool) ;
makeReservation de bool (*res de réservation) ;
cancelReservation vide (*res de réservation) ;
} ;
Voiture : : Voiture (réseau numérique intégré d'international, corde s, double p, SM de bool)
{
idNumber = réseau numérique intégré ;
cSize = s ;
pricePerDay = p ;
tabagisme = SM ;
}
/*
En attendant :
voiture de vector : : réservations ;
réservation de bool : : conflit () ;
*
voiture de bool : : makeReservation (*res de réservation)
{
pour (international i=0 ; i < reservations.size () ; i++)
{
si (réservations [I] .conflict (recherche)) le conflit de // renvoie vrai si les dates sont en conflit. PAS ENCORE ÉCRIT
jet de // (« le conflit de dates de réservation avec encore reservation.") ;
crochet de // (message de char [])
{
le cout << « les dates de réservation sont en conflit avec une autre réservation. » << endl ;
faux de retour ;
}
}
//now que nous connaissons que la date n'est pas en conflit. juste le besoin de l'ajouter
reservations.push_back (*res) ;
/*
mise à jour de //now le dossier de réservation
cout << « essayant de s'ouvrir » << NOM DE FICHIER << endl ;
INP d'ifstream (NOM DE FICHIER, ifstream : : dans) ;
si (! inp.good ())
jet (« il y avait un problème ouvrant la réservation file.") ;
crochet (message de char [])
{
cout << message << endl ;
faux de retour ;
}
tandis que (inp.good ())
{
//read les réservations
}
*
de retour rectifier ;
}
vider la voiture : : cancelReservation (réservation * recherche)
{
pour (international i=0 ; i < reservations.size () ; i++)
s'idNumber de == (de 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 DST ;
réservation de classe
{
privé :
dateOut de time_t ;
dateIn de time_t ;
carID d'international ;
Client * custInfo ;
reservationNumber d'international ;
public :
Réservation (dOut de time_t, vacarme de time_t, _carID d'international, client * custI) ;
conflit de bool (*r) de réservation ;
getidNumber d'international () ;
getDateOut de time_t () ;
getDateIn de time_t () ;
l'international getCarReserved () ;
getCustInfo de Customer* () ;
} ;
réservation d'international : : getidNumber ()
{
reservationNumber de retour ;
}
réservation de time_t : : getDateOut ()
{
dateOut de retour ;
}
réservation de time_t : : getDateIn ()
{
dateIn de retour ;
}
réservation d'international : : getCarReserved ()
{
carID de retour ;
}
Réservation de Customer* : : getCustInfo ()
{
custInfo de retour ;
}
réservation de bool : : conflit (*r) de réservation
{
si ((r->getDateIn () < dateOut) || (r->getDateOut () > dateIn))
faux de retour ;
de retour rectifier ;
}
Réservation : : Réservation (dOut de time_t, vacarme de time_t, _carID d'international, client * custI)
{
dateOut = dOut ;
dateIn = vacarme ;
carID = _carID ;
custInfo = custI ;
}
#endif
|