ورودی کاربر در C++
آشنایی با دستور cin و روشهای مختلف دریافت ورودی از کاربر در C++
ورودی کاربر در C++
برای دریافت ورودی از کاربر در C++ از شیء cin استفاده میکنیم. این شیء در کتابخانه <iostream> تعریف شده است.
دستور cin
cin (Console Input) برای دریافت داده از کاربر استفاده میشود.
cin >> variable;
عملگر >>
عملگر >> (extraction operator) برای دریافت داده از cin استفاده میشود.
دریافت عدد صحیح
int age;
cout << "سن خود را وارد کنید: ";
cin >> age;
دریافت عدد اعشاری
float height;
cout << "قد خود را وارد کنید: ";
cin >> height;
دریافت کاراکتر
char grade;
cout << "نمره خود را وارد کنید: ";
cin >> grade;
دریافت رشته
string name;
cout << "نام خود را وارد کنید: ";
cin >> name; // فقط تا اولین فاصله
دریافت رشته با فاصله
string fullName;
cout << "نام کامل خود را وارد کنید: ";
getline(cin, fullName); // کل خط را میگیرد
دریافت چند ورودی
int age;
float height;
cout << "سن و قد خود را وارد کنید: ";
cin >> age >> height;
مشکل با cin و getline
بعد از استفاده از cin، کاراکتر newline در بافر میماند و getline را خراب میکند.
int age;
string name;
cout << "سن: ";
cin >> age;
cin.ignore(); // پاک کردن بافر
cout << "نام: ";
getline(cin, name);
اعتبارسنجی ورودی
int age;
cout << "سن خود را وارد کنید (1-120): ";
cin >> age;
if (cin.fail() || age < 1 || age > 120) {
cout << "ورودی نامعتبر!" << endl;
cin.clear();
cin.ignore(1000, '\n');
}
بهترین شیوهها
- قبل از دریافت ورودی، پیام مناسب نمایش دهید
- ورودی را اعتبارسنجی کنید
- از
cin.ignore()بعد ازcinقبل ازgetlineاستفاده کنید - خطاهای ورودی را بررسی کنید
نکات مهم
cinتا اولین فاصله میخواندgetlineکل خط را میخواند- همیشه ورودی را اعتبارسنجی کنید
- از
cin.fail()برای بررسی خطا استفاده کنید
این مبحث بخشی از دوره آموزش کامل C++ است.