SlideShare uma empresa Scribd logo
1 de 4
Baixar para ler offline
COMP-255A Programming Principles II

                                              Fall 2009

                         Lecturer: Dr Constandinos Mavromoustakis
                           Email: mavromoustakis.c@unic.ac.cy

                                      Programming Project
                                             (mandatory)

(Released 7/12/2009)
INSTRUCTIONS:

Answer ALL questions. Submit by email your program and clearly indicate the name of the course
and the section (COMP-255 C++ Language Programming) and your name and student id number.

The examiner will attach great importance to the quality of code. Marks will be deducted for poor
programming style. The program should be commented and indented to aid clarity.

The program must not have any errors after the compilation phase, otherwise a grade zero will be
assigned.

This is an individual project and should represent your own ideas, work and effort. In cases of
plagiarism, a grade zero will be assigned to all parties involved.

SUBMISSION
In addition to your well-decomposed, well-commented solution to the assignment, you should submit
a README containing instructions of how a user can run the program as well as specifying the
number of available logged users that the system can handle. For the submission of the final version
of the project a directory should be created with the NAME of each student and the ID number of
each student in the form of NAME_ID (as Dir). When you are ready to submit, make sure that you
have the above created Dir and the associated class(es) or files with your submission.

HINTS:
Your main program should work as a menu where all the required choices are displayed for the user
to choose from. You should make sure that your program is as robust as possible. That is, it does not
terminate with fatal errors unexpectedly in case of user error. It should validate input where necessary
and       allow        the      user       to       re-enter        the       required      information.
USE ONLY IN YOUR C++ CODE THE STRUCTURES THAT YOU LEARN IN THIS COURSE.
Deadline is 13/01/2010, before the final examination, by email (ONLY).
No projects will be accepted after this deadline.
Simulated sample of the operations performed in an airport system

(Note that you are free to create your own scenario based on the learnt material covered in Programming Principles II)


      You are asked to create a kind of a database which utilizes an airport system located in a certain
International airport. The system will have reservation capabilities for customer’s on-demand
reservation and booking finding abilities. The program will also enable the end-user to select a seat in
the airplane if i.e. there is a placement in a certain flight and thereafter to select the meal and or the
drinks in the flight. The information which is required has to be kept in the database for each
customer/potential customer, and should include the following attributes:
PRIMARY MENU OPTIONS
•    Flight Code and flight Number->flight operator (British Airways, Cy Airways et.c)
•    Name, Surname of the customer or potential customer
•    Address(optional-only required for permanent customers)
•    Kind of membership ->Economy/Silver/Gold
     •   If the customer used previously the flight operator.
•    Flight Code and flight Number details Arrival place and date
     •   Cost price
         •    Special requirements->Use Your Own Scenarios for the creation of the application-
              specific menu


(In order to have more flexibility in the data structures and how all the data is manipulated, you
may use Classes and/or Structs to represent for example Customer/Flight)

         There must be a user interface approach with an initial option selected from the Main
(primary) MENU. The menu must include a “key” by which the user can find at any time a certain
flight and/or customer on a certain flight et.c (whether he/she/it is in the database system or not). The
selection “key” will be the customer’s ID or Flight Code or/and flight Number -or an attribute that
you find it appropriate. You should also use combined attributes for this search. You should create a
database-like structure, with store capabilities of 150 different possible Names, Surnames of the
customers or potential customers. The program has to be able to back up all these attributes
(information) contained in the database by an option selected from the main (primary) MENU. The
created /saved file will be called backup.bak.


         The primary MENU should be able to provide all the required information to the end-user like
the history log of his/her flight activities and history of flight activities took place for that particular

    COMP     Final scenario-based project for Programming Principles/Fall 2009
             Lecturer: Dr. Constandinos X. Mavromoustakis
     255A
flight company. The primary MENU of the program should include functions supporting the tasks of
the MENU that follows. The menu should provide information to an operator who will have to log-in
in order to have access to the following menu:




                                           Airport system Main Menu

          1.           Log-in-> MENU (MENU OPTIONS) /Primary MENU
          2.           Quit




Once the user is logged-in via the system’s MENU, the system should be randomly initialized in order
to place random customers and place them in random flights. During initialization the customer will
be randomly created and randomly set in random flights for random destinations (see notes***).
Thereafter the MENU of the program with the appropriate functions is presented.

A sample and tentative initial menu may look as follows on an initial screen:




                                Airport system Main Menu (use it as a sample)
               1. Show all flights of a certain airline->Insert the Flight Operator
                     of the airline->Arrivals or Departures
               2. Flight Code and flight Number-> Flight Operator (British
                     Airways, Cy Airways et.c)->Insert name of the customer
               3. Show the Boarding form of a certain customer-> Name,
                     Surname or ID, flight Route & other details (i.e. seat number)
               4. Search for a customer->Name, Surname or ID
               5. Search for a flight-> Flight Code and flight Number / time of the flight ->flight
                     Route ->Use Your Own Scenarios for the creation of the application-specific menu
               6. Search for a customer’s history-> Name, Surname or ID
               7. Backup in a File all information**
               8. Log off*




  COMP         Final scenario-based project for Programming Principles/Fall 2009
               Lecturer: Dr. Constandinos X. Mavromoustakis
   255A
** Additional grade-bonus of 3% will be given, if a “name.bak” (name-it) option in the primary MENU option for “Backing-up
    in a File” is supported, where name.bak is a name that an end-user is asked.
  ***For the Random Number Generation you may use the RNG provided by the C++ core std/standard library.



  You should also include a Readme.txt file where you should explain the following:
           How to use the program
           How to use the MENU of your proposed scenario based on the manipulation of the structures
           used (Classes and/or Structs et.c.)
           How the structures used are manipulated
                o The comments in your program if any of them are not clarified in the source code-
                     lines.


Essential Note:
   In your provided code you should use all the conceptual C++ structures which have been acquired by the
   students in the class (i.e Structs and/or Classes including Object Orientation with Objects and Classes
   and class member functions, Data Structures including Structures, arrays of structures, structures as
   function arguments, passing a pointer, returning structures, dynamic data structure allocation, searching
   an array of structures and Files.




    COMP       Final scenario-based project for Programming Principles/Fall 2009
               Lecturer: Dr. Constandinos X. Mavromoustakis
     255A

Mais conteúdo relacionado

Semelhante a Comp 255 Project F2009

Airline reservation system 1
Airline reservation system 1Airline reservation system 1
Airline reservation system 1_faisalkhan
 
Airline Reservation System
Airline Reservation SystemAirline Reservation System
Airline Reservation SystemSahil Talwar
 
JAVA The file being read is called flightdatatxt please in.pdf
JAVA The file being read is called flightdatatxt please in.pdfJAVA The file being read is called flightdatatxt please in.pdf
JAVA The file being read is called flightdatatxt please in.pdfadinathassociates
 
EN3085 Assessed Coursework 1 1. Create a class Complex .docx
EN3085 Assessed Coursework 1  1. Create a class Complex .docxEN3085 Assessed Coursework 1  1. Create a class Complex .docx
EN3085 Assessed Coursework 1 1. Create a class Complex .docxgidmanmary
 
.net programming using asp.net to make web project
 .net programming using asp.net to make web project .net programming using asp.net to make web project
.net programming using asp.net to make web projectKedar Kumar
 
327923326-Ppt-of-Airline-Reservation-System-Project-Report.ppt
327923326-Ppt-of-Airline-Reservation-System-Project-Report.ppt327923326-Ppt-of-Airline-Reservation-System-Project-Report.ppt
327923326-Ppt-of-Airline-Reservation-System-Project-Report.ppt40NehaPagariya
 
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENTFUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENTSneha Padhiar
 
Cobol training class-1
Cobol training class-1Cobol training class-1
Cobol training class-1Anil Polsani
 
Cobol training class-1
Cobol training class-1Cobol training class-1
Cobol training class-1Anil Polsani
 
POS/409 ENTIRE CLASS UOP TUTORIALS
POS/409 ENTIRE CLASS UOP TUTORIALSPOS/409 ENTIRE CLASS UOP TUTORIALS
POS/409 ENTIRE CLASS UOP TUTORIALSSharon Reynolds
 
Airline ticket reservation system
Airline ticket reservation systemAirline ticket reservation system
Airline ticket reservation systemSH Rajøn
 
Overview of C Mrs Sowmya Jyothi
Overview of C Mrs Sowmya JyothiOverview of C Mrs Sowmya Jyothi
Overview of C Mrs Sowmya JyothiSowmya Jyothi
 
IT 145 Project Three Guide Use this step-by-step guide.docx
IT 145 Project Three Guide Use this step-by-step guide.docxIT 145 Project Three Guide Use this step-by-step guide.docx
IT 145 Project Three Guide Use this step-by-step guide.docxvrickens
 
CS8251_QB_answers.pdf
CS8251_QB_answers.pdfCS8251_QB_answers.pdf
CS8251_QB_answers.pdfvino108206
 
Csci 1101 computer science ii assignment 3/tutorialoutlet
Csci 1101 computer science ii assignment 3/tutorialoutletCsci 1101 computer science ii assignment 3/tutorialoutlet
Csci 1101 computer science ii assignment 3/tutorialoutletLeacyz
 

Semelhante a Comp 255 Project F2009 (20)

Presentation of Turbo C++ || Railway Reservation System project || B.Sc. student
Presentation of Turbo C++ || Railway Reservation System project || B.Sc. studentPresentation of Turbo C++ || Railway Reservation System project || B.Sc. student
Presentation of Turbo C++ || Railway Reservation System project || B.Sc. student
 
Airline reservation system 1
Airline reservation system 1Airline reservation system 1
Airline reservation system 1
 
Airline Reservation System
Airline Reservation SystemAirline Reservation System
Airline Reservation System
 
JAVA The file being read is called flightdatatxt please in.pdf
JAVA The file being read is called flightdatatxt please in.pdfJAVA The file being read is called flightdatatxt please in.pdf
JAVA The file being read is called flightdatatxt please in.pdf
 
EN3085 Assessed Coursework 1 1. Create a class Complex .docx
EN3085 Assessed Coursework 1  1. Create a class Complex .docxEN3085 Assessed Coursework 1  1. Create a class Complex .docx
EN3085 Assessed Coursework 1 1. Create a class Complex .docx
 
.net programming using asp.net to make web project
 .net programming using asp.net to make web project .net programming using asp.net to make web project
.net programming using asp.net to make web project
 
327923326-Ppt-of-Airline-Reservation-System-Project-Report.ppt
327923326-Ppt-of-Airline-Reservation-System-Project-Report.ppt327923326-Ppt-of-Airline-Reservation-System-Project-Report.ppt
327923326-Ppt-of-Airline-Reservation-System-Project-Report.ppt
 
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENTFUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
 
Cobol training class-1
Cobol training class-1Cobol training class-1
Cobol training class-1
 
Cobol training class-1
Cobol training class-1Cobol training class-1
Cobol training class-1
 
amar_resume
amar_resumeamar_resume
amar_resume
 
POS/409 ENTIRE CLASS UOP TUTORIALS
POS/409 ENTIRE CLASS UOP TUTORIALSPOS/409 ENTIRE CLASS UOP TUTORIALS
POS/409 ENTIRE CLASS UOP TUTORIALS
 
Oopp Lab Work
Oopp Lab WorkOopp Lab Work
Oopp Lab Work
 
C++ project
C++ projectC++ project
C++ project
 
Airline ticket reservation system
Airline ticket reservation systemAirline ticket reservation system
Airline ticket reservation system
 
Vb introduction.
Vb introduction.Vb introduction.
Vb introduction.
 
Overview of C Mrs Sowmya Jyothi
Overview of C Mrs Sowmya JyothiOverview of C Mrs Sowmya Jyothi
Overview of C Mrs Sowmya Jyothi
 
IT 145 Project Three Guide Use this step-by-step guide.docx
IT 145 Project Three Guide Use this step-by-step guide.docxIT 145 Project Three Guide Use this step-by-step guide.docx
IT 145 Project Three Guide Use this step-by-step guide.docx
 
CS8251_QB_answers.pdf
CS8251_QB_answers.pdfCS8251_QB_answers.pdf
CS8251_QB_answers.pdf
 
Csci 1101 computer science ii assignment 3/tutorialoutlet
Csci 1101 computer science ii assignment 3/tutorialoutletCsci 1101 computer science ii assignment 3/tutorialoutlet
Csci 1101 computer science ii assignment 3/tutorialoutlet
 

Último

Best VIP Call Girls Noida Sector 40 Call Me: 8448380779
Best VIP Call Girls Noida Sector 40 Call Me: 8448380779Best VIP Call Girls Noida Sector 40 Call Me: 8448380779
Best VIP Call Girls Noida Sector 40 Call Me: 8448380779Delhi Call girls
 
A305_A2_file_Batkhuu progress report.pdf
A305_A2_file_Batkhuu progress report.pdfA305_A2_file_Batkhuu progress report.pdf
A305_A2_file_Batkhuu progress report.pdftbatkhuu1
 
Event mailer assignment progress report .pdf
Event mailer assignment progress report .pdfEvent mailer assignment progress report .pdf
Event mailer assignment progress report .pdftbatkhuu1
 
RSA Conference Exhibitor List 2024 - Exhibitors Data
RSA Conference Exhibitor List 2024 - Exhibitors DataRSA Conference Exhibitor List 2024 - Exhibitors Data
RSA Conference Exhibitor List 2024 - Exhibitors DataExhibitors Data
 
Creating Low-Code Loan Applications using the Trisotech Mortgage Feature Set
Creating Low-Code Loan Applications using the Trisotech Mortgage Feature SetCreating Low-Code Loan Applications using the Trisotech Mortgage Feature Set
Creating Low-Code Loan Applications using the Trisotech Mortgage Feature SetDenis Gagné
 
9599632723 Top Call Girls in Delhi at your Door Step Available 24x7 Delhi
9599632723 Top Call Girls in Delhi at your Door Step Available 24x7 Delhi9599632723 Top Call Girls in Delhi at your Door Step Available 24x7 Delhi
9599632723 Top Call Girls in Delhi at your Door Step Available 24x7 DelhiCall Girls in Delhi
 
A DAY IN THE LIFE OF A SALESMAN / WOMAN
A DAY IN THE LIFE OF A  SALESMAN / WOMANA DAY IN THE LIFE OF A  SALESMAN / WOMAN
A DAY IN THE LIFE OF A SALESMAN / WOMANIlamathiKannappan
 
Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...
Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...
Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...lizamodels9
 
Call Girls In Panjim North Goa 9971646499 Genuine Service
Call Girls In Panjim North Goa 9971646499 Genuine ServiceCall Girls In Panjim North Goa 9971646499 Genuine Service
Call Girls In Panjim North Goa 9971646499 Genuine Serviceritikaroy0888
 
Insurers' journeys to build a mastery in the IoT usage
Insurers' journeys to build a mastery in the IoT usageInsurers' journeys to build a mastery in the IoT usage
Insurers' journeys to build a mastery in the IoT usageMatteo Carbone
 
VIP Call Girls Gandi Maisamma ( Hyderabad ) Phone 8250192130 | ₹5k To 25k Wit...
VIP Call Girls Gandi Maisamma ( Hyderabad ) Phone 8250192130 | ₹5k To 25k Wit...VIP Call Girls Gandi Maisamma ( Hyderabad ) Phone 8250192130 | ₹5k To 25k Wit...
VIP Call Girls Gandi Maisamma ( Hyderabad ) Phone 8250192130 | ₹5k To 25k Wit...Suhani Kapoor
 
Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...
Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...
Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...Dipal Arora
 
0183760ssssssssssssssssssssssssssss00101011 (27).pdf
0183760ssssssssssssssssssssssssssss00101011 (27).pdf0183760ssssssssssssssssssssssssssss00101011 (27).pdf
0183760ssssssssssssssssssssssssssss00101011 (27).pdfRenandantas16
 
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...amitlee9823
 
Unlocking the Secrets of Affiliate Marketing.pdf
Unlocking the Secrets of Affiliate Marketing.pdfUnlocking the Secrets of Affiliate Marketing.pdf
Unlocking the Secrets of Affiliate Marketing.pdfOnline Income Engine
 
Monthly Social Media Update April 2024 pptx.pptx
Monthly Social Media Update April 2024 pptx.pptxMonthly Social Media Update April 2024 pptx.pptx
Monthly Social Media Update April 2024 pptx.pptxAndy Lambert
 
Mondelez State of Snacking and Future Trends 2023
Mondelez State of Snacking and Future Trends 2023Mondelez State of Snacking and Future Trends 2023
Mondelez State of Snacking and Future Trends 2023Neil Kimberley
 
7.pdf This presentation captures many uses and the significance of the number...
7.pdf This presentation captures many uses and the significance of the number...7.pdf This presentation captures many uses and the significance of the number...
7.pdf This presentation captures many uses and the significance of the number...Paul Menig
 
Ensure the security of your HCL environment by applying the Zero Trust princi...
Ensure the security of your HCL environment by applying the Zero Trust princi...Ensure the security of your HCL environment by applying the Zero Trust princi...
Ensure the security of your HCL environment by applying the Zero Trust princi...Roland Driesen
 

Último (20)

VVVIP Call Girls In Greater Kailash ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
VVVIP Call Girls In Greater Kailash ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...VVVIP Call Girls In Greater Kailash ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
VVVIP Call Girls In Greater Kailash ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
 
Best VIP Call Girls Noida Sector 40 Call Me: 8448380779
Best VIP Call Girls Noida Sector 40 Call Me: 8448380779Best VIP Call Girls Noida Sector 40 Call Me: 8448380779
Best VIP Call Girls Noida Sector 40 Call Me: 8448380779
 
A305_A2_file_Batkhuu progress report.pdf
A305_A2_file_Batkhuu progress report.pdfA305_A2_file_Batkhuu progress report.pdf
A305_A2_file_Batkhuu progress report.pdf
 
Event mailer assignment progress report .pdf
Event mailer assignment progress report .pdfEvent mailer assignment progress report .pdf
Event mailer assignment progress report .pdf
 
RSA Conference Exhibitor List 2024 - Exhibitors Data
RSA Conference Exhibitor List 2024 - Exhibitors DataRSA Conference Exhibitor List 2024 - Exhibitors Data
RSA Conference Exhibitor List 2024 - Exhibitors Data
 
Creating Low-Code Loan Applications using the Trisotech Mortgage Feature Set
Creating Low-Code Loan Applications using the Trisotech Mortgage Feature SetCreating Low-Code Loan Applications using the Trisotech Mortgage Feature Set
Creating Low-Code Loan Applications using the Trisotech Mortgage Feature Set
 
9599632723 Top Call Girls in Delhi at your Door Step Available 24x7 Delhi
9599632723 Top Call Girls in Delhi at your Door Step Available 24x7 Delhi9599632723 Top Call Girls in Delhi at your Door Step Available 24x7 Delhi
9599632723 Top Call Girls in Delhi at your Door Step Available 24x7 Delhi
 
A DAY IN THE LIFE OF A SALESMAN / WOMAN
A DAY IN THE LIFE OF A  SALESMAN / WOMANA DAY IN THE LIFE OF A  SALESMAN / WOMAN
A DAY IN THE LIFE OF A SALESMAN / WOMAN
 
Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...
Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...
Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...
 
Call Girls In Panjim North Goa 9971646499 Genuine Service
Call Girls In Panjim North Goa 9971646499 Genuine ServiceCall Girls In Panjim North Goa 9971646499 Genuine Service
Call Girls In Panjim North Goa 9971646499 Genuine Service
 
Insurers' journeys to build a mastery in the IoT usage
Insurers' journeys to build a mastery in the IoT usageInsurers' journeys to build a mastery in the IoT usage
Insurers' journeys to build a mastery in the IoT usage
 
VIP Call Girls Gandi Maisamma ( Hyderabad ) Phone 8250192130 | ₹5k To 25k Wit...
VIP Call Girls Gandi Maisamma ( Hyderabad ) Phone 8250192130 | ₹5k To 25k Wit...VIP Call Girls Gandi Maisamma ( Hyderabad ) Phone 8250192130 | ₹5k To 25k Wit...
VIP Call Girls Gandi Maisamma ( Hyderabad ) Phone 8250192130 | ₹5k To 25k Wit...
 
Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...
Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...
Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...
 
0183760ssssssssssssssssssssssssssss00101011 (27).pdf
0183760ssssssssssssssssssssssssssss00101011 (27).pdf0183760ssssssssssssssssssssssssssss00101011 (27).pdf
0183760ssssssssssssssssssssssssssss00101011 (27).pdf
 
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
Call Girls Jp Nagar Just Call 👗 7737669865 👗 Top Class Call Girl Service Bang...
 
Unlocking the Secrets of Affiliate Marketing.pdf
Unlocking the Secrets of Affiliate Marketing.pdfUnlocking the Secrets of Affiliate Marketing.pdf
Unlocking the Secrets of Affiliate Marketing.pdf
 
Monthly Social Media Update April 2024 pptx.pptx
Monthly Social Media Update April 2024 pptx.pptxMonthly Social Media Update April 2024 pptx.pptx
Monthly Social Media Update April 2024 pptx.pptx
 
Mondelez State of Snacking and Future Trends 2023
Mondelez State of Snacking and Future Trends 2023Mondelez State of Snacking and Future Trends 2023
Mondelez State of Snacking and Future Trends 2023
 
7.pdf This presentation captures many uses and the significance of the number...
7.pdf This presentation captures many uses and the significance of the number...7.pdf This presentation captures many uses and the significance of the number...
7.pdf This presentation captures many uses and the significance of the number...
 
Ensure the security of your HCL environment by applying the Zero Trust princi...
Ensure the security of your HCL environment by applying the Zero Trust princi...Ensure the security of your HCL environment by applying the Zero Trust princi...
Ensure the security of your HCL environment by applying the Zero Trust princi...
 

Comp 255 Project F2009

  • 1. COMP-255A Programming Principles II Fall 2009 Lecturer: Dr Constandinos Mavromoustakis Email: mavromoustakis.c@unic.ac.cy Programming Project (mandatory) (Released 7/12/2009) INSTRUCTIONS: Answer ALL questions. Submit by email your program and clearly indicate the name of the course and the section (COMP-255 C++ Language Programming) and your name and student id number. The examiner will attach great importance to the quality of code. Marks will be deducted for poor programming style. The program should be commented and indented to aid clarity. The program must not have any errors after the compilation phase, otherwise a grade zero will be assigned. This is an individual project and should represent your own ideas, work and effort. In cases of plagiarism, a grade zero will be assigned to all parties involved. SUBMISSION In addition to your well-decomposed, well-commented solution to the assignment, you should submit a README containing instructions of how a user can run the program as well as specifying the number of available logged users that the system can handle. For the submission of the final version of the project a directory should be created with the NAME of each student and the ID number of each student in the form of NAME_ID (as Dir). When you are ready to submit, make sure that you have the above created Dir and the associated class(es) or files with your submission. HINTS: Your main program should work as a menu where all the required choices are displayed for the user to choose from. You should make sure that your program is as robust as possible. That is, it does not terminate with fatal errors unexpectedly in case of user error. It should validate input where necessary and allow the user to re-enter the required information. USE ONLY IN YOUR C++ CODE THE STRUCTURES THAT YOU LEARN IN THIS COURSE. Deadline is 13/01/2010, before the final examination, by email (ONLY). No projects will be accepted after this deadline.
  • 2. Simulated sample of the operations performed in an airport system (Note that you are free to create your own scenario based on the learnt material covered in Programming Principles II) You are asked to create a kind of a database which utilizes an airport system located in a certain International airport. The system will have reservation capabilities for customer’s on-demand reservation and booking finding abilities. The program will also enable the end-user to select a seat in the airplane if i.e. there is a placement in a certain flight and thereafter to select the meal and or the drinks in the flight. The information which is required has to be kept in the database for each customer/potential customer, and should include the following attributes: PRIMARY MENU OPTIONS • Flight Code and flight Number->flight operator (British Airways, Cy Airways et.c) • Name, Surname of the customer or potential customer • Address(optional-only required for permanent customers) • Kind of membership ->Economy/Silver/Gold • If the customer used previously the flight operator. • Flight Code and flight Number details Arrival place and date • Cost price • Special requirements->Use Your Own Scenarios for the creation of the application- specific menu (In order to have more flexibility in the data structures and how all the data is manipulated, you may use Classes and/or Structs to represent for example Customer/Flight) There must be a user interface approach with an initial option selected from the Main (primary) MENU. The menu must include a “key” by which the user can find at any time a certain flight and/or customer on a certain flight et.c (whether he/she/it is in the database system or not). The selection “key” will be the customer’s ID or Flight Code or/and flight Number -or an attribute that you find it appropriate. You should also use combined attributes for this search. You should create a database-like structure, with store capabilities of 150 different possible Names, Surnames of the customers or potential customers. The program has to be able to back up all these attributes (information) contained in the database by an option selected from the main (primary) MENU. The created /saved file will be called backup.bak. The primary MENU should be able to provide all the required information to the end-user like the history log of his/her flight activities and history of flight activities took place for that particular COMP Final scenario-based project for Programming Principles/Fall 2009 Lecturer: Dr. Constandinos X. Mavromoustakis 255A
  • 3. flight company. The primary MENU of the program should include functions supporting the tasks of the MENU that follows. The menu should provide information to an operator who will have to log-in in order to have access to the following menu: Airport system Main Menu 1. Log-in-> MENU (MENU OPTIONS) /Primary MENU 2. Quit Once the user is logged-in via the system’s MENU, the system should be randomly initialized in order to place random customers and place them in random flights. During initialization the customer will be randomly created and randomly set in random flights for random destinations (see notes***). Thereafter the MENU of the program with the appropriate functions is presented. A sample and tentative initial menu may look as follows on an initial screen: Airport system Main Menu (use it as a sample) 1. Show all flights of a certain airline->Insert the Flight Operator of the airline->Arrivals or Departures 2. Flight Code and flight Number-> Flight Operator (British Airways, Cy Airways et.c)->Insert name of the customer 3. Show the Boarding form of a certain customer-> Name, Surname or ID, flight Route & other details (i.e. seat number) 4. Search for a customer->Name, Surname or ID 5. Search for a flight-> Flight Code and flight Number / time of the flight ->flight Route ->Use Your Own Scenarios for the creation of the application-specific menu 6. Search for a customer’s history-> Name, Surname or ID 7. Backup in a File all information** 8. Log off* COMP Final scenario-based project for Programming Principles/Fall 2009 Lecturer: Dr. Constandinos X. Mavromoustakis 255A
  • 4. ** Additional grade-bonus of 3% will be given, if a “name.bak” (name-it) option in the primary MENU option for “Backing-up in a File” is supported, where name.bak is a name that an end-user is asked. ***For the Random Number Generation you may use the RNG provided by the C++ core std/standard library. You should also include a Readme.txt file where you should explain the following: How to use the program How to use the MENU of your proposed scenario based on the manipulation of the structures used (Classes and/or Structs et.c.) How the structures used are manipulated o The comments in your program if any of them are not clarified in the source code- lines. Essential Note: In your provided code you should use all the conceptual C++ structures which have been acquired by the students in the class (i.e Structs and/or Classes including Object Orientation with Objects and Classes and class member functions, Data Structures including Structures, arrays of structures, structures as function arguments, passing a pointer, returning structures, dynamic data structure allocation, searching an array of structures and Files. COMP Final scenario-based project for Programming Principles/Fall 2009 Lecturer: Dr. Constandinos X. Mavromoustakis 255A