في هذا الدرس سيتم شرح طريقة استقبال مدخلات من المستخدم ومعالجتها في البرنامج، هذا الدرس قد يتطلب مراجعة الدروس السابقة في قسم دروس 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 بسيط وليس هناك صعوبة لمن يتقن أحدهما في تعلم الأخرى 🙂