جملة cin
جزء من قسم Fundamentals في رحلة 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 الخاص بالتدفق، مخزناً false منذ C++11.
2. لقراءة الكلمات true أو false مباشرةً، يجب عليك أولاً ضبط std::cin >> std::boolalpha؛ وإلا فإن استخراج تلك الكلمات سيفشل.
التحدي
مبتدئاكتب برنامجًا يأخذ مدخلاً من المستخدم (اسمهم)، ثم يطبع Hello, متبوعًا بالاسم الذي أدخله المستخدم.
على سبيل المثال، إذا أدخل المستخدم Bob، فإن المخرجات المتوقعة هي Hello, Bob.
ستحتاج إلى:
- إنشاء متغير من نوع
stringلتخزين الاسم. - مطالبة المستخدم بـ
enterاسمهم. - قراءة اسم الـ
userباستخدام طريقةcinالمناسبة. - طباعة
Hello,والمتغير المخزن في النهاية.
جرّب بنفسك
#include <iostream>
#include <string>
int main() {
// اطلب من المستخدم إدخال اسمه
std::cout << "Enter your name: ";
// اقرأ اسم المستخدم
std::string name;
// اطبع رسالة التحية
return 0;
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
4المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمة (Modulo)الزيادة والنقصانالزيادة والنقصان اللاحقةاختصارات العمليات الحسابيةمعاملات المقارنةمقارنة النصوص