Due: 16 Sep 2005
Educational objectives: Review C++ material that you have learned, such as implementing classes, using templates, I/O, etc. Use of STL classes and algorithms. Use of makefiles. Use of a debugger. Use of optimization flags with gcc
. Note: This project is primarily a "warm-up" exercise, to review material you learned in your C++ course. The remaining projects in this course will be significantly harder!
Statement of work: Develop a software that uses the STL (linked) list
class to implement a simple airline reservation system, as described below. You may use any classes or algorithms provided by the STL.
Deliverables: Turn in a makefile
and
all header (*.h) and cpp (*.cpp) files that are needed to build your
software. Turn in your development log too, which should be a plain ASCII text file called LOG.txt
in your project directory. You will submit all of these using the project1submit.sh
script.
Requirements:
proj1
.makefile
in this directory. In addition, all the
header and cpp files needed to build your software must be present here, as well as the LOG.txt
file.FirstName space [middle initials, if applicable, with a period after each initial] space LastName
.The user will enter Phone number as a sequence of digits, with possibly, spaces, hyphens, and parentheses. All these, except the digits, should be ignored. That is, the number 850-644-1234
is equivalent to the number (850) 644 1234
. The user will enter the flight number as a sequence of alphanumeric characters, without whitespace between them. The user will enter the travel date in one of the following forms: mmddyyyy
or mmddyy
. All
user input can be considered to be syntactically correct. The user is provided the ability to perform the operations given below.
Filename
(which contains a flight number followed by the number of seats, on each line), and then repeats the following:new flight <flight-number> <seats>
quit
add
(<name>, <phone-number>, <flight-number>, <date>)
delete <name> from <flight-number> on <date>
is
<name> in <flight-number> on <date>?
lookup
<name>
display
<flight-number> on <date>
Sample file and executable: A sample executable is available at proj1, which will run on linprog
. It runs correctly for the sample input file FLIGHTS, with the sample commands given in input1. The first person to find errors in our program will get a bonus point!
Bonus points (5):
You may get up to 5 additional points for significant extra work, such as implementing more features, or providing a GUI interface. Please obtain feedback from us prior to doing this. If you wish to get bonus points, then please submit your work as usual, but send an email to the TA. The TA will schedule a meeting with you, and you can demonstrate the special features of your software then.