ICP Assignment Question
ICP Assignment Question
As of now, there is no specific medication available nor drugs discovered for treating
COVID-19 patients. Thus, hospitals usually provide supportive care to COVID-19 patients
as part of their treatment procedure. This includes treatment to relieve symptoms, fluid
therapy, oxygen support and prone positioning as needed, and medications or devices to
support other affected vital organs.
The COVID-19 vaccination is found to be a safer way to help build protection against the
virus and end the pandemic. This has made pharmaceutical companies to race against time
and develop vaccine to save the lives of mankind. At present, the vaccination process has
started in many countries including Malaysia. The vaccine warehousing and distribution in
Malaysia is done by an authorised pharmaceutical company. The types of vaccine planned
for people in Malaysia is shown in Table 1 as follows:
Assume that all these vaccines have been approved by the Malaysian government and the
above-mentioned pharmaceutical company needs a Vaccine Inventory Management
System to allow its employees to carry out the following:
1. Inventory Creation. The system should provide a feature for the employees to
permanently record vaccine details shown in Table 1 into a text file named as
vaccine.txt. Initial quantity of each vaccine (in millions) also needs to be recorded in
this file.
Note: Initial quantity of vaccine is to be decided by the programmer. The records in the
vaccine.txt file should be available every time the program is executed.
2. Update vaccine quantities. The system should allow the employees to select a
particular vaccine and indicate either received or distributed quantity. In either case,
the quantity of the selected vaccine needs to be updated accordingly in the vaccine.txt
file.
E.g. Assume that the initial quantity of Pfizer vaccine in vaccine.txt file is 1 million.
When the company receives a new stock, this quantity has to be added to the existing
quantity of 1 million in the vaccine.txt file. In the case where the vaccines are distributed
to hospitals for vaccination, the distributed quantity has to be subtracted from the
quantity available in the vaccine.txt file.
Note: Whenever a vaccine is distributed to hospitals, its code and the quantity
distributed need to be recorded into a text file named as dist.txt. Each vaccine is
expected to be distributed more than once. Hence, while testing the program, there
should be at least 10 records created in the dist.txt file.
3. Search vaccine and its available quantity by using vaccine code. The system should
have a feature for employees to query a particular vaccine’s existing quantity from the
vaccine.txt file using vaccine code.
4. Produce a list of all vaccines and their distributed quantities . The system should allow
the employees to list all distributed vaccines and their accumulated quantities read from
the dist.txt file.
Note: The vaccines and their distributed quantities need to be sorted ascendingly (with
highest quantity listed first followed by second highest and so on) using Bubble sort
before displaying on the screen.
2.0 REQUIREMENTS
i. You are required to carry out extra research for your system and document any
logical assumptions you made after the research.
ii. Your program should use symbolic constants where appropriate. Validations need
to be included to ensure the accuracy of the system. State any assumptions that you
make under each function.
iii. You are required to store all data in vaccine.txt and dist.txt files only.
iv. You are expected to use control structures, functions, array, pointers, structures,
unions and files in your program. Your program must embrace modular
programming technique and should be menu-driven. Functions of similar
operations can be grouped (or kept alone) and stored as separate C files. Header
files are to be stored separately as .h files.
v. You may include any extra features which you may feel relevant and that add value
to the system.
vi. There should be no need for graphics (user interface) in your program, as what is
being assessed, is your programming skill not the interface design.
vii. You should include the good programming practice such as comments, variable
naming conventions and indentation.
ix. You are required to use portable ANSI C programming language to implement the
solution. Use of any other language like C++/Java and etc. is not allowed. Global
variable is not allowed.
3.0 DELIVERABLES
iv. Submission
- All three files to be uploaded to Moodle by 28th June 2021 latest by 7.00 p.m.
4.0ASSESSMENT CRITERIA
5.0PERFORMANCE CRITERIA
Credit (65%-74%)
This grade will be assigned to work which of good standard and meets most of the requirements
stated in the question. The program runs smoothly when executed. There is clear evidence and
application of C concepts up to at least intermediate level. The program solution is unique with
good coding styles and validation. The program implemented maps well against the design
(pseudocode and flowchart) as seen in the documentation. The design of the solution varies in
styles and has unique logic with minor errors / omissions. The documentation does not have
any missing components. Sample outputs documented with some explanation. All work is
referenced according to Harvard Name Referencing convention but with some minor errors /
omissions. Student must be able to provide good explanation of the codes and work done,
answer most questions posed with mostly accurate / logical answers / explanation. Overall a
good assignment submitted.
Pass (50%-64%)
This grade will be assigned to work which meets at least half of the basic requirements
(approximately 50%) stated in the questions. The program runs smoothly when executed.
There is clear evidence and application of C concepts at basic level. The program solution is
common with basic coding styles and validation. The program implemented somewhat maps
with the design (pseudocode and flowchart) as seen in the documentation. The design of the
solution is average in terms of logic and style with some errors / omissions. The documentation
has some missing components. Sample outputs documented but without any explanation. Did
some referencing but not according to Harvard Name Referencing convention and with some
minor errors / omissions. Student must be able to explain some codes and work done and able
to answer some questions posed with some accurate / logical answers / explanation. Overall
an average piece of work submitted.
3. Make sure the camera is facing you and your face is fully visible throughout the recording session.
4. Open ALL your program files in Visual Studio or Visual Studio Code or Dev C++ or Code Blocks or any other
suitable IDE and ensure the font size is not too small.
5. Open the folder where the text file(s) is/are created and keep the folder minimized.
START Recording
1. Introduce yourself (name, TP number, intake, programme of study, level and semester) – max 30 sec
2. Indicate the C and header files you created. Tell what each of them contains. You need to open each of them
one-by-one while indicating – max 1 minute.
3. Now, show the C program where the program will start its execution. Explain the program starting from the
execution point (from menu function, the input expected, selection of function for each input given to menu
function). Note: You need not have to explain the code but the inputs to menu function and the selection of
functions according to the user input – max 1 minute.
4. Now, show the C file (one-by-one) and explain the internal working of each function. You need to walk through
the code (with mouse pointer precisely pointing the line of code you are explaining) - max 6 minutes.
5. Now, compile and run the program (pause the recording if computer takes a lot of time to compile and run)
– max 30 sec.
6. Type your first option input to the menu function. Provide all data required. Exit the program. Open the text
file created. Display and explain what data written in it. Close the text file (do not minimize).
7. Repeat step 6 for other options one-by-one. Display the changes that takes place in the text file(s). Max 1
minute for each option.
Important: Make sure you share all your screens while recording.
STOP Recording
If required, you may need to use the video editors to edit the unwanted frames out. If needed, use online video
editors to fast forward your video to keep the duration short (10 to 15 minutes).
YOU WILL BE REQUIRED TO COME ONLINE (AS THE PER AGREED DATE & TIME) AND ATTEND THE Q&A SESSION
(UNLESS ADVISED ACCORDINGLY) TO COMPLETE THE DEMO AND Q&A PROCESS. THE ACCEPTANCE OF YOUR
VIDOE PRESENTATION IS BASED ON THE ATTENDANCE TO Q&A SESSION.