دستورات ورودی و خروجی برنامه نویسیورودی و خروجی:

در هنگام کار با یک برنامه، لازم است گاهی اوقات یک عدد یا حرف را از کاربر دریافت کنیم یا یک جمله یا عدد یا اطلاعاتی را به کاربر نمایش دهیم. این ارتباطات از طریق نمایشگر (مانیتور) و صفحه کلید (کیبورد) انجام میشود که در برنامه نویسی توسط دستورات ورودی و خروجی امکان پذیر است…

هنگام نوشتن برنامه وقتی میگوییم یک عدد از ورودی بگیرد منظور این است که کاربری که پشت رایانه نشسته است یک عدد را بر روی کیبورد فشار دهد. یا زمانی که میگوییم برنامه مقداری را چاپ کند یا در خروجی نمایش دهد منظور نمایش دادن آن مقدار در نمایشگر رایانه است. در این آموزش سعی شده تا دستورات ورودی و خروجی که بیشترین استفاده را خواهند داشت شرح دهیم.

در زبان های مختلف این دستورات متفاوت هستند اما به یک شکل مورد استفاده قرار میگیرند. ما در اینجا نمونه هایی برای زبان C++ استفاده میکنیم.

دستور خروجی (چاپ):

برای نمایش مقدار یا متغیرها معمولاً از دستوراتی مانند Cout یا printf یا puts در C++ استفاده میکنیم.


مثال: در قطعه برنامه زیر خروجی را مشخص کنید:

int A = 5;
char C = ‘Z’;
int B = 3;
cout << “This is a Test” << endl;
cout << A*B << endl;
printf(“A is: %i”, A);
printf(“\n”);
printf(“C is: %c \n”, C);
puts(“Hello Word!”);

خروجی برنامه به صورت زیر خواهد بود:

This is a Test
۱۵
A is: 5
C is: Z
Hello World!

توضیح:

در خط اول و دوم و سوم محتویات متغیرهای A و B و C تعریف شده اند. در خط چهارم توسط دستور Cout جمله This is a Test چاپ میشود. توجه کنید که جملات را باید داخل ” ” قرار دهید اما نباید متغیرها را داخل کوتیشن قرار دهید. در انتهای خط چهارم دستور endl اضافه شده است که باعث میشود بعد از چاپ جمله This is a Test برنامه به ابتدای خط بعدی برود (برای به هم ریخته نشدن و منظم شدن خروجی)
در خط پنجم نیز حاصل ضرب متغیرهای A و B توسط دستور Cout در خروجی چاپ میشود (عدد ۱۵) و مجدداً توسط دستور endl یک خط فاصله میندازیم.

در خط ششم دستور Printf ابتدا جمله A is: را چاپ میکند سپس با دستور %i به آن میگوییم یک متغیر از نوع integer که در ادامه نوشته شده (که در اینجا A هست) را چاپ کن. اگر برای اعداد اعشاری نیاز باشد، از دستور %d و برای کاراکترها از %c استفاده میکنیم. در خط هفتم از دستور “n\” استفاده کردیم. این دستور نیز مانند دستور endl عمل میکند یعنی یک خط فاصله می اندازند تا دستور خروجی بعدی در خط بعدی چاپ شود. در خط هشتم نیز کاراکتری که در متغیر C ذخیره کرده ایم را توسط printf چاپ کرده ایم (که در اینجا محتوای C یعنی حرف Z چاپ میشود). در خط آخر نیز توسط دستور puts یک جمله را نمایش داده ایم.

توجه: دستور puts فقط برای نمایش کاراکتر و حروف به کار میرود.


 دستور ورودی (دریافت):

برای گرفتن اعداد و یا حروف از کاربر (توسط کیبورد) از دستورات زیر استفاده میکنیم:

cin:

از دستور Cin میتوانیم برای گرفتن کلمه یا حرف یا عدد استفاده کنیم.

مثال:

int A;
char B;
cin >> A;
cin >> B;

cin.get:

این دستور هم مشابه دستور cin است اما فقط برای کاراکتر به کار میرود نه برای اعداد.

مثال:

int A;
char B;
B = cin.get()

نکته: همچنین در کار با کامپایلرهایی نظیر Visual Studio جهت جلوگیری از بسته شدن برنامه، در انتهای برنامه از دستور ()cin.get استفاده میکنند.

gets:

این دستور فقط برای رشته (string) و جملات به کار میرود.

مثال:

char str[100];
gets(str);

در مثال بالا یک رشته ۱۰۰ حرفی را از ورودی دریافت میکنیم و در متغیری به نام str ذخیره میکنیم.

scanf_s:

این دستور هم میتواند اعداد و حروف را از ورودی دریافت کند اما باید نوع ورودی را برای آن مشخص کنید. در مثال زیر یک عدد صحیح را میخواهیم دریافت کنیم بنابراین از %i استفاده میکنیم:

int A;
scanf_s(“%i”, A);

تفاوت cin و cin.get: در cin فقط میتوانیم تک کلمه را بخوانیم. یعنی نمیتوانیم از Space (فاصله) استفاده کنیم. ولی cin.get و gets قابلیت خواندن فاصله و بی شمار کلمات را دارند.


هدر فایل ها:

در برنامه نویسی هر دستوری که استفاده میکنیم نیاز است قبلاً هدر فایل آن را به ابتدای برنامه اضافه کرده باشیم. برای دستورهای cin و cout باید هدر  و برای دستورهای puts و gets و printf و scanf باید هدر “stdafx.h” را به ابتدای برنامه اضافه کنیم.


مثال: برنامه ای بنویسید که یک جمله را از ورودی دریافت کند و تعداد کلمات آن را مشخص کند.

حل: میتوانیم توسط یک حلقه تمام کاراکترهای جمله را دریافت کنیم و هرجا به فاصله (space) رسیدیم یک واحد به شمارنده اضافه کنیم (فاصله، متمایز کننده و جداکننده کلمات است). و همچنین گفتیم دستور cin نمیتواند فاصله را بخواند پس از دستور cin.get استفاده میکنیم. همچنین شرط پایان حلقه را رسیدن به نقطه در نظر میگیرید با فرض اینکه کاربر در انتهای جمله نقطه وارد کند.


int count = 0;

char c;

while (c != ‘.’)

{
     c = cin.get();
     if (c == ‘ ‘)
     {
          count = count + 1;
     }
}
cout << count;

 

 

 

دستورات ورودی و خروجی در هر زبانی متفاوت اما بسیار مشابه یکدیگر هستند. هرگاه بتوانید دستورات ورودی و خروجی زبانی را به طور کامل یاد بگیرید، قطعاً یادگیری دستورات ورودی و خروجی دیگر زبان ها برایتان بسیار آسان خواهد شد.

انجام پروژه های دانشجویی پذیرفته میشود
کانال تلگرام ما: http://t.me/cproject

دیگر مطالب:
آموزش الگوریتم نویسی

ورودی و خروجی (دریافت و چاپ) در برنامه نویسی C++

دیدگاهتان را بنویسید

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

پنج × 5 =