Skip to content

This project is a simple console-based Examination System built with Object-Oriented Programming (OOP) principles in C#. It allows the user to create and take different types of exams (Final or Practical) with support for various question types.

tareq70/Examination-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Examination System

This project is a simple console-based Examination System built with Object-Oriented Programming (OOP) principles in C#. It allows the user to create and take different types of exams (Final or Practical) with support for various question types.

Features

  • Question Types:
    • True/False (for Final exams only)
    • Multiple Choice Questions (MCQ)
  • Exam Types:
    • Final Exam: includes MCQ and True/False questions, displays student answers and final grade
    • Practical Exam: includes only MCQ questions, displays correct answers after the exam
  • OOP Concepts Used:
    • Inheritance and Polymorphism
    • Encapsulation
    • Abstraction

Project Structure

  • ExaminationSystem/
    • Models/
      • Question.cs – Base class for all questions
      • MCQQuestion.cs – Inherits from Question, used for MCQ
      • TrueFalseQuestion.cs – Inherits from Question, used for True/False
      • Answer.cs – Represents an answer option
      • Exam.cs – Abstract class for shared exam logic
      • FinalExam.cs – Inherits from Exam, for final exams
      • PracticalExam.cs – Inherits from Exam, for practical exams
      • Subject.cs – Represents a subject with an exam
    • Program.cs – Main entry point to run the application
    • README.md – Project documentation

How It Works

  1. Question Class
    Each question has:

    • A Header (title)
    • A Body (description)
    • Mark assigned
    • A list of possible Answers
    • A reference to the Correct Answer
  2. Answer Class
    Contains:

    • AnswerId
    • AnswerText
  3. Exam Class (Abstract)
    Common properties:

    • Time
    • Number of Questions
    • ShowExam() method (overridden by Final and Practical exams)
  4. Subject Class
    Each subject has:

    • SubjectId
    • SubjectName
    • An associated Exam object
    • CreateExam() method to generate the exam
  5. Exam Types

    • FinalExam:
      • Supports MCQ and True/False questions
      • Displays student answers and total grade
    • PracticalExam:
      • Supports only MCQ questions
      • Displays correct answers only

Exam_L01[1].pdf

About

This project is a simple console-based Examination System built with Object-Oriented Programming (OOP) principles in C#. It allows the user to create and take different types of exams (Final or Practical) with support for various question types.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages