Cbsp2103 Structured Programming
Cbsp2103 Structured Programming
_________________________________________________________________________
CBSP2103
STRUCTURED PROGRAMMING
PENGATURCARAAN BERSTRUKTUR
MAY 2024
6. This assignment accounts for 60% of the total marks for the course.
Tugasan ini menyumbang sebanyak 60% dari jumlah markah kursus.
ASSIGNMENT QUESTION
PURPOSE
The purpose of this assignment is to apply the basic concepts and problem-solving skills in
writing C programs using selection control, repetitions and functions for a given problem
and demonstrate the implementation of appropriate programming features with suitable
test data and output.
Tujuan tugasan ini adalah untuk mengaplikasikan konsep asas dan kemahiran
menyelesaikan masalah dalam menulis atur cara C menggunakan kawalan pemilihan,
ulangan, dan fungsi bagi masalah yang diberikan dan menunjukkan pelaksanaan ciri
pengaturcaraan yang sesuai dengan data dan output ujian yang sesuai.
You are required to apply structured programming principles using C language. For this
assignment, you need to manage user inputs, process them accordingly, and provide
outputs based on the logic. You need to complete the tasks given below:
1. Input:
i. Write a function to display the available movies and ask the user to select an
auditorium by entering a corresponding number.
ii. Prompt the user to enter the number of tickets they wish to purchase.
2. Processing:
i. Write a function to calculate the total cost of the tickets.
ii. Manage the number of available seats. Ensure that the user cannot book more
tickets than the available seats.
iii. Update the number of seats available after each transaction.
3. Output:
i. Display the total cost for the selected number of tickets.
ii. Show the updated number of available seats for the movie.
iii. If the desired number of tickets exceeds the available seats, inform the user and
ask them to enter a different number.
Detailed Instructions:
Initialisation Initialise an array to store the number of available seats for each
movie.
Choose Movies int displayMovies() {
Screen //show the three movies auditorium
// ask user to choose the auditorium
}
Ticket Booking int bookTickets(int movieIndex, int numTickets, int seats[]) {
Function // check if seats are enough for the tickets
// update the number of seats in that auditorium
// calculate the total ticket price
}
Main Function int main() {
// create an array with seats for each movie
// create and initialise variables
// call the displayMovies () function
// ask user for number of tickets
// call the bookTickets () function
// display the information: Total ticket cost, remaining seats
}
Note: You MUST write C programming codes for this assignment. Codes written in
C++ or any other language will not be accepted.
(60 marks)
1. Input:
i. Tulis fungsi untuk memaparkan filem yang tersedia dan minta pengguna memilih
auditorium dengan memasukkan nombor yang sepadan.
ii. Minta pengguna untuk memasukkan bilangan tiket yang mereka ingin beli.
2. Pemprosesan:
i. Tulis fungsi untuk mengira jumlah kos tiket.
ii. Uruskan bilangan tempat duduk yang tersedia. Pastikan pengguna tidak boleh
menempah tiket lebih daripada tempat duduk yang tersedia.
iii. Kemas kini bilangan tempat duduk yang tersedia selepas setiap transaksi.
3. Output:
i. Paparkan jumlah kos untuk bilangan tiket yang dipilih.
ii. Tunjukkan bilangan tempat duduk yang tersedia untuk filem yang dikemas kini.
iii. Jika bilangan tiket yang dikehendaki melebihi tempat duduk yang tersedia,
maklumkan kepada pengguna dan minta mereka memasukkan nombor lain.
Arahan terperinci:
Inisialisasi Inisialisasi tatasusunan untuk menyimpan bilangan tempat duduk
yang tersedia untuk setiap filem.
Pilih Skrin Filem int displayMovies() {
// menunjukkan tiga buah auditorium filem
// minta pengguna memilih auditorium
}
Fungsi Tempahan int bookTickets(int movieIndex, int numTickets, int seats[]) {
Tiket // semak sama ada tempat duduk mencukupi untuk tiket
// kemas kini bilangan tempat duduk dalam auditoriumitu
// kira jumlah harga tiket
}
Fungsi main int main() {
// bina tatasusunan dengan tempat duduk untuk setiap filem
// mencipta dan inisialisasi pembolehubah
// panggil fungsi displayMovies ()
// meminta pengguna untuk bilangan tiket
// panggil fungsi bookTickets ()
// paparkan maklumat: Jumlah kos tiket, baki tempat duduk
}
Nota: Anda MESTI menulis kod pengaturcaraan C bagi tugasan ini. Kod yang ditulis
dalam C++ atau bahasa lain tidak akan diterima.
[Total/Jumlah: 60 marks/markah]
MUKA SURAT TAMAT / END OF PAGE
ATTACHMENT
ASSIGNMENT RUBRICS
CBSP2103 STRUCTURED PROGRAMMING / MAY 2024
Unsatisfactory/
Excellent/ Good/ Fair/ Poor/
*QN/ Criteria/ Weight/ Tidak Max
CLO Cemerlang Baik Sederhana Lemah
*NS Kriteria Pemberat memuaskan Marks
4 3 2 1 0
Implementation of Input: The task was Most of the task Moderate Implemented No
i. Write a function to display the available movies and implemented was implementation only a small implementation
ask the user to select an auditorium by entering a successfully implemented of the task chunk of the of the tasks OR
corresponding number. correctly correctly task wrongly
implemented
ii. Prompt the user to enter the number of tickets they
wish to purchase.
i 2 3.0 12
Implementasi untuk Input: Task Kebanyakan Task Perlaksanaan Hanya Tiada
i. Tulis fungsi untuk memaparkan filem yang tersedia dan dilaksanakan dilaksanakan Task yang sebahagian kecil perlaksanaan
minta pengguna memilih auditoriumdengan dengan dengan betul sederhana secara Task Task ATAU
memasukkan nombor yang sepadan. cemerlang betul dilaksanakan dilaksanakan
secara salah
ii. Minta pengguna untuk memasukkan bilangan tiket yang
mereka ingin beli.
Implementation of Processing: The task was Most of the task Moderate Implemented No
i. Write a function to calculate the total cost of the implemented was implementation only a small implementation
tickets. successfully implemented of the task chunk of the of the tasks OR
correctly correctly task wrongly
implemented
ii 2 2.0 8
Implementasi untuk Pemprosesan: Task Kebanyakan Task Perlaksanaan Hanya Tiada
i. Tulis fungsi untuk mengira jumlah kos tiket. dilaksanakan dilaksanakan Task yang sebahagian kecil perlaksanaan
dengan dengan betul sederhana secara Task Task ATAU
cemerlang betul dilaksanakan dilaksanakan
secara salah
Implementation of Processing: The task was Most of the task Moderate Implemented No
i. Manage the number of available seats. Ensure that the implemented was implementation only a small implementation
user cannot book more tickets than the available seats. successfully implemented of the task chunk of the of the tasks OR
ii. Update the number of seats available after each correctly correctly task wrongly
implemented
transaction.
ii 2 Implementasi untuk Pemprosesan: 2.0 Task Kebanyakan Task Perlaksanaan Hanya Tiada 8
i. Uruskan bilangan tempat duduk yang tersedia. Pastikan dilaksanakan dilaksanakan Task yang sebahagian kecil perlaksanaan
pengguna tidak boleh menempah tiket lebih daripada dengan dengan betul sederhana secara Task Task ATAU
tempat duduk yang tersedia. cemerlang betul dilaksanakan dilaksanakan
secara salah
ii. Kemas kini bilangan tempat duduk yang tersedia selepas
setiap transaksi.
Implementation of Output: The task was Most of the task Moderate Implemented No
i. Display the total cost for the selected number of implemented was implementation only a small implementation
tickets. successfully implemented of the task chunk of the of the tasks OR
ii. Show the updated number of available seats for the correctly correctly task wrongly
implemented
movie.
iii. If the desired number of tickets exceeds the available
seats, inform the user and ask them to enter a different
number.
iii 2 3.0 12
Implementasi untuk Output: Task Kebanyakan Task Perlaksanaan Hanya Tiada
i. Paparkan jumlah kos untuk bilangan tiket yang dipilih. dilaksanakan dilaksanakan Task yang sebahagian kecil perlaksanaan
ii. Tunjukkan bilangan tempat duduk yang tersedia untuk dengan dengan betul sederhana secara Task Task ATAU
filem yang dikemas kini. cemerlang betul dilaksanakan dilaksanakan
secara salah
iii. Jika bilangan tiket yang dikehendaki melebihi tempat
duduk yang tersedia, maklumkan kepada pengguna dan
minta mereka memasukkan nombor lain.
Structure, Efficiency and Modular: Met the Mostly met the Basic/ minimally Poorly met the Did not meet
Codes are clear, logical, control structure used correctly. requirements requirements of met the requirements of criteria at all OR
Most appropriate programming structures (selection, of the criteria. the criteria but it requirements of the criteria. wrong answer
repetition, files) are used can be improved the criteria. was given.
Functions are modular and increases programming clarity further.
i 3 Struktur, Kecekapan dan Modular: 2.0 Memenuhi Memenuhi Memenuhi Memenuhi Tidak memenuhi 8
Kod jelas, logic, struktur kawalan yang digunakan dengan keperluan kebanyakan keperluan kriteria keperluan kriteria kriteria langsung
betul. kriteria. daripada secara asas/ secara lemah. ATAU jawapan
Struktur pengaturcaraan yang paling sesuai (pemilihan, keperluan kriteria minimal. yang salah telah
pengulangan, fail) digunakan. tetapi ianya diberikan.
Fungsi bersifat modular dan meningkatkan kejelasan boleh
pengaturcaraan dimantapkan
lagi.
Readability, consistency, naming and user interface: Met the Mostly met the Basic/ minimally Poorly met the Did not meet
Coding style, easy to read and maintain. requirements requirements of met the requirements of criteria at all OR
Consistent and proper naming. of the criteria. the criteria but it requirements of the criteria. wrong answer
Screen based instruction and final output are clear, can be improved the criteria. was given.
correct and attractive. further.
Kebolehbacaan, ketekalan, penamaan dan antara muka Memenuhi Memenuhi Memenuhi Memenuhi Tidak memenuhi
ii 3 pengguna: 1.0 keperluan kebanyakan keperluan kriteria keperluan kriteria kriteria langsung 4
Gaya pengekodan, mudah dibaca dan diselenggara. kriteria. daripada secara asas/ secara lemah. ATAU jawapan
Penamaan yang konsisten dan tepat keperluan kriteria minimal yang salah telah
Arahan berdasarkan skrin dan output akhir yang jelas, tetapi ianya diberikan.
betul dan menarik boleh
dimantapkan
lagi.
Robustness and Testing Met the Mostly met the Basic/ minimally Poorly met the Did not meet
Ability of the program to be compiled and executed requirements requirements of met the requirements of criteria at all OR
The program can handle erroneous or unexpected input of the criteria. the criteria but it requirements of the criteria. wrong answer
Complete without being redundant, all test cases are can be improved the criteria. was given.
considered further.
Determination process based on the input. Correct
technique must be chosen and shown in this part
Displaying all output as required
Kekukuhan dan Ujian: Memenuhi Memenuhi Memenuhi Memenuhi Tidak memenuhi
Keupayaan aturcara untuk dikompil dan dilaksanakan keperluan kebanyakan keperluan kriteria keperluan kriteria kriteria langsung
Aturcara ini dapat menangani input yang salah atau tidak kriteria. daripada secara asas/ secara lemah. ATAU jawapan
iii
dijangka keperluan kriteria minimal. yang salah telah
3 Lengkap tanpa kelebihan, semua kes ujian 1.0 tetapi ianya diberikan. 4
dipertimbangkan boleh
Proses penentuan berdasarkan input. Teknik yang betul dimantapkan
mesti dipilih dan ditunjukkan di bahagian ini lagi.
Memaparkan semua output mengikut keperluan
Complete documentation and correct submission: Met the Mostly met the Basic/ minimally Poorly met the Did not meet
Cover page of assignment requirements requirements of met the requirements of criteria at all OR
Introduction, description of problem of the criteria. the criteria but it requirements of the criteria. wrong answer
Copy of codes can be improved the criteria. was given.
Several screenshots with various input and output further.
Submission of C source file in extension .c
Dokumentasi lengkap dan penghantaran yang betul: Memenuhi Memenuhi Memenuhi Memenuhi Tidak memenuhi
iv 3 Muka hadapan tugasan 1.0 keperluan kebanyakan keperluan kriteria keperluan kriteria kriteria langsung 4
Pengenalan, penghuraian masalah kriteria. daripada secara asas/ secara lemah. ATAU jawapan
Salinan kod keperluan kriteria minimal. yang salah telah
Beberapa cekupan skrin dengan pelbagai input dan tetapi ianya diberikan.
output boleh
Penghantaran fail sumber C dalam sambungan dimantapkan
lagi.
Total 15.0 60
*QN = Question Number / *NS = Nombor Soalan