Hotel Reservation System Team B: Christiaan Ypma Martijn Nijenhof Oscar de Groot Tom Hastjarjanto.

Slides:



Advertisements
Similar presentations
Test Taking Strategies
Advertisements

Contest format 5 hours, around 8-12 problems One computer running (likely)Linux, plus printer 3 people on one machine No cell phones, calculators, USB.
1 Chapter Five Selection and Repetition. 2 Objectives How to make decisions using the if statement How to make decisions using the if-else statement How.
Dr. Kalpakis CMSC 661, Principles of Database Systems Representing Data Elements [12]
C++ Programming: From Problem Analysis to Program Design, Third Edition Chapter 7: User-Defined Functions II.
For loops For loops are controlled by a counter variable. for( c =init_value;c
EUAC Conference 2013 – Billund, Denmark Accommodation.
1 Loops. 2 Often we want to execute a block of code multiple times. Something is always different each time through the block. Typically a variable is.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Chapter 4 – C Program Control Outline 4.1Introduction.
COMP106 Assignment 2 – A new interface design Proposal 6.
Switch structure Switch structure selects one from several alternatives depending on the value of the controlling expression. The controlling expression.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 4- 1.
Web of Science: An Introduction Peggy Jobe
Objectives You should be able to describe:
Engineering H192 - Computer Programming The Ohio State University Gateway Engineering Education Coalition Lect 6P. 1Winter Quarter I/O in C Lecture 6.
Chapter 7. 2 Objectives You should be able to describe: The string Class Character Manipulation Methods Exception Handling Input Data Validation Namespaces.
© Copyright 1992–2005 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Tutorial 9 – Income Tax Calculator Application: Introducing.
Assignment #2, 12- month Calendar CS-2301, B-Term Programming Assignment #2 12-Month Calendar CS-2301, System Programming for Non-Majors (Slides.
‘C’ LANGUAGE PRESENTATION.  C language was introduced by Dennis Ritchie..  It is a programming language, which can make a interaction between user and.
Exceptions. Many problems in code are handled when the code is compiled, but not all Some are impossible to catch before the program is run  Must run.
Dataface API Essentials Steve Hannah Web Lite Solutions Corp.
Getting Ready For the PSAT October 12, Tests you’ll be taking this year PSAT is October 12 th from 1 st through 4 th periods. Students will eat.
Visual Basic 2010 How to Program © by Pearson Education, Inc. All Rights Reserved.
Instructor: Tasneem Darwish1 University of Palestine Faculty of Applied Engineering and Urban Planning Software Engineering Department Object Oriented.
Hotel Reservation UI Ales, Christina, Christiaan, Vasilis.
Hotel Reservation Specification Ales, Christina, Christiaan, Vasilis.
Hotel reservation UI Merijn Bellekom Ard Bahlman Vassilis Boucharas Martijn Nijenhof.
Formatting, Casts, Special Operators and Round Off Errors 09/18/13.
Agenda Review C++ Library Functions Review User Input Making your own functions Exam #1 Next Week Reading: Chapter 3.
CMPS 1371 Introduction to Computing for Engineers CONDITIONAL STATEMENTS.
1 Problem Solving We now have enough tools to start solving some problems. For any problem, BEFORE you start writing a program, determine: –What are the.
Lecture 2: Introduction to C Programming. OBJECTIVES In this lecture you will learn:  To use simple input and output statements.  The fundamental data.
Making Decisions (True or False) Relational Operators >greater than =greater than or equal to
Calculations Chapter 11 Library of math functions, and constants cos, sin, tan, abs, min, max, log, random, sqrt, pow, exp Constants.PI,.E Use care with.
1 Example: Solution of Quadratic Equations We want to solve for real values of x, for given values of a, b, and c. The value of x can be determined from.
CMSC 202 Java Console I/O. July 25, Introduction Displaying text to the user and allowing the user to enter text are fundamental operations performed.
CSC Programming I Lecture 6 September 4, 2002.
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved. Chapter 4: Making Decisions.
Chapter Making Decisions 4. Relational Operators 4.1.
Sections © Copyright by Pearson Education, Inc. All Rights Reserved.
Word Processor Specification Team C: Christiaan Ypma Oscar de Groot Vassilis Boucharas.
A First Book of C++: From Here To There, Third Edition2 Objectives You should be able to describe: The while Statement cin within a while Loop The for.
A FIRST BOOK OF C++ CHAPTER 5 REPETITION. OBJECTIVES In this chapter, you will learn about: The while Statement Interactive while Loops The for Statement.
A First Book of C++ Chapter 5 Repetition.
31/01/ Selection If selection construct.
A First Book of C++ Chapter 4 Selection. Objectives In this chapter, you will learn about: –Relational Expressions –The if-else Statement –Nested if Statements.
A FIRST BOOK OF C++ CHAPTER 14 THE STRING CLASS AND EXCEPTION HANDLING.
1 Lecture03: Control Flow 9/24/2012 Slides modified from Yin Lou, Cornell CS2022: Introduction to C.
Merijn Bellekom Christina Manteli Ales Sturala Vassilis Boucharas.
Microsoft Access Prepared by the Academic Faculty Members of IT.
Chapter 2: Fundamental Programming Structures in Java Adapted from MIT AITI Slides Control Structures.
CPS120 Introduction to Computer Science Exam Review Lecture 18.
1 Flow of Control Chapter 5. 2 Objectives You will be able to: Use the Java "if" statement to control flow of control within your program.  Use the Java.
Hotel User Interface Specification Team B Christiaan Ypma Ales Sturala Paul van der Ende.
INVENTORY. 2 Log In Keying in group /hotel code, user name, password and verify code. Then, click‘Login’ to get in homepage.
General Condition Loop A general condition loop just loops while some condition remains true. Note that the body of the loop should (eventually) change.
Winter 2016CISC101 - Prof. McLeod1 CISC101 Reminders Quiz 3 next week. See next slide. Both versions of assignment 3 are posted. Due today.
Hotel reservation system Team A Benjamin Bach Ard Bahlman Paul van der Ende.
Unit 3 Assignment 1 p2 Daniel Russell. How information is managed To begin with all of the hotels systems what deal with customers bookings and all that.
A First Book of C++ Chapter 4 Selection.
Hotel reservation website UI specification Tom Hastjarjanto Christina Manteli Oscar de Groot Benjamin Bach.
CPMGT 300 Week 3 Learning Team Planning Process Groups and Developing the Scope Check this A+ tutorial guideline at
CIS3931 – Intro to JAVA Lecture Note Set 2 17-May-05.
Program: Shape Area Print the area for various shape types using the respective formulas.
Looping III (do … while statement)
More on conditional statements
Hotel Reservation Receipt
Module 3 Selection Structures 6/25/2019 CSE 1321 Module 3.
Presentation transcript:

Hotel Reservation System Team B: Christiaan Ypma Martijn Nijenhof Oscar de Groot Tom Hastjarjanto

Problem statement A hotel has various types of rooms. ◦ Dimensions of variation: price, number of single beds, number of double beds. ◦ A database with a listing of all the rooms of the hotel is supplied. This database includes when the rooms have been booked. People can look for availability on a website for a certain type of room (room price), for a certain time span. The system checks availability and returns a proposition that fits the reservation. If no exact match is found, something similar is proposed with at least the same person capacity.

Simplifying assumptions People don’t want to switch rooms during their stay. Ever. People don’t care whether or not rented rooms are physically close to each other. People always want to rent all their desired rooms for the same nights.

Type definitions Database ◦ The database is a list of records of the following format: ◦ Database := [Room] ◦ Room := (Integer price, Integer singleBeds, Integer doubleBeds, [Night] availableNights)

Type definitions: user input User Input ◦ UserInput := [Room], where the list of nights indicates which nights the user wants to stay.  Note that the user does not necessarily have to enter a number for the price. He could select a certain room type, price class, or anything else that can be converted symmetrically to a price.

Output The output of the system must be either a booking option that exactly matches the user’s request, or a list of alternative options if no exact match is possible. Errable A := Result A | Exception BookingOption := [Room] GetExactMatch :: UserInput  Database  Errable BookingOption GetFuzzyMatch :: UserInput  Database  [BookingOption]

Output exact match  input, db, exactMatch: Result exactMatch = GetExactMatch input db   room  input ( roomAvailable(room, db) )  exactMatch == input  Make sure that no two rooms in the input match the same room in the database.

Output helper function roomAvailable( room, db ):  dbRoom  db ( room.price == dbRoom.price  room.singleBeds == dbRoom.singleBeds  room.doubleBeds == dbRoom.doubleBeds  room.availableNights  dbRoom.availableNights )

Output fuzzy match GetFuzzymatch :: UserInput  Database  [BookingOption]  input, db, fuzzyMatches : fuzzyMatches = GetFuzzyMatch input db   fuzzyMatch  fuzzyMatches (  room  fuzzyMatch ( roomAvailable( room, db ) )  TotalSleepingPlaces fuzzyMatch ≥ TotalSleepingPlaces input   fuzzyRoom  fuzzyMatch, inputRoom  input ( fuzzyRoom.nights == inputRoom.nights ) )  Make sure that no two rooms in the fuzzyMatch match the same room in the database.

Output helper function (2) TotalSleepingPlaces :: [Room]  Int TotalSleepingPlaces returns the total number of sleeping places in the list of rooms (two times the number of total double beds plus the total number of single beds).