PHOTO
مطالب آموزشی و ترفندها

آموزش کامل گرفتن جمله (رشته String) با فاصله در ++C – همراه با مثال

۰ 5878

همانطور که میدانید در زبان برنامه نویسی ++C در صورتی که یک متغیر از نوع String تعریف کنید قادرید با استفاده از دستور cin فقط یک کلمه را از ورودی دریافت کرده و در آن متغیر قرار دهید (تصویر زیر نشان دهنده ی همین است)

 

 

مشکل این کار این است که: بعد از زدن دکمه SPACE (فاصله) از کیبورد کار گرفتن ورودی خاتمه می یابد و هر آنچه بعد از زدن این دکمه تایپ میکنید در متغیر String قرار داده نخواهد شد. به عبارت دیگر شما با این دستور قادر نیستید که یک جمله را در متغیر String قرار دهید زیرا قطعا در هنگام تایپ جمله لازم است که بین کلمه های یک جمله با زدن دکمه SPACE فاصله بیاندازید که متاسفانه با زدن اولین SPACE کار ورودی خاتمه می یابد و هر آنچه بعد از SPACE تایپ میکنید در متغیر String قرار نخواهد گرفت.
(تصویر زیر همین قضیه را نشان میدهد)

 

 

همانطور که در تصویر فوق مشاهده میکنید ما قصد داشتیم جمله My name is Bagher را در متغیری از نوع String قرار دهیم اما تنها فقط کلمه My در این متغیر قرار داده شده است و این به این دلیل است که بعد از کلمه My از دکمه SPACE برای فاصله انداختن، استفاده کرده ایم.

 

  • در این ترفند قصد داریم این مشکل را برطرف کنیم و اینکه بتوانیم یک جمله کامل با فاصله را در یک متغیر از نوع string قرار دهیم.

    برای حل این مشکل فقط کافیست به جای گرفتن ورودی با دستور cin  از دستوری با الگوی زیر برای گرفتن ورودی استفاده کنیم:

 getline (cin, نام متغیری که از نوع استرینگ تعریف کرده اید);
  • برای نمونه و جهت آشنایی بیشتر شما عزیزان با این کد جدید میخواهیم برنامه ای بنویسیم که یک جمله (با فاصله) را از ورودی دریافت کرده و آن را در متغیری از نوع string به نام str قرار دهد سپس جمله ای که در آن متغیر استرینگی قرار داده است را برای ما نشان دهد:

#include <iostream>

using namespace std;

int main()
{
string str;      //تعریف یک متغیر استرینگی به نام str
cout << “Enter sentence: “;  //چاپ یک جمله برای راهنمایی کاربر
getline (cin, str);                 //گرفتن جمله کامل و قرار دادن آن در متغیر استرینگی
cout << “\n\n You Entered: ” << str << “\n\n”;      //چاپ هر آن چیزی که در متغیر استرینگی قرار داده شده است
return 0;
}

  •  کار تمام است. همانطور که مشاهده میکنید در کد فوق برای گرفتن ورودی از کد getline به جای cin استفاده کرده ایم. getline این ویژگی را دارد که بتوانیم یک جمله ی کامل و با فاصله را در یک متغیری که از نوع string تعریف شده باشد، قرار دهیم.  تصویر زیر نحوه ی اجرای کد فوق را نشان میدهد:

 

 

همانطور که مشاهده میکنید مشکل گرفتن جمله ی با فاصله از ورودی برطرف شده است. در صورت بروز هر گونه سؤال، ابهام یا مشکل لطفا از طریق بخش نظرات مطرح کنید. امیدوارم که این آموزش مورد پسند و استفاده شما کاربر عزیز واقع شده باشد/ پیروز باشید.

 

 

در باره نویسنده / 

Admin

مدیریت وبسایت رسمی و جامع ســــرزمـــیـن کــامـــپــیــوتــر و فعال در زمینه ارائه انواع خدمات میزبانی (Hosting)، ثبت، تمدید و انتقال انواع دامنه ها و راه اندازی انواع وبسایت ها و فروشگاه های اینترنتی https://prochost.com

ارسال پاسخ

ایمیل شما نمایش داده نمی‌شود. موارد مورد نیاز علامتگذاری شده است *

*

code

پر بازدیدترین ها

آخرین ویدیو ها

میزبانی شده توسط:

آخرین دیدگاه

بایگانی مطالب

ما را دنبال کنید:

برای اطلاع از آخرین اخبار، آموزش ها، ترفند ها، سورس کد ها، نرم افزار ها و همچنین جهت دریافت مطالب وبسایت به محض انتشار و شرکت در مسابقات برنامه نویسی، ما را در شبکه های اجتماعی دنبال کنید: PC_LAND_IR@

logo-samandehi
موبایلتو شارژ کن

error: