# আলাদা পাসিং মার্কস সিস্টেম

## বৈশিষ্ট্য
এই সিস্টেমে এখন CQ (Creative Question), MCQ (Multiple Choice Question), এবং Practical এর জন্য আলাদা আলাদা পাসিং মার্কস সেট করা যাবে।

## ডাটাবেস পরিবর্তন
`subject_mark_distribution` টেবিলে নিম্নলিখিত কলাম যোগ করা হয়েছে:
- `overall_pass_marks` - সামগ্রিক পাসিং মার্কস (আগের `pass_marks` এর পরিবর্তে)
- `cq_pass_marks` - সৃজনশীল প্রশ্নের জন্য আলাদা পাসিং মার্কস
- `mcq_pass_marks` - বহুনির্বাচনি প্রশ্নের জন্য আলাদা পাসিং মার্কস  
- `practical_pass_marks` - ব্যবহারিক পরীক্ষার জন্য আলাদা পাসিং মার্কস

## কিভাবে ব্যবহার করবেন

### ১. ডাটাবেস আপডেট
প্রথমে `database_update_separate_passing_marks.php` ফাইল চালান:
```
http://localhost/bidda/database_update_separate_passing_marks.php
```

### ২. মার্কস সেটআপ
`marks/setup.php` পেজে গিয়ে:
1. বিষয়, ক্লাস, সেশন ইত্যাদি নির্বাচন করুন
2. মোট নম্বর এবং সামগ্রিক পাসিং মার্কস সেট করুন
3. নম্বর বিভাজন করুন (CQ, MCQ, Practical ইত্যাদি)
4. **আলাদা পাসিং মার্কস** সেকশনে প্রয়োজন অনুযায়ী:
   - CQ পাসিং মার্কস
   - MCQ পাসিং মার্কস  
   - Practical পাসিং মার্কস
5. সেভ করুন

### ৩. মার্কস এন্ট্রি
`marks/entry.php` পেজে:
- মার্কস এন্ট্রি করার সময় প্রতিটি অংশের পাসিং মার্কস দেখানো হবে
- গ্রেড ক্যালকুলেশনে আলাদা পাসিং মার্কস চেক করা হবে

## গ্রেড ক্যালকুলেশন লজিক

### নতুন সিস্টেম:
1. **CQ পাসিং মার্কস চেক:** যদি CQ পাসিং মার্কস সেট থাকে এবং শিক্ষার্থী সেই মার্কসের কম পায়, তাহলে F গ্রেড
2. **MCQ পাসিং মার্কস চেক:** যদি MCQ পাসিং মার্কস সেট থাকে এবং শিক্ষার্থী সেই মার্কসের কম পায়, তাহলে F গ্রেড
3. **Practical পাসিং মার্কস চেক:** যদি Practical পাসিং মার্কস সেট থাকে এবং শিক্ষার্থী সেই মার্কসের কম পায়, তাহলে F গ্রেড
4. **সামগ্রিক পাসিং মার্কস চেক:** মোট নম্বর সামগ্রিক পাসিং মার্কসের কম হলে F গ্রেড
5. **শতকরা হিসাব:** উপরের সব শর্ত পূরণ হলে শতকরা হিসাবে গ্রেড নির্ধারণ

### উদাহরণ:
**সেটআপ:**
- মোট নম্বর: 100
- CQ: 70 নম্বর, CQ পাসিং মার্কস: 25
- MCQ: 30 নম্বর, MCQ পাসিং মার্কস: 10  
- সামগ্রিক পাসিং মার্কস: 40

**শিক্ষার্থী A:**
- CQ: 30, MCQ: 15 = মোট 45
- ফলাফল: A+ (সব শর্ত পূরণ)

**শিক্ষার্থী B:**  
- CQ: 20, MCQ: 25 = মোট 45
- ফলাফল: F (CQ তে পাসিং মার্কসের কম)

**শিক্ষার্থী C:**
- CQ: 30, MCQ: 5 = মোট 35  
- ফলাফল: F (MCQ তে পাসিং মার্কসের কম)

## ফাইল পরিবর্তন
1. `database_update_separate_passing_marks.php` - ডাটাবেস আপডেট স্ক্রিপ্ট
2. `marks/setup.php` - মার্কস সেটআপ UI এবং ব্যাকএন্ড
3. `marks/entry.php` - মার্কস এন্ট্রি এবং গ্রেড ক্যালকুলেশন
4. `test_separate_passing_marks.php` - টেস্ট পেজ

## টেস্ট
`test_separate_passing_marks.php` ফাইল চালিয়ে সিস্টেম সঠিকভাবে কাজ করছে কিনা চেক করুন।

## নোট
- আলাদা পাসিং মার্কস ঐচ্ছিক - যদি সেট না করা হয় তাহলে শুধু সামগ্রিক পাসিং মার্কস চেক হবে
- পুরাতন ডাটা সামঞ্জস্যপূর্ণ থাকবে
- এই সিস্টেম বিশেষভাবে বাংলাদেশের শিক্ষা ব্যবস্থার জন্য ডিজাইন করা হয়েছে