Pergunta : Como eu crio uma classe que segure o I/O da lima para um programa da reserva do aluguer de carros?

Basicamente, eu quero adicionar uma classe que segure todo o entrada/saída da lima do programa below. O programa unido é o que nós temos até agora na tentativa de deixar um usuário alugar um carro (se não é já reservado), verific uma reserva e cancelar uma reserva. Ainda está faltando algumas peças mas eu sou estado relacionado com a criação de uma lima nova que segura a classe. E em caso afirmativo, como posso eu ir aproximadamente fazê-la? o

I am um newbie em C++ e a este fórum assim que mim desculpa-se se qualquer coisa soa louco. (Eu igualmente fui acima da codificação por 40 horas dos 48 passados!) Agradece adiantado a qualquer um que toma o momento de ajudar!
class= > " desobstruído " do
> do " codeSnippet " do class= do
class= " lineNumbers " do
class= 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 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
class= do

Resposta : Como eu crio uma classe que segure o I/O da lima para um programa da reserva do aluguer de carros?

Eu tenho um sentimento que você possa precisar de quebrar este tipo pergunta do projeto de projeto e de execução em perguntas múltiplas em uma base como-necessário. Mas, eu tentarei começ o rolamento da esfera com algumas sugestões. Mas caso que sua pergunta está tratando as técnicas da escrita da lima, eu gostaria de você de olhar esta ligação, e ver se as idéias lá lhe dão um começo.
         http://w.e-e.com/SiwPQt

Há uma edição do I/O que você deve estar ciente antes de se transportar sobre a limas. Quando você pede o endereço do cliente, você está usando-se
      cin >> cAddress;
Mas se o endereço tem espaços nele, a seguir este pegara somente a primeira palavra. Você deve ler a seguinte ligação sobre o getline para resolver este problema:
    http://www.cplusplus.com/reference/iostream/istream/getline/


===========================
Mover-se sobre…
>>  o vetor prenderá somente dez carros com todas as variáveis conservadas a uma lima simples de .txt COMPREENDENDO reservas do vetor.

Olha como você estão criando sua própria base de dados. Você pode tomar as seguintes idéias e decidir o que você realmente tem que fazer para sua atribuição. Assim, seguindo alguma da aproximação do projeto do DB, considerar criar não um, mas diversas limas de .txt:

- clientes das lista classificados pela identificação do cliente (um número do one-up)
- lista o inventário do carro classificado pela identificação do carro (um número do one-up)
- lista o status do carro classificado pela identificação do carro (isto é, é no lote; ou se não, incluir a identificação do cliente e quando for devendo retornar)
- reservas das lista using critérios de sorte (provavelmente o car_id com índice secundário da data de início da reserva não é mau)
- história das lista da informação de faturamento

Quando um cliente toma um arrendamento, a entrada da reserva está removida, e as limas do status do faturamento e do carro são atualizados.
===========================

re: sua classe da lima
É você exigido ter uma classe da lima; ou poderia você encaixar operações do I/O em suas classes individuais - carro, cliente, e reserva? Em cada um, você construtor poderia incluir o nome de arquivo correspondente e abrir a lima correspondente.
Outras soluções  
 
programming4us programming4us