ديسمبر 062011
 

في هذا الدرس سيتم شرح طريقة استقبال مدخلات من المستخدم ومعالجتها في البرنامج، هذا الدرس قد يتطلب مراجعة الدروس السابقة في قسم دروس C.

في لغة C نستخدم الدالة scanf لإدخال قيمة معينة لمتغير عبر المستخدم، وطريقة استخدامها:

scanf(type, variable);

الشطر الأول type: ويقصد به نوع المتغير سواء كان عددًا صحيح، أو حرف وإلخ..

الشطر الثاني variable: اسم المتغير، لكن مسبوقًا بـ&

مثال:

float a;
scanf("%f", &a);

سيتم تقسيم الدرس قسمين، وثالث متفرع من الثاني لتسهيل تتبع الدرس.

أولًا: الادخال البسيط:

في هذا الشطر سنقوم بتخزين المدخلات في متغيرات بسيطة، مثلا نخزن الرقم 5 في المتغير a و 2 في المتغير b وهكذا، هذا مثال مع الشرح:

#include<stdio.h>
main()
{
    /* *****************************************************
    *  تعريف المتغيرات المستخدمة                           *
    *  number1: لتخزين الرقم الأول                          *
    *  number2: لتخزين الرقم الثاني                        *
    *  sum: لتخزين حاصل جمع الرقم الأول مع الثاني           *
    ****************************************************** */
    int number1, number2, sum;
    // طباعة رسالة لطلب ادخال رقمين
    printf("Enter 2 numbers: ");
    /* ***************************************************************
    *  scanf(): هي  دالة لاستقبال مدخلة من قبل المستخدم               *
    *  %d: هنا تك نوع المتغير، وهنا تم تحديده كعدد صحيح              *
    *  &: يستخدم هذا الرمز قبل اسم المتغير لتتم تخزين البيانات به    *
    **************************************************************** */
    scanf("%d", &number1);
    scanf("%d", &number2);
    // عملية الجمع الاعتيادية
    sum = number1 + number2;
    //طباعة النتائج، لاحظ طريقة الكتابة
    printf("Sum of %d + %d = %d", number1, number2, sum);
}

ثانيا: الادخال إلى مصفوفة:

الجزء 1 من 2: الادخال لمصفوفة مباشرة:

المثال مع الشرح:

#include<stdio.h>
main()
{
    /* *****************************************************
    *  تعريف المتغيرات المستخدمة                           *
    *  numbers: مصفوفة بطول 3، لتخزين الأرقام               *
    *  sum: تخزين حاصل جمع المتغيرات الثلاثة                *
    ****************************************************** */
    int numbers[3], sum;
    // رسالة طلب ادخال 3 أرقام
    printf("Enter 3 numbers: ");
    // الادخال للخانة الأولى من المصفوفة
    scanf("%d", &numbers[0]);
    // الادخال للخانة الثانية من المصفوفة
    scanf("%d", &numbers[1]);
    // الادخال للخانة الثالثة من المصفوفة
    scanf("%d", &numbers[2]);
    // عملية الجمع الاعتيادية
    sum = numbers[0] + numbers[1] + numbers[2];
    printf("Sum of %d + %d + %d = %d", numbers[0], numbers[1], numbers[2], sum);
}

الجزء 2 من 2: استخدام التكرارات في الادخال والجمع:
المثال مع الشرح:

#include<stdio.h>
main()
{
    /* *****************************************************
    *  تعريف المتغيرات المستخدمة                           *
    *  numbers: مصفوفة بطول 5، لتخزين الأرقام               *
    *  sum: تخزين حاصل جمع المتغيرات كافّة                  *
    *  i: الرقم المتزايد للتكرار                           *
    ****************************************************** */
    int numbers[5], sum, i;
    // تحديد القيمة المبدئية لمتغير الجمع لتجنب الأخطاء
    sum = 0;
    // رسالة طلب ادخال 5 أرقام
    printf("Enter 5 numbers: ");
    /* *******************************************************
    *  التكرار الأول، للإدخال                                  *
    *  بدء عملية التكرار، البدء من 0 والتوقف عند 9           *
    *  لاحظ استبدال رقم الفهرس في المصفوفة بالمتغير المتزايد  *
    ******************************************************** */
    for(i=0;i<5;i++)
    {
        scanf("%d", &numbers[i]);
    }
    /* *******************************************************
    *  التكرار الثاني؛ عملية الجمع                           *
    *  لاحظ طريقة كتابة سطر الجماع:                           *
    *  sum += numbers[i];                                    *
    *  ويمكن كتابته بالطريقة الآتية أيضًا:                     *
    *  sum = sum + numbers[i];                               *
    ******************************************************** */
    for(i=0;i<5;i++)
    {
        sum += numbers[i];
    }
    // طباعة النتيجة
    printf("result is %d", sum);
}

يتضح بعد الدرس أن الاختلاف بين Java و C بسيط وليس هناك صعوبة لمن يتقن أحدهما في تعلم الأخرى 🙂

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code lang=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

(required)

(required)