NORTH SOUTH UNIVERSITY
Project Report of
Programming Language I Lab (CSE115L)
Submitted to
Afsara Waziha
Lab Instructor
North South University
Department of Electrical and Computer Engineering
Submitted by
Name: [Your Name]
ID: [Your ID]
Date of Submission: [Your Date]
Title: Course Registration System
Introduction:
The Course Registration System is a menu-driven console application developed in the C
programming language. It allows students to register for courses, log in with their credentials, and
manage their course registrations. The system stores data persistently using files and provides
essential functionalities for both students and administrators.
Background:
Existing registration systems are often manual and error-prone. This project aims to offer a simple
automated solution using C, applying concepts like structures, arrays, file handling, and user-defined
functions. It mimics real-world course management systems in a simplified form.
Purpose and Benefits:
- Streamline student course registration and record management.
- Prevent duplicate course registrations and usernames.
- Provide persistent data storage using binary files.
- Demonstrate practical application of C programming knowledge.
System Features:
- Register students with unique usernames and passwords.
- Add, edit, view, delete student records.
- Register and drop courses.
- Search students by partial names.
- File-based data saving and loading.
- Student login system for course management.
- View list of available courses.
User Stories:
1. As a student, I want to log in using my credentials so that I can manage my course registrations.
2. As an admin, I want to view, search, and delete students so that I can maintain a clean and
accurate database.
Advantages:
- Easy to use menu-driven interface.
- Prevents duplicate entries in course lists.
- Saves data even after the program exits.
- Secure login system for student access.
Limitations:
- No graphical user interface (GUI).
- No separate admin login system.
- Limited to command-line interaction.
- Does not validate course IDs from a predefined database.
Topics Covered:
- Structures and Arrays
- File Handling (fopen, fwrite, fread, fclose)
- Functions and Modularity
- String Handling (fgets, strcmp, strstr, etc.)
- Pointers
- Conditional Statements and Loops
- Menu-driven Programming
Screenshots:
(Include these manually in your document from your program screenshots)
Future Work:
- Add a GUI using C graphics or migrate to a web-based interface.
- Implement an Admin Dashboard with more access control.
- Connect to a database system (like MySQL) for better scalability.
- Add email or SMS confirmation system for course updates.
Team Member Contributions:
This project was completed individually. All sections including design, development, debugging, and
documentation were completed by the author.