Project Proposal
1. Semester Grade Tracker & GPA Calculator
Managing assignments, quizzes, and GPA calculations can be cumbersome. This project proposes a C++
command-line tool to streamline academic record-keeping and automate GPA calculations.
Functionality Overview:
- At the beginning of a semester, users can input course names and corresponding credit hours.
- Throughout the semester, grades for assignments and exams can be added per course.
- The system automatically calculates the current semester GPA and, optionally, cumulative GPA.
- All data is stored in files, eliminating the need for re-entry in future sessions.
Key C++ Concepts Used:
- OOP: A Course class will manage names, credits, and grades; a Semester class may also be introduced.
- Vectors: To store courses and grades dynamically.
- File I/O: For persistent data storage and retrieval.
- Logic & Calculation: GPA calculation based on weighted grades.
2. Mini Library Management System (LMS)
This text-based system emulates a college librarys core functionality, offering separate interfaces for Admins
(Librarians) and Students.
Functional Features:
- Admin Mode: Add new books (Title, Author, ISBN), view book status, and borrower information.
- Student Mode: Search and check out books; return functionality included.
- A notification system will flag already checked-out books.
Key C++ Concepts Used:
- Classes: For books and users/students to manage relevant information.
- File Handling: Persistent storage for book and user data.
- Data Structures: Vectors or arrays to manage book inventory.
- String Manipulation: Enables efficient book search features.
Project Proposal
3. Student Attendance Tracker
Designed to assist class representatives or instructors, this tool simplifies attendance tracking and reporting.
Functional Features:
- Add students using roll numbers and names.
- For any date, prompt the user for each student's presence status (P/A).
- Store attendance data tagged with the corresponding date.
Core Functionalities:
- Generate Reports: Show semester-wise attendance percentage per student.
- Check Student Attendance: Retrieve attendance history via roll number.
- Defaulter List: List students with attendance below a certain threshold (e.g., 75%).
Key C++ Concepts Used:
- OOP: A Student class will track names, roll numbers, and attendance.
- File I/O: To maintain persistent attendance records.
- Date Handling: Store dates as strings or using time libraries.
- Maps/Vectors: Useful for tracking attendance by date.
4. Personal Budget & Expense Tracker
This command-line tool allows users to manage personal finances efficiently by tracking income and
expenditures.
Functional Features:
- Main Menu: Options to add income, add expense, and view monthly reports.
- Expense Entry: Accepts amount and category (e.g., food, transport).
- Income Entry: Users can input regular or irregular sources.
- Reports: Summarize income, expenses, category-wise breakdown, and remaining balance.
Key C++ Concepts Used:
- Classes/Structs: A Transaction class/struct to hold amount, type, category, and date.
Project Proposal
- File I/O: Ensures that transaction records are saved and retrievable.
- Vectors: For dynamic storage of transaction data.
- Logic & String Manipulation: To compute summaries and organize category-based data.