tg-me.com/artificial_AI_intelligence/979
Last Update:
1. ما هو الكائن cin؟
• الكائن cin هو كائن الإدخال (Input Object) المُعرَّف في مكتبة <iostream>.
• يُستخدم لقراءة البيانات من المستخدم عبر لوحة المفاتيح (Standard Input).
• يعمل مع أنواع البيانات المختلفة مثل int, double, char, string, إلخ.
2. صيغة استخدام cin
💎 الصيغة العامة:
cin >> متغير;
• العامل << هو عامل الاستخراج (Extraction Operator) ويُستخدم لقراءة البيانات من cin وتخزينها في المتغير.
3. قراءة أنواع البيانات المختلفة باستخدام cin
🔸️ 1. قراءة الأعداد الصحيحة (int)
#include <iostream>
using namespace std;
int main() {
int age;
cout << "Enter your age: ";
cin >> age; // قراءة العمر من المستخدم
cout << "You are " << age << " years old." << endl;
return 0;
}
🔹️ 2. قراءة الأعداد العشرية (double)
#include <iostream>
using namespace std;
int main() {
double salary;
cout << "Enter your salary: ";
cin >> salary; // قراءة الراتب من المستخدم
cout << "Your salary is: " << salary << endl;
return 0;
}
🔸️ 3. قراءة الحروف (char)
#include <iostream>
using namespace std;
int main() {
char grade;
cout << "Enter your grade: ";
cin >> grade; // قراءة الحرف من المستخدم
cout << "Your grade is: " << grade << endl;
return 0;
}
🔹️ 4. قراءة النصوص (string)
#include <iostream>
using namespace std;
int main() {
string name;
cout << "Enter your name: ";
cin >> name; // قراءة الاسم من المستخدم
cout << "Hello, " << name << "!" << endl;
return 0;
}
4. قراءة عدة مدخلات في سطر واحد
يمكنك قراءة عدة مدخلات في سطر واحد باستخدام cin مع عامل الاستخراج >> عدة مرات.
🔮 مثال:
#include <iostream>
using namespace std;
int main() {
int age;
double salary;
string name;
cout << "Enter your name, age, and salary: ";
cin >> name >> age >> salary; // قراءة الاسم، العمر، والراتب في سطر واحد
cout << "Name: " << name << ", Age: " << age << ", Salary: " << salary << endl;
return 0;
}
5. مشكلة cin مع النصوص التي تحتوي على مسافات
❌ المشكلة في cin :
مشكلة الكائن cin يتوقف عند أول مسافة، مما يعني أنه لا يمكنه قراءة النصوص التي تحتوي على مسافات.
🔮 مثال:
#include <iostream>
using namespace std;
int main() {
string fullName;
cout << "Enter your full name: ";
cin >> fullName; // سيقرأ فقط الجزء الأول من الاسم
cout << "Your full name is: " << fullName << endl;
return 0;
}
✅ الحل: استخدام getline
الدالة getline تستخدم لقراءة سطر كامل من النص، بما في ذلك المسافات.
🔮 مثال:
#include <iostream>
using namespace std;
int main() {
string fullName;
cout << "Enter your full name: ";
getline(cin, fullName); // قراءة الاسم الكامل
cout << "Your full name is: " << fullName << endl;
return 0;
}
6. تنظيف (Buffer) بعد استخدام cin
❌ المشكلة:
بعد استخدام cin، قد يتبقى حرف السطر الجديد (n\) فيBuffer ، مما يؤثر على getline.
✅ الحل: استخدام cin.ignore()
الجملة cin.ignore() تُستخدم لتجاهل الأحرف المتبقية فيBuffer.
🔮 مثال:
#include <iostream>
using namespace std;
int main() {
int age;
string name;
cout << "Enter your age: ";
cin >> age;
cin.ignore(); // تنظيف
cout << "Enter your name: ";
getline(cin, name);
cout << "Age: " << age << ", Name: " << name << endl;
return 0;
}
7. أمثلة عملية لفهم الكائن cin
🔮 مثال 1: برنامج بسيط لحساب مجموع عددين
#include <iostream>
using namespace std;
int main() {
int num1, num2;
cout << "Enter the first number: ";
cin >> num1;
cout << "Enter the second number: ";
cin >> num2;
int sum = num1 + num2;
cout << "Sum: " << sum << endl;
return 0;
}
🔮 مثال 2: برنامج لقراءة وعرض بيانات المستخدم
#include <iostream>
using namespace std;
int main() {
string name;
int age;
double height;
cout << "Enter your name: ";
getline(cin, name);
cout << "Enter your age: ";
cin >> age;
cout << "Enter your height (in meters): ";
cin >> height;
cout << "Name: " << name << ", Age: " << age << ", Height: " << height << " meters" << endl;
return 0;
}
BY البرمجة و الذكاء الإصطناعي
Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283
Share with your friend now:
tg-me.com/artificial_AI_intelligence/979