جملة cin
جزء من قسم الأساسيات في رحلة C++ على Coddy. الدرس 34 من 74.
حتى الآن، خزّنا في المتغيرات القيم التي فكرنا فيها. لا تعمل البرامج عادةً بهذه الطريقة. نتلقى القيم من مصدر خارجي، مثل المستخدم.
في C++، يتم الحصول على إدخال من المستخدم باستخدام العبارة cin. توفر هذه العبارة طرقًا لقراءة أنواع مختلفة من الإدخال، مثل الأعداد الصحيحة والأعداد ذات الفاصلة العائمة والسلاسل النصية.
لاستخدام عبارة cin، عليك أولًا التصريح عن متغير لتخزين قيمة الإدخال. ثم يمكنك استخدام عامل الاستخراج >> لقراءة الإدخال من تدفق الإدخال القياسي std::cin وتخزينه في المتغير. إليك كيفية القيام بذلك:
int age;
std::cout << "Enter your age: ";
std::cin >> age;سيحوّل عامل الاستخراج >> الإدخال تلقائيًا إلى نوع البيانات المناسب بناءً على المتغير الذي تخزّنه فيه. على سبيل المثال:
// للأعداد الصحيحة:
std::cin >> intVariable;
// للأعداد العشرية:
std::cin >> doubleVariable;
// للسلاسل النصية:
std::cin >> stringVariable;بالنسبة للقيم المنطقية في C++، يمكن لـ cin التعامل مع الإدخال بطريقتين:
1. افتراضيًا، يقرأ cin فقط 0 (ويُخزَّن على أنه false) أو 1 (ويُخزَّن على أنه true) في bool. أي إدخال آخر، مثل 5، يؤدي إلى فشل الاستخراج ويضبط failbit الخاص بالتدفق. منذ C++11، تُخزَّن قيمة true حتى عند إدخال عدد غير 0 أو 1، بينما تُخزَّن false عند إدخال قيمة ليست عددًا.
2. لقراءة الكلمتين true أو false مباشرةً، يجب أولًا ضبط std::cin >> std::boolalpha؛ وإلا فلن تنجح قراءتهما.
التحدي
مبتدئاكتب برنامجًا يحصل على إدخال من المستخدم (اسمه)، ثم يطبع Hello, متبوعًا بالاسم الذي أدخله المستخدم.
على سبيل المثال، إذا أدخل المستخدم Bob، فالناتج المتوقع هو Hello, Bob.
ستحتاج إلى:
- إنشاء متغير من النوع
stringلتخزين الاسم. - مطالبة المستخدم بإدخال اسمه.
- قراءة اسم المستخدم باستخدام أسلوب
cinالمناسب. - طباعة
Hello,والمتغير المخزّن في النهاية.
جرّب بنفسك
#include <iostream>
#include <string>
int main() {
// اطلب من المستخدم إدخال اسمه
std::cout << "Enter your name: ";
// اقرأ اسم المستخدم
std::string name;
// اطبع رسالة الترحيب
return 0;
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
4المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمة (Modulo)الزيادة والنقصانالزيادة والنقصان اللاحقةاختصارات العمليات الحسابيةمعاملات المقارنةمقارنة النصوصتدرّب بنفسك: مترجم C++ عبر الإنترنت