PROG12974 Assignment 4
Sheridan Institute of Technology & Advanced Learning
Faculty of Applied Science and Technology
School of Applied Computing
PROG 12974 – Introduction to Programming (C)
Assignment 4 – Book Manager
In this assignment, you will write a simple Book Manager using C structures and C file processing. The program can do the followings:
REQ-0. Show a Main menu and read a digit from the keyboard. If the digit is not 0-6, then show an
*. Penalties may apply to cases when code doesn’t compile, wrong submission or naming, program
crashes while being tested, late submission, submission instructions not followed, use of goto, etc.
Submit your source code as “assignment4_lastname.c” to the SLATE Assignment 4 submission folder.
If you have your own header file (the .h file), remember to submit the header file as well.
This is an individual work and is subject to the school Policy on Academic Honesty. The policy is available at: https://policy.sheridanc.on.ca/.
Submission implies permission of the Faculty to check the submission electronically for plagiarism using
software similarity detecting systems.
All assignments are subject to a late penalty of 10% per day (including weekends).
Late assignments will only be accepted up to 3 days after the due date (including weekends).
1. Read carefully code examples in Chapter 11, especially those for random-access file processing (11.10, 11.11, 11.14, and in particular 11.15). Make sure you fully understand all the examples
2. Define 6 functions for the 6 requirements REQ#1 to REQ#6.
3. Your program should be able to test if there is already an existing file containing some book
information. If there is, use it but do not overwrite it; otherwise, create a new file.
4. Consider using the test data file “assignment4_test_data.txt” to test your program. In Windows you can use the following command lines.
D:\PROG12974\Assignment>assignment4_sun < assignment4_test_data.txt
D:\PROG12974\Assignment>assignment4_sun < assignment4_test_data.txt > output.txt
From a Linux terminal you can do it like this:
username$> cat assignment4_test_data.txt | ./assignment4.out > output.txt
5. Do NOT use goto statement or recursive functions. Global arrays and structure definition are
Your submission will be evaluated based on the following criteria:
Submission 1 Submission is in correct format (see instructions below).
Compilation 1 Program compiles without errors (warnings are acceptable).
Documentation 2 Code is well-commented and clearly explained.
Readability 2 Code is clean, well-organized, and easy to follow.
Efficiency 4 Code uses the best approach and is efficient.
Specifications 30 Program works correctly and meets the requirements.