Questione : Come genero un codice categoria che tratta l'ingresso/uscita della lima per un programma di prenotazione dell'autonoleggio?

Basicamente, voglio aggiungere un codice categoria che tratta tutto l'ingresso/uscita della lima del programma sotto. Il programma allegato è che cosa abbiamo finora nel tentativo di lasciare un utente affittare un'automobile (se non è già riservata), controllare una prenotazione ed annullare una prenotazione. Ancora sta mancando alcune parti ma mi preoccupo della generazione della lima nuova che tratta il codice categoria. Ed in caso affermativo, come posso andare circa farlo? il

I un newbie a C++ ed a questa tribuna in modo da io chiede scusa se qualche cosa suona pazzesco. (Inoltre sono stato sulla codifica per 40 ore dei 48 passati!) Ringrazia in anticipo a chiunque che richieda tempo aiutare!
class= > " libero " del
> " del codeSnippet " del class= del
class= " lineNumbers " del
class= 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 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
class= del

Risposta : Come genero un codice categoria che tratta l'ingresso/uscita della lima per un programma di prenotazione dell'autonoleggio?

Ho una sensibilità di che potete avere bisogno per rompere questo tipo domanda di progetto di disegno e di esecuzione nelle domande multiple su una base come-necessaria. Ma, proverò ad ottenere il rotolamento della sfera con alcuni suggerimenti. Ma nel caso la vostra domanda stia occupandosi delle tecniche di scrittura della lima, lo vorrei dare un'occhiata a questo collegamento e vedo se le idee là gli dessero un inizio.
         http://w.e-e.com/SiwPQt

Ci è un'edizione dell'ingresso/uscita che dovreste essere informato prima di passare verso le lime. Quando chiedete l'indirizzo del cliente, state usando
      cin >> cAddress;
Ma se l'indirizzo ha spazi in esso, quindi questo prende soltanto la prima parola. Dovreste leggere il seguente collegamento circa il getline per risolvere questo problema:
    http://www.cplusplus.com/reference/iostream/istream/getline/


===========================
Passare…
>>  il vettore terrà soltanto dieci automobili con tutte le variabili conservate ad una lima semplice di .txt COMPRESO le prenotazioni di vettore.

Assomiglia voi stanno generando la vostra propria base di dati. Potete prendere le seguenti idee e decidere che cosa realmente dovete fare per la vostra assegnazione. Così, seguendo alcuno del metodo di disegno di db, studiare la possibilità di generare non uno, ma parecchie lime di .txt:

- clienti delle liste fascicolati tramite l'identificazione del cliente (un numero del one-up)
- liste l'inventario dell'automobile fascicolato tramite l'identificazione dell'automobile (un numero del one-up)
- liste la condizione dell'automobile fascicolata tramite l'identificazione dell'automobile (cioè, è nel lotto; o se non, comprendere l'identificazione del cliente e quando è dovuta rinviare)
- prenotazioni delle liste using le chiavi di ordinamento (probabilmente il car_id con l'indice secondario della data di inizio di prenotazione non è difettoso)
- storia delle liste di informazioni di fatturazione

Quando un cliente prende un affitto, l'entrata di prenotazione è rimossa e le lime di condizione dell'automobile e di fatturazione sono aggiornate.
===========================

oggetto: il vostro codice categoria della lima
Siete tenuto ad avere un codice categoria della lima; o potreste includere i funzionamenti dell'ingresso/uscita nei vostri diversi codici categoria - automobile, cliente e prenotazione? In ciascuno, costruttore potreste comprendere il nome di schedario corrispondente ed aprire la lima corrispondente.
Altre soluzioni  
 
programming4us programming4us