首页 > 编程语言 >SEHH2042 计算机编程飞机调度管理系统

SEHH2042 计算机编程飞机调度管理系统

时间:2023-11-22 19:33:21浏览次数:33  
标签:flight 管理系统 23 编程 SEHH2042 system should user Flight

在一个或多个高级语言编程环境中开发计算机程序;设计和开发结构化和文档化的计算机程序;解释面向对象编程的基本原理并将其应用于计算机程序发展 结合计算机编程技术解决实际问题。介绍在本任务中,您将开发一个“飞行时间表管理系统”,该系统运行在命令行环境。系统存储到达和离开的时间表和状态 狮子山城的航班。该系统的用户将是机场工作人员,他们可以进行更改并搜索关于航班时间表和状态的信息。任务每个组都需要编写一个名为FSMS.cpp的Win32控制台应用程序。要求每位学生提交一段视频(最长2分钟)进行演示他/她在团体项目中的个人贡献。每个学生都需要提交一份点对点评估表(在线或通过Word文件)


SEHH2042/SEHS2042 23-24 Semester One – Group Project 1
SEHH2042/SEHS2042 Computer Programming
Group Project – Flight Schedule Management System
(Due: 23:59, 2 Dec 2023, Saturday)
Expected Learning Outcomes
develop computer programs in one or more high level language programming environment;
design and develop structured and documented computer programs;
explain the fundamentals of object-oriented programming and apply it in computer program
development;
integrate the computer programming techniques to solve practical problems.
Introduction
In this assignment, you are going to develop a “Flight Schedule Management System” that runs in
the command line environment. The system stores the schedule and status of arrival and departing
flights of Lion Rock City. Users of the system will be airport personnel, who can make changes
and search for information about the flight schedule and status.
Tasks
Each group is required to write a Win32 Console Application program called FSMS.cpp.
Each student is required to submit a video recording (at most 2-minute long) to demonstrate
his/her individual contribution in the group project.
Each student is required to submit a Peer-to-Peer evaluation form (online or through the given
Word file) via Blackboard.
Program Requirements
R0 When the program starts, the console should display a welcome message, followed by the
Main Menu of the program. Users can enter the options of the corresponding actions (see
R1 to R6 below).
Welcome Message designed by your group
*** Main Menu ***
[1] Load Starting Data
[2] Edit Airline
[3] Show Schedule
[4] Search Flight
[5] Edit Flight
SEHH2042/SEHS2042 23-24 Semester One – Group Project 2
[6] Credits and Exit
*****************
Option (1 - 6):
R1 [1] Load Starting Data
When the user inputs 1 in the Main Menu, the system is loaded with starting data. The
starting data includes records of (1) airline, and (2) flight information as shown in R1.1
below. After the starting data is loaded, the system returns to the Main Menu.
R1.1 The starting data to be loaded, together with the required data format of the data fields, are
described below.
Airline records

Flight Code Prefix Airline Name
BA British Airways
CX Cathay Pacific
HX Hong Kong Airlines
JL Japan Airlines
UO Hong Kong Express
Data format of each field:
 Flight Code Prefix: A string with two letters
 Airline Name: A string that may contain white space (assume at most 100 characters
long)
Flight information records

Flight Code Date Time Origin/
Destination
Status Direction
CX251 12/09/23 12:15 SYD On Time Arrival
BA732 20/11/23 06:55 LHR On Time Arrival
JL114 12/10/23 14:45 NRT Delayed Arrival
UO711 15/12/23 09:00 ICN On Time Arrival
CX651 30/09/23 15:55 KHH Cancelled Arrival
HX892 01/11/23 18:00 BKK Delayed Departing
UO417 15/12/23 15:55 SIN On Time Departing
BA337 22/10/23 23:50 MAN On Time Departing
CX657 09/11/23 21:00 NYC Delayed Departing
JL228 15/10/23 19:00 CTS Cancelled Departing
SEHH2042/SEHS2042 23-24 Semester One – Group Project 3
Data format of each field:
Flight Code: A string which starts with two letters (the existing flight code prefix),
followed by three digits
Date: The date of arrival or departure of the flight, taking the format “DD/MM/YY”
Time: The time of arrival or departure of the flight, taking a 24-hour format “hh:mm”
Origin/ Destination: The origin (or destination) airport of the arrival (or departing) fight
in the form of a 3-character airport code
Status: Status of the flight, which can be “On Time”, “Delayed”, “Cancelled”
Direction: A field that indicates whether the flight is arriving or departing Lion Rock
City
R1.2 Options 2 to 5 in the Main Menu are enabled only after the system is loaded with the
starting data. If the user enters options 2 to 5 before starting data is loaded, an error message
should be shown, and then the system returns to the Main Menu.
R2 [2] Edit Airline
[After the starting data is loaded] When the user inputs 2 in the Main Menu, the system
displays all the fields of all airline records in the form of a table. The user then can choose
to (1) add a new airline, (2) edit an existing airline, or (3) delete an existing airline. After
the editing, the updated airline table (for successful editing operations) or result of the
editing operation (for unsuccessful editing operations) should be shown. The system then
returns to the Main Menu.
R2.1 Your program needs to check against invalid operations on airline editing. In particular:
The flight code prefix should be in correct format, and it should be unique in the system.
Adding a new airline with an existing flight code prefix, or one with incorrect format
should result in an error (unsuccessful editing operation).
The user inputs the flight code prefix to choose the airline to edit. Only the airline name
can be changed for an existing airline record.
The user inputs the flight code prefix to choose the airline to delete. An airline can be
deleted only if there is no flight associated with it from the flight information.
During airline edit or delete, a wrong flight code prefix input results in an error
(unsuccessful editing operation).
R3 [3] Show Schedule
[After the starting data is loaded] When the user inputs 3 in the Main Menu, the system
prompts for the next input from user to choose displaying either the flight arrival schedule
SEHH2042/SEHS2042 23-24 Semester One – Group Project 4
or the flight departure schedule. After getting the user’s selection, the flight schedule
should be displayed neatly in a table format. The following fields should be included in the
display: Flight Code, Date, Time, Origin/ Destination and Status. Flight records should be
displayed in sorted order, from earliest to latest. After the schedule is shown, the system
returns to the Main Menu.
R4 [4] Search Flight
[After the starting data is loaded] When the user inputs 4 in the Main Menu, the Search
Flight Menu should be displayed, and the user can enter the options of the corresponding
actions (see R4.1 to R4.3 below).
***** Search Flight Menu *****
[1] Search Flight by Flight Code
[2] Search Flight by Origin/ Destination
[3] Search Upcoming Flights
[4] Return to Main Menu
**************************
Option (1 - 4):
R4.1 [1] Search Flight by Flight Code
When such option is chosen, the system prompts for the flight code input by the user. All
flight records that match the input flight code (anytime, for both directions) will be
displayed. See R4.6 for the flight records display requirement.
R4.2 [2] Search Flight by Origin/ Destination
When such option is chosen, the system prompts for the airport code input by the user. All
flight records that match the input airport code (anytime, for both directions) will be
displayed. See R4.6 for the flight records display requirement.
R4.3 [3] Search Upcoming Flights
When such option is chosen, the system displays all flight records that are scheduled after
the current date (the date when the program is executed). See R4.6 for the flight records
display requirement.
R4.4 [4] Return to Main Menu
When such option is chosen, the system returns to the Main Menu.
SEHH2042/SEHS2042 23-24 Semester One – Group Project 5
R4.5 Stay at the Search Flight Menu
Following R4.1, R4.2 and R4.3, after the information is displayed or error messages for
wrong input, the system should return to the Search Flight Menu.
R4.6 Flight Records Display Requirement
The flight records retrieved under [4] Search Flight should be displayed in sorted order,
from earliest to latest. The display should contain ALL fields from the flight information.
R5 [5] Edit Flight
[After the starting data is loaded] When the user inputs 5 in the Main Menu, he/she then
can choose to (1) add a new flight, (2) edit an existing flight, (3) delete an existing flight,
or (4) delete all cancelled flights. After the editing, result of the editing operation (changes
made for successful editing, or error messages for unsuccessful editing) should be shown.
The system then returns to the Main Menu.
R5.1 Your program needs to check against invalid operations on flight editing.
Add a new flight record
All fields for a flight record should be input, and in correct format.
The system should not be added with duplicate flight records, i.e., records with same
flight code, same date and same time.
You can assume the system does not store more than 100 flight records.
Any wrong inputs should result in an unsuccessful operation, and no update to the
system data should be carried out.
Edit or delete an existing flight record
The user inputs the flight code to select a record to edit or delete. If there are more than
one records with the same flight code, the user is further prompted to choose which
record to edit or delete by using a numeric input.
For editing, only the flight status can be changed for an existing flight record.
Any wrong flight code inputs should result in an unsuccessful operation, and no update
to the system data should be carried out.
Delete all cancelled flights
The system prompts for user’s “Yes/No” confirmation. If the user inputs ‘y’ or ‘Y’, all
flight records with the “Cancelled” status should be removed from the system. If the
user inputs ‘n’ or ‘N’, no update to the system data should be carried out.
SEHH2042/SEHS2042 23-24 Semester One – Group Project 6
R6 [6] Credits and Exit
When the user inputs this option, the system prompts for user’s confirmation. If the user
inputs ‘n’ or ‘N’, the system returns to the Main Menu. If the user inputs ‘y’ or ‘Y’, the
system displays the personal particulars (student name, student ID, tutorial group) of the
group members and terminates. Other input is not acceptable and the system should ask
the user to confirm again.
R7 Suitable checking on user’s input is expected, except in situations with assumptions stated
in the requirements above. Appropriate error messages should be printed whenever
unexpected situation happens, e.g., input value out of range, incorrect time format, etc.
R8 The use of functions (in addition to main function) and classes (i.e., OOP design) are
expected in your program. Appropriate comments should be added in your source code file.
R9 Creativity and Critical Thinking: Use suitable format to present all required information of
airline and flight schedule clearly and neatly. Additional features can be added.
Tips
1. To handle unexpected input error (e.g. input a character to an integer variable), you may use
the following code appropriately in your program:
cin.ignore(); // Discard the content in the input sequence.
cin.clear(); // Reset the input error status to no error.
2. To write codes about getting current date and comparing two dates, try to study further about
the time(), mktime(), localtime() functions and the usage of “struct tm” structure
under <ctime>.
Video Requirements
This is an individual task under this group project. Each student needs to create a video recording
which records either (1) your explanation on the working algorithms of the codes that you designed
and wrote, or (2) the testing of project codes (those you wrote or the whole group’s work) using
test case scenarios. See points below for the specific requirements of the video recording:
 Duration of video is at maximum 2 minutes long. Use MS Teams to record.
 The video recording is used to demonstrate your contribution in the group project. If your work
done is too much to be all included in the 2-minute video, choose the most important/
representative work to record and explain.
SEHH2042/SEHS2042 23-24 Semester One – Group Project 7
 At the beginning, introduce the objective of your video: whether you are going to (1) explain
the working algorithms of your codes, or (2) run and test your project codes.
 The video should include your voice recording (in English) as you give the presentation (either
code explanation or the code testing). Your voice should be clear and loud enough.
 The video should show the computer screen as you give the presentation.
 The video should keep showing your English name, Student ID and lecture group on the screen
(text information) for identity verification. It is optional to show your face in the recording.
 Show the whole screen, not just part of the screen. While showing the source codes or codetesting results, make sure the text is clearly shown, large enough and visible.
Submission
Source File: Each group submits one source code file (i.e., FSMS.cpp).
Video Recording: Each student submits the shared video link via Blackboard, through which your
video recording can be viewed by your subject lecturer successfully.
[IMPORTANT: Remember to set up the access right correctly for the shared link.]
Peer-to-peer Evaluation: Each student fills in the peer-to-peer evaluation form via Blackboard.
All submission should be done through Blackboard by 23:59, 2 Dec 2023. Late submission is
subject to 20% deduction in your final marks for each day (including public holidays and Sundays).
No late submission is allowed 4 days after the due date.
Components Weighting
1. Program (FSMS.cpp) 80% (Group & Individual)*
2. Video Recording 20% (Individual)
Total 100%
* Marks for (1) Program is determined by the group-based marks (80%) and percentage of
individual contribution (20%), where the percentage of individual contribution is directly
proportion to the average marks given by group members in the peer-to-peer evaluation.
Grading Criteria (Program)
Your program will be executed with different test cases in Microsoft Visual Studio. Any deviation
from the requirement is considered as incorrect and no mark is given for that case. Your program
will also be marked based on its user-friendliness and creativity (e.g., information display,
appropriate prompt messages and action result messages if needed).
SEHH2042/SEHS2042 23-24 Semester One – Group Project 8
Aspects Percentage
Program correctness
(Follow ALL instructions, marks deduction on errors found) 70%
Program design
(Appropriate use of functions, use of class, modularity, etc.) 5%
Program standard
(Use of variable names, indentation, line spacing, clarity, comments, etc.) 5%
Algorithm design
(Use of reasonable algorithms and data structures) 5%
User-friendliness
(Clear guidelines to users, messages to users, etc.) 5%
Creativity and critical thinking (Additional useful features) 10%
Total (Group Mark) 100% (max)
Note: the length of your program does not affect the grading of the assignment. However,
appropriate use of loops and functions are expected to avoid too many repeated codes in your
program, which contributes to the program design score of this assignment.
Marks Deduction (Program)
Syntax error: 100% deduction. You will get 0 mark if your program fails to be compiled.
Runtime error: No mark for the particular test case that triggers the runtime error.
Logic error (bug): No mark for the particular test case that deviates from the requirement. Note
that a logic error may lead to failure in ALL test cases of one particular set of requirements.
Grading Criteria (Video Recording)
Aspects Percentage
Basic requirements (video length, language used, showing identity, etc.) 25%
Presentation contents (suitable content, logical presentation, etc.) 50%
Communication clarity (text display, voice, mouse actions, etc.) 25%
Total 100% (max)
*** Ensure the originality of your work. Plagiarism in any form is highly prohibited. ***

标签:flight,管理系统,23,编程,SEHH2042,system,should,user,Flight
From: https://www.cnblogs.com/whenjava/p/17850111.html

相关文章

  • CSC1001 编程方法描述
    您应该在.py文件中为每个问题编写代码(请使用问题名称,例如,对于问题1,将其命名为q1.py)。请将所有.py文件打包到一个.zip文件,使用您的学生ID命名(例如,如果您的学生标识是123456,则文件应命名为123456.zip),然后通过Blackboard提交.zip文件。还请编写一个文本文件,其中提供了如何为每个代......
  • 深入Android多线程编程与性能优化
    引言在上一篇的入门篇中,我们对Android线程的基础概念和多线程编程模型有了初步了解。本篇将深入探讨多线程编程技术和性能优化策略,以提升应用的效率和响应性。高级多线程编程技术使用线程池管理线程线程池是一组预先创建的线程,用于执行任务。通过使用线程池,可以避免不断创建和销毁......
  • Spring5学习随笔-基础注解编程
    学习视频:【孙哥说Spring5:从设计模式到基本应用到应用级底层分析,一次深入浅出的Spring全探索。学不会Spring?只因你未遇见孙哥】注解编程-第一章、注解基础概念1.什么是注解编程指的是在类或方法上加入特定的注解(@XXX),完成特定功能的开发.2.为什么要讲解注解编程注解开发......
  • (二十三)C#编程基础复习——Struct结构体
    在C#中,结构体也称为结构类型("structuretype”或“structtype”),它是一种可封装数据和相关功能的值类型,在语法上结构体与类(class)非常相似,它们都可以用来封装数据,并且都可以包含成员属性和成员方法。一、定义结构体要定义一个结构体需要使用struct关键字,每个结构体都可以被看作......
  • 实验2 C语言分支与循环基础应用编程
    实验任务11#include<stdio.h>2#include<stdlib.h>3#include<time.h>45#defineN56#defineN13747#defineN24658intmain(){9intnumber;10inti;11srand(time(0));12for(i=0;i<N;++i){13nu......
  • 上一个会员管理系统的图
         ......
  • 11.20会员管理系统建模
    用例图建模班级:信2205-2班         学号:20224082         姓名: 艾鑫一实验目的l 掌握客户需求的方法和步骤; l 了解以用例驱动的软件开发方法;l 掌握用例图的绘制方法;l 掌握RationalRose进行用例建模的具体方法和步骤;二实验环境及实验准备l......
  • shell 编程条件语句
    shelltest  测试0为真test-a/etc/fstabecho$?test-e/etc/fstabecho$? -a,-e#测试文件是否存在-a有bug#取反会有变化test+选项对象参数test-f#只看文件-r#是否有读的权限-w#是否有写的权限-x#是否有执行的权限-d#目录-f#文件[-e/etc/fs......
  • 基于Springboot教学管理系统-计算机毕业设计源码+LW文档
    摘 要传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装教学管理系统软件来发挥其高效地信息处理的作用,可以规范信息管理流程,让管理工作可以系统化和程序化,同时,教学管理系统的有效运用......
  • 工程中的“面向对象”编程
    工程中的“面向对象”编程在工程处理中,工程师很容易写出碎片的脚本代码,例如处理服务器上的脚本:假设了一些存在的环境变量、目录结构、配置和数据脚本基于这些假设开始做一堆中间处理,并最终得到一些输出数据。即使有了docker,有了k8s,无论是在docker外,还是docker内,还是会有很多......