​EGC3173 – PROGRAMMING IN C++

Hello, if you have any need, please feel free to consult us, this is my wechat: wx91due

ASSIGNMENT
TCS3024 / BCS1123 - INTRODUCTORY PROGRAMMING
EGC3173 – PROGRAMMING IN C++
SEP – DEC 2024
Due Date: Friday, 6 December 2024 @ 11.59PM
Total Marks: 100 marks

INSTRUCTIONS TO CANDIDATE:

1. This is an INDIVIDUAL assignment.
2. This assignment contributes 30% to your final course mark.
3. You are required to compile all your work into one folder (ZIP file) and upload the softcopy on Blackboard.

WARNING

You are required to submit your work within the bounds of the University Infringement of Assessment Regulations. Plagiarism, paraphrasing and downloading large amounts of information from external sources will not be tolerated and will be dealt with severely.

SEGi University, Kota Damansara takes allegations of plagiarism very seriously. Submissions involving plagiarism will be marked but given zero mark. Plagiarism is the attempt to pass off the work of another as your own. Information taken from the wor acknowledged by reference to obviate the charge of copying. 

The work must be entirely your own. You will receive ZERO (0) for work that is not your own. The safety of your assessments is your responsibility. You must not permit another student

1. Assignment Aim:

The primary goal of this assignment is to acquaint students with various structured programming concepts and user-defined methods. It aims to provide students with practical experience in creating comprehensive system development documentation and implementing a complete program using the C++ programming language. Through this assignment, students are expected to apply their knowledge, skills, creativity, and critical thinking to successfully complete the task.

2. Assignment Instructions:

This is an individual assignment, accounting for 30% of your final course grade. Please submit your report and program (.cpp file) on Blackboard (BB) by the DUE DATE.

MS Word Formatting

1. Font size: Use 14 points for titles/headings, 12 points for content, and 8 - 9 points for headers/footers.

2. Font type: Arial
3. Line spacing: Maintain a 1.5 spacing through the document.
4. Proper alignment: ensure proper paragraph alignment and necessary page setup.
5. Page numbering: Sequentially number all pages.
6. Figures and Tables: Number them sequentially and refer to each in the text.
Assignment Deliverables
Your submission should include the following components:
1. Assignment Cover Page
2. Table of Contents
3. Program Design (Flowchart) Report
4. C++ Program Source Code
5. Program Testing: Include screenshots and explanation for each screenshot.
6. Assumptions and References (if applicable)
7. A publishable working copy of a compiled version of your program (.cpp file) - to be submitted together with your report
File Naming Convention
1. Name the file(s) using your Student ID and Name.
(E.g., SUKD2024001 – Michael James)
2. This addition ensures that students provide files with clear and standardized names for easy identification and grading.

3. Case Study

Your task is to develop a C++ program that simulates travel packages to Japan and South Korea offered by Lavender Tours & Travel. This program allows users to choose from various packages, each featuring unique offerings. Users can navigate through the available options and organize their preferences based on the detailed pricing information provided in the table below.

WONDERFUL TOKYO
Country: JAPAN Duration: 5D 4N
Package
Option
Price per Person (RM)
2-3 pax
4-5 pax
6-7 pax
8-9 pax
Child W/B
(2-11 years old)
Child N/B
(2-11 years old)
Standard
RM 9,945
RM 7,035
RM 6,090
RM 5,620
RM 8,455
RM 4,975
Deluxe
RM 10,485
RM 7,580
RM 6,630
RM 6,160
RM 8,910
RM 5,245
AMAZING SEOUL & JEJU
Country: SOUTH KOREA Duration: 4D 3N
Package
Option
Price per Person (RM)
2-3 pax
4-5 pax
6-7 pax
8-9 pax
Child W/B
(2-11 years old)
Child N/B
(2-11 years old)
Standard
RM 7,985
RM 6,315
RM 5,380
RM 5,990
RM 3,995
RM 890
Deluxe
RM 8,730
RM 6,950
RM 6,150
RM 6,550
RM 4,365
RM 1,465
Luxury
RM 10,745
RM 9,290
RM 8,155
RM 8,060
RM 5,375
RM 2,440

Notes:
W/B - with bed

N/B - no bed

To accomplish this task, you are required to implement the following functionalities using selection statements, looping, functions, and array:

a) Menu Display:
• Introduce users to the program's purpose.
• Provide instructions for data input.
• Allow users to choose their desired travel operation.
• Offer the option to exit the program.
b) User Registration and Booking Number:
• Allow users to register by providing their name and phone number.
• Generate a personalize booking number (combine the first 4 letters of the user's name with the last 4 digits of their phone number).
c) Package Purchase:
• Enable users to book travel packages, considering details such as package options, pricing, and the number of people.
d) Input Iteration:
• Implement a loop for continuous interaction with the user.
• Prompt users to specify preferences for travel packages, including options such as choosing package features, specifying the number of people, and organizing choices based on presented information.
e) Calculate Total Price:
• Compute the total price based on the selected package, number of people, and any additional options.
f) Display Package Details:
• Present detailed information about selected travel packages, including user registration, booking number, package purchases, and total prices.

Assignment Requirements

1. Implementation Techniques: The program should be implemented by using selection, looping, function, and array. This provides students with flexibility in choosing appropriate programming techniques.
2. Validations: Validations must be implemented to handle invalid input and null values from users. Error messages should be displayed, and users should be prompted to re-enter correct input. This ensures robust error handling.
3. Naming Conventions: Students are required to follow naming conventions for variables and functions. This promotes consistency and readability in the code.
4. Design: The program should be designed neatly and efficiently. Students are encouraged to write code that is well-structured and maintainable.
5. IDE Compatibility: The program should be compiled and executed using any IDE that can compile C++ program. This allows students to choose their preferred development environment.
6. Comments: Students are required to insert comments alongside their code to explain its purpose. Comments should summarize, when necessary, but not every line of code requires a comment. This encourages documentation and clarity.

Based on these requirements, students are expected to create:

1. Flowchart: to visualize the program’s logic and flow.
2. Complete and Executable C++ Program: A working program that meets specified requirements, including the use of appropriate programming techniques.
3. Screenshots of the Program Testing: Provide screenshots of the testing procedure along with explanations for each screenshot. This helps to demonstrate the program’s functionality and testing process.
*Please refer to page 2 of this document for the assignment deliverables.
IMPORTANT NOTE:
• Please submit your assignment by or before the deadline.
• LATE SUBMISSION will be DEDUCTED 5% penalty A DAY up to a maximum of TEN (10) days, where subsequently, the assignment will be awarded ZERO (0) mark.
• ZERO (0) mark will also be awarded if:
✓ The source code file submitted cannot be opened by any C++ IDE.
✓ The source code file submitted is not in the cpp format (.cpp)
✓ The source code cannot be executed due to syntax errors or other technical issues that require the lecturer's intervention
✓ There is any form of copying/plagiarism.

✓ You failed to submit your work or failed to submit all the necessary files.

Grading Rubric

This assignment will be graded based on a 100 points rubric. The following details about the categories in the rubric are as follows:
• Program Specifications / Correctness: You program should work correctly on all inputs. Also, if there are any specifications about how the program should be written, or how the output should appear, those specifications should be followed.
• Code Readability: Variables and functions in your program should have meaningful names. Code should be organized into functions/methods where appropriate. There should be an appropriate amount of white space so that the code is readable, and indentation should be consistent.
• Code Documentation: Your code and functions/methods should be appropriately commented. However, not every line should be commented on because that makes your code overly busy. Think carefully about where comments are needed.
• Code Efficiency: There are many waysto write the same functionality into your code, and some of them are needlessly slow or complicated. For example, if you are repeating the same code, it should be inside a new method/function or for loop.
• Output: Your output should be user friendly in a way that it is easy for the user to understand what they need to do when they use the system. Instructions and error messages should be clear and precise. Add whitespace (blank lines, spaces) where it is appropriate to help separate distinct parts of your output. Try to avoid cluttering up the screen.
• Testing: You are required to include screenshots for the program testing in your report. Each screenshot should come with an explanation explaining the purpose of the testing. Screenshots for invalid inputs must also be shown.
• Flowchart: You need to create a flowchart to illustrate the logical steps in your program.


Unsatisfactory
(0-40%)
Satisfactory
(41-60%)
Good
(61-80%)
Excellent
(81-100%)
Program Specifications / Correctness 30%
• Completed less than 70% of the requirements.
• Not delivered on time or not in correct format
• Program only functions correctly in limited cases or not at all.
• User prompts are misleading or non-existent.
• Completed between 70-80% of the requirements.
• Delivered on time, and in correct format
• Significant details of the specification are violated, program often exhibits incorrect behavior.
• User prompts contain little information, poor design.
• Completed between 80-90% of the requirements.
• Delivered on time, and in correct format
• Minor details of the program specification are violated,program functions  incorrectly for some inputs.
• User prompts are understandable, minimum use of symbols or spacing in output.
• Completed between 90-100% of the requirements.
• Delivered on time, and in correct format
• No errors, program always works correctly and produces desired output
• Excellent user prompts, effective use of symbols, spacing in output.
Code Readability 10%
• No name, date, or assignment title included
• Poor use of white space (indentation, blank lines).
• Disorganized and messy
• Poor use of variables (many global variables, ambiguous naming).
• Includes name, date, and assignment title.
• White space makes the program easy to read.
• Organized work.
• Effective use of variables (few global variables, unambiguous naming).
• Includes name, date, and assignment title.
• Effective use of white space.
• Organized work.
• Effective use of variables (no global variables, unambiguous naming)
• Includes name, date, and assignment title.
• Excellent use of white space.
• Creatively organized work.
• Excellent use of variables (no global variables, unambiguous naming).
Code Documentation 5%
• No documentation included.
• Basic documentation has been
completed including
descriptions of all variables.
• Purpose is noted for each
function.

• Clearly documented including
descriptions of all variables.
• Specific purpose is noted for
each function and control
structure.

• Clearly and effectively
documented including
descriptions of all variables.
• Specific purpose is noted for each
function, control structure, input
requirements, and output results.

Code Efficiency 5%
• A difficult and inefficient solution.
• Not user friendly. Some instructions
• Error messages are missing 
• Messy.
• A logical solution that is easy to follow but it is not the most efficient.
• Quite user friendly. At least one major issue with instructions, error messages, and use of whitespaces. Quite messy.
• Solution is efficient and easy to follow (i.e., no confusing tricks).
• User friendly. Minor issues with consistent use of whitespace. One or two instructions and error messages are not that clear. Quite clean.
• Solution is efficient, easy to understand, and maintain.
• Very user friendly. Instructions and error messages are clear and concise. Effective use of white spaces. Free of clutter.
Testing 20% 
• No testing has been completed.
• Some testing has been completed. Some explanation is provided.
• Thorough testing has been completed. Explanation is acceptable.
• Thorough and organized testing has been completed. The explanation is detailed and precise.
Flowchart 20%
• The flowchart is incomplete or non-understandable.
• Flowchart does not reflect the program at all.
• The flowchart does not describe the process accurately.
• Most of the shapes in the flowchart are incorrectly labeled or shaped
• The flowchart describes the process, but its components are not correctly labeled, shaped, or defined.
• All the components are clearly defined, shaped, and labeled.
• The flowchart describes the process in an accurate manner. 











 







发表评论

电子邮件地址不会被公开。 必填项已用*标注