Thuta Learning
ရှာဖွေရန်
AdvancedProgrammingbeginner

Mini Project

စိတ်လျှော့ပါ။ ဒီခန်းကို စာအုပ်လိုမဟုတ်ဘဲ စကားပြောသလိုပဲ၊ နားလည်လွယ်အောင် ရှင်းပါမယ်။

ဒီ mini project မှာ student score analyzer တစ်ခု တည်ဆောက်ပါမယ်။ Marks တွေကို vector ထဲသိမ်းမယ်၊ function နဲ့ average တွက်မယ်၊ if/else နဲ့ pass/fail status ဆုံးဖြတ်မယ်။ အခြေခံ syntax, loop, vector, function, condition တွေကို တစ်ခါတည်းချိတ်သုံးတဲ့ project ဖြစ်လို့ C++ foundation ကို စမ်းသပ်ဖို့ကောင်းပါတယ်။

cpp
#include <iostream>
#include <vector>
using namespace std;

double calculateAverage(vector<int> marks) {
    int total = 0;

    for (int mark : marks) {
        total += mark;
    }

    return static_cast<double>(total) / marks.size();
}

int main() {
    vector<int> marks = {80, 72, 65, 90, 58};
    double average = calculateAverage(marks);

    cout << "Average mark: " << average << endl;

    if (average >= 80) {
        cout << "Result: Excellent";
    } else if (average >= 40) {
        cout << "Result: Pass";
    } else {
        cout << "Result: Fail";
    }

    return 0;
}

marks vector ထဲမှာ student marks တွေသိမ်းထားပါတယ်။ calculateAverage() function က loop နဲ့ total တွက်ပြီး average ပြန်ပေးပါတယ်။ static_cast<double> သုံးထားတာက integer division မဖြစ်အောင်ပါ။ နောက်ဆုံးမှာ average အပေါ်မူတည်ပြီး result ကို if/else နဲ့ ဆုံးဖြတ်ပါတယ်။

You should see
Average mark: 73 Result: Pass

Info

ဒီ project မှာ data storage, loop, function, condition, type casting တွေကို တစ်နေရာတည်းမှာ သုံးထားပါတယ်။ Real app တွေမှာလည်း concept တွေက သီးသန့်မဟုတ်ဘဲ အခုလို ပေါင်းစပ်အသုံးပြုရပါတယ်။

အနှစ်ချုပ်

နောက်တစ်ဆင့်အနေနဲ့ user input ကနေ marks ထည့်ခိုင်းတာ၊ highest/lowest mark ရှာတာ၊ file ထဲ result save လုပ်တာတွေ ထပ်တိုးနိုင်ပါတယ်။

ဒီနေရာမှာ လူအများမှားတတ်တယ်

  • Vector ထဲမှာ mark မရှိဘဲ average တွက်ရင် divide by zero error ဖြစ်နိုင်ပါတယ်။ နောက်တိုးအနေနဲ့ marks.empty() ကို စစ်ပြီးမှ average တွက်သင့်ပါတယ်။
Mini Project | Thuta Learning