J'écris un programme de réservation simple pour une location de voiture (une tâche d'école). Mon copain et moi essayons de faire en sorte que le système soit un peu plus avancé que ce que la mission l'exige, mais nous avons des problèmes avec lesquels nous espérions que vous pourriez nous aider. L'idée est que vous pouvez réserver un certain type de voiture, et quand vous obtenez la voiture, elle sera de ce type (vous ne réservez pas une voiture spécifique, comme notre mission l'exige, mais seulement un type). Un seul client peut avoir la voiture à une date précise. Comme les réserves coïncident, nous devons nous assurer que nous ne louons pas plus de voitures de chaque type que nous avons. Les réservations sont essentiellement stockées avec une date de début, une date de fin et un type de voiture.Vérification des réservations de voitures qui se chevauchent
Si nous ignorons le type de voiture pour l'instant (laisse dire que nous n'avons un type), alors les réserves pourraient chercher graphiquement quelque chose comme ceci:
1/12 2/12 3/12 4/12 5/12 6/12 7/12
|-------------------|
|-----------------|
|-----|
|-------|
|-----------|
|-------------|
Si la location a seulement trois voitures, il serait possible de louer une voiture du 3/12 au 5/12 car tous les jours seulement 2 réservations de voiture. Mais comment le savons-nous? Devons-nous vérifier chaque date et compter() le nombre de réservations qui s'étendent sur cette date?
Et si quelqu'un avait réservé une voiture sur 4/12, puis 3/12 et 5/12 serait encore seulement avoir 2 réserves, mais 4/12 aurait 3.
Serait-il possible de le faire avec une question comment, ou devons-nous passer par chaque date dans le programme pour vérifier le nombre de réservations n'a pas dépassé le nombre de voitures? (Ceci est assez facile avec seulement des dates complètes, mais considérez le scénario où vous pourriez louer les voitures sur une base horaire (pas seulement sur un quotidien comme ici) .Il pourrait alors être un pour traverser chaque notre si nous avons beaucoup de réservations et de voitures et le temps est long ...)
J'espère que vous avez quelques bonnes idées qui nous aideront. Merci d'avoir pris le temps de lire la question :)
- Mikkel, Danemark
double possible de [déterminer si deux Plage de dates chevauchement] (http://stackoverflow.com/questions/325933/determine-whether-two-date-ranges-overlap) –
Il est considérablement plus complexe que de simplement déterminer si deux plages de dates se chevauchent. –