0% found this document useful (0 votes)
3 views

Cbsp2103 Structured Programming

#CBSP2103 #StructuredProgramming #CLanguage #CinemaBookingSystem #CodingBasics #ProgrammingLogic #ModularProgramming #CProgramming #AssignmentHelper #StudySmart #OUMAssignments #15July2024 #ProgrammingSkills #SoftwareDevelopment #CodeEfficiency
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

Cbsp2103 Structured Programming

#CBSP2103 #StructuredProgramming #CLanguage #CinemaBookingSystem #CodingBasics #ProgrammingLogic #ModularProgramming #CProgramming #AssignmentHelper #StudySmart #OUMAssignments #15July2024 #ProgrammingSkills #SoftwareDevelopment #CodeEfficiency
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 10

ASSIGNMENT/ TUGASAN

_________________________________________________________________________
CBSP2103
STRUCTURED PROGRAMMING
PENGATURCARAAN BERSTRUKTUR
MAY 2024

SPECIFIC INSTRUCTION / ARAHAN KHUSUS

1. Answer in ENGLISH or MALAY.


Jawab dalam BAHASA INGGERIS atau BAHASA MELAYU.

2. Submit your assignment ONCE only in MULTIPLE files.


Hantar tugasan SEKALI sahaja dalam PELBAGAI fail.

3. The program must be written in C LANGUAGE.


Aturcara mesti ditulis dalam BAHASA C.

4. Submit your assignment ONLINE.


Tugasan ini dihantar secara ONLINE.
5. Submission date : 15 July 2024
Tarikh penghantaran : 15 July 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.

REQUIREMENT / ASSIGNMENT QUESTION

Cinema Ticket Booking System


You are tasked with developing a simple ticket booking system for a local cinema. The
cinema has 3 auditoriums, each showing a different movie. Each auditorium has a seating
capacity of 50 seats. Your program should allow a user to select a movie, choose the
number of tickets, and display the total cost and the remaining seats for that auditorium.
Assume the price per ticket is $12.

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
}

In your documentation, you must have introduction, description of problem, copy of


codes, several screenshots with various input and output. You need to submit a C source
file in extension .c or .cpp and the ms-word documentation file.
The assessment will be done based on the following criteria:
i. A proper writing of C codes: structure, efficiency and modular.

ii. The readability, consistency, naming and user interface

iii. Robustness and testing

iv. Complete documentation and correct submission.

Note: You MUST write C programming codes for this assignment. Codes written in
C++ or any other language will not be accepted.

(60 marks)

Sistem Tempahan Tiket Pawagam


Anda ditugaskan untuk membangunkan sistem tempahan tiket yang mudah untuk pawagam
tempatan. Pawagam mempunyai 3 auditorium, setiap satu memaparkan filem yang
berbeza. Setiap auditoriummempunyai kapasiti tempat duduk sebanyak 50 tempat duduk.
Program anda harus membenarkan pengguna memilih filem, memilih bilangan tiket dan
memaparkan jumlah kos dan baki tempat duduk untuk auditoriumitu. Andaikan harga setiap
tiket ialah $12.

Anda dikehendaki menggunakan prinsip pengaturcaraan berstruktur menggunakan bahasa


C. Untuk tugasan ini, anda perlu mengurus input pengguna, memprosesnya dengan
sewajarnya dan menyediakan output berdasarkan logik. Anda perlu menyelesaikan tugasan
yang diberikan di bawah:

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
}

Dalam dokumentasi anda, anda mestilah mempunyai pengenalan, penghuraian masalah,


salinan kod, beberapa cekupan skrin dengan pelbagai input dan output. Anda perlu juga
menghantar fail sumber C dalam sambungan .c atau .cpp dan fail dokumentasi ms-word.

Penilaian akan dilakukan berdasarkan kepada kriteria berikut:


i. Penulisan kod C yang betul: struktur, kecekapan dan modular
ii. Kebolehbacaan, ketekalan, penamaan dan antara muka pengguna
iii. Kekukuhan dan ujian
iv. Dokumentasi lengkap dan penghantaran yang betul.

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

You might also like