السلام عليكم ..
الخطأ في العبارى التالية :
حيث أنك قمت بإضافة قيمة المتغير grade إلى sum ( في الدورة الأولى في الحلقة for ) و حيث أن هذا المتغير sum لا يحمل قيمة ابتدائية فإن عملية الجمع السابقة خاطئة .. حيث يمكن تمثيل حالة المتغير sum بالقيمة Null ( و معناها لا شيء أو لا توجد قيمة في المتغير ) .. و الخطأ في أن أي عملية رياضية أحد أطرافها تحمل القيمة Null فالناتج هو Null دائماً و بمعنى آخر لن تخزن القيمة الجديدة في المتغير sum .. و سيكون الخطأ هو نفسه في بقية الدورات في الحلقة for .
لحل المشكلة ضع قيمة ابتدائية للمتغير sum .. و بما أنك ستستخدم هذا المتغير لعملية الجمع فيجب أن تضع القيمة الابتدائية تساوي الصفر :
ملاحظات :
1 - من أجل المعدل استخدم متغير من النوع float لأن المعدل قد يحتوي على فواصل عشرية .. حيث أن النوع int لا يتعامل إلا مع الأعداد الصحيحة فقط .. أو استخدم العملية القسرية ( float ) عند إخراج ناتج المعدل كالتالي :
كود:
cout << (float) sum / mada << endl;
2 – حاول معالجة فيما إذا أدخل المستخدم العدد صفر في المتغير mada .
و شكراً