البدء مع لغة C .....الإدخال باستخدام scanf

اذهب الى الأسفل

البدء مع لغة C .....الإدخال باستخدام scanf Empty البدء مع لغة C .....الإدخال باستخدام scanf

مُساهمة من طرف زهراء في الأربعاء ديسمبر 18, 2013 7:40 am

بسم الله الرحمن الرحيم

في الدروس السابقة لم ندرس إلا الإخراج باستخدام الدالة printf، الآن سنعرف كيفية الإدخال بواسطة الدالة scanf، التشابه كبير جدا بين الداليتين printf و scanf، فقط الأولى خاصة بالإخراج و الثانية خاصة بالإدخال.

تستعمل الدالة scanf لقراءة أو استقبال المعلومات من أداة الإدخال لوحة المفاتيح keyboard.الآن سنقوم بكتابة برنامج يطلب من المستخدم إدخال قيمة ثم نعطيه القيمة التي قام بإدخالها:

الكود:
/*الإدخال*/
#include<stdio.h>

main()
{
    int usr_val;            /*هنا سنضع القيمة التي سيدخلها المستخدم*/

    printf("Enter a value: ");/* هنا نطلب من المستخدم إدخال قيمة*/
    scanf("%d", &usr_val); /* يقوم الجهاز بانتظار المستخدم لإدخال قيمة*/
   printf("Your value is: %d\n", usr_val);/* هنا نطبع القيمة التي أدخلها المستخدم*/
}

البرنامج موضح بالتعليقات، في السطر التاسع قمنا باستخدام الدالة scanf و داخلها ستجد وسيطين، الأول نقوم فيه بتحديد نوع القيمة التي سيدخلها المستخدم حيث هنا وضعنا الرمز %d و الذي درسنه سابقا في الدالة printf حيث قلنا أنها خاص بالأعداد الصحيحة، و في الوسيط الثاني يوجد &usr_val، و الرمز & يعني وضع القيمة التي أدخلها المستخدم في عنوان المتغير usr_val، و ستفهم السبب إضافة الرمز & في الدروس القادمة. ، إلا هنا تكون قيمة usr_val قد أصبحت القيمة التي أدخلها المستخدم ثم نقوم بطباعتها على الشاشة.

المثال السابق خاص بإدخال الأعداد الصحيحة، أما بالنسبة لباقي أنواع المتغيرات فسنستعمل نفس الطريقة فقط نقوم بتغير الرمز %d إلى نوع المتغير الذي نريد إستقباله، فمثلا إذا أردنا من المستخدم أن يقوم بإدخال رمز بدل رقم نضع الرمز %c في الدالة scanf، و هذا مثال يوضح ذلك:

الكود:

#include<stdio.h>

main()
{
    char usr_char;

    printf("Enter a character: ");
   scanf("%c", &usr_char);
   printf("Your character is: %c\n", usr_char);
}

الآن سنقوم بكتابة برنامج يطلب من المستخدم إدخال قيمة، ثم يطلب منه إدخال قيمة ثانية، و نعطيه النتائج بجميع المؤثرات الأساسية:

الكود:
#include<stdio.h>

main()
{
    int val1, val2;

   printf("1)Enter a value: ");
   scanf("%d", &val1);

   printf("2)Enter a value: ");
   scanf("%d", &val2);

   printf("%d + %d = %d\n", val1, val2, val1+val2);
   printf("%d - %d = %d\n", val1, val2, val1-val2);
   printf("%d * %d = %d\n", val1, val2, val1*val2);
   printf("%d / %d = %d\n", val1, val2, val1/val2);
}

المثال واضح، قمنا بالإعلان عن متغيرين في السطر الخامس، ثم طلبنا من المستخدم إدخال قيمة في السطر السابع و قمنا بأخذ القيمة في السطر الثامن، و بعدها طلبنا من المستخدم إدخال القيمة الثانية ثم أخذنا القيمة الثانية في السطر الحادي عشر، ثم طبعنا النتائج في كل من السطر 13 و 14 و 15 و 16.

و يمكن استعمال إدخال متعدد في الدالة scanf، و هذا المثال السابقة باستخدام الإدخال المتعدد:

الكود:
#include<stdio.h>

main()
{
   int val1, val2;

    printf("Enter two value: ");
   scanf("%d%d", &val1, &val2);

   printf("%d + %d = %d\n", val1, val2, val1+val2);
   printf("%d - %d = %d\n", val1, val2, val1-val2);
   printf("%d * %d = %d\n", val1, val2, val1*val2);
  printf("%d / %d = %d\n", val1, val2, val1/val2);
}

التعدد هنا موجود في السطر الثامن، في الدالة scanf، و يمكن أن نزيد أكثر من ذلك، فقط نضيف الرمز الخاص بنوع المتغير ثم إضافة اسم المتغير في آخر الدالة.

ملاحظات

1- لا يمكن استخدام الوسيط الأول من الدالة scanf لطباعة(الإخراج)، الوسيط الأول من هذه الدالة خاص بنوع الرموز التي سيستقبلها البرنامج من المستخدم.

2- في حالة الاستغناء عن الرمز & فستكون النتائج غير صحيحة.

3- يجب الانتباه إلى عدد المتغيرات المراد فحصها، يجب أن يكون عدد رموز أنواع المتغيرات نفسه عدد المتغيرات المراد فحصها.



الى اللقاء
زهراء
زهراء
........
........

تاريخ التسجيل : 18/02/2011
المساهمات : 404
النقاط : 685
التقيم : 55
الدولة : مصر
الجنس : انثى

الرجوع الى أعلى الصفحة اذهب الى الأسفل

البدء مع لغة C .....الإدخال باستخدام scanf Empty رد: البدء مع لغة C .....الإدخال باستخدام scanf

مُساهمة من طرف أحمد مناع في الأربعاء ديسمبر 18, 2013 8:26 am

الله يبارك فيكى اتيها الزهراء

ـــــــــــــــــــ التوقيع ــــــــــــــــــــ
سبحان الله وبحمدة .....سبحان الله العظيم
أحمد مناع
أحمد مناع
.
.

تاريخ التسجيل : 15/02/2011
المساهمات : 980
النقاط : 201761
التقيم : 117
الدولة : مصر
الجنس : ذكر

http://egy-tech.forumegypt.net

الرجوع الى أعلى الصفحة اذهب الى الأسفل

البدء مع لغة C .....الإدخال باستخدام scanf Empty رد: البدء مع لغة C .....الإدخال باستخدام scanf

مُساهمة من طرف زهراء في الأربعاء ديسمبر 18, 2013 2:53 pm

و يبارك لنا فيك أخى أحمد
زهراء
زهراء
........
........

تاريخ التسجيل : 18/02/2011
المساهمات : 404
النقاط : 685
التقيم : 55
الدولة : مصر
الجنس : انثى

الرجوع الى أعلى الصفحة اذهب الى الأسفل

البدء مع لغة C .....الإدخال باستخدام scanf Empty رد: البدء مع لغة C .....الإدخال باستخدام scanf

مُساهمة من طرف المبرمج الطموح في الثلاثاء أبريل 08, 2014 6:57 pm


اشكرك اختى زهراء واتمنى تكلمة الدورة
المبرمج الطموح
المبرمج الطموح
الاشراف
الاشراف

تاريخ التسجيل : 18/02/2011
المساهمات : 193
النقاط : 347
التقيم : 14
الدولة : مصر
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الرجوع الى أعلى الصفحة

ََ

مواضيع ذات صلة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى