Programming Basics SQL HTML CSS JavaScript React Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Linux Learn Typing

تحديات برمجيةالتحدي الثالث - حل التمرين الخامس بلغة C

المطلوب

أكتب برنامج يطلب من المستخدم إدخال علامة لكل مادة من مواد قم بتجهيز أسماءها في مصفوفة إسمها methods.
العلامات التي يدخلها المستخدم يجب تخزينها في مصفوفة ثانية مع الإشارة إلى أن العلامة يمكن أن تكون بين 0 و20 فقط.
بعدها قم بحساب متوسط العلامات التي أدخلها المستخدم.
في الأخير, إعرض للمستخدم متوسط العلامات التي أدخلها و عبارة ناجح إذا كان معدله أكبر أو يساوي 10 و عبارة راسب إن كان أقل.


الحل بلغة C

#include <stdio.h>
#include <stdlib.h>

void main() {

    char * methods[] = {"Arabic", "English", "Science", "Math"};
    int methodsLength = sizeof(methods) / sizeof(methods[0]);
    
    float notes[methodsLength];
    float avg = 0;
    
    for (int i = 0; i < methodsLength; i++)
    {
        do
        {
            printf("Enter %s note: ", methods[i]);
            scanf("%f", &notes[i]);
        }
        while( notes[i] < 0 || notes[i] > 20);
    }
        
    for (int i = 0; i < methodsLength; i++)
    {
        avg += notes[i];
    }
        
    avg /= methodsLength;
        
    printf("\nAverage = %f", avg);
    printf("%s", (avg >= 10)? " [ Succeded ]": " [ Failed ]");
    
}

سنحصل على النتيجة التالية في حال تم إدخال نفس القيم التي تم تعليمها باللون الأصفر عند التشغيل.

Enter Arabic note: 14
Enter English note: 17
Enter Science note: 8
Enter Math note: 13

Average: 13.000000 [ Succeeded ]