عملگر ورودی

براي اين که بتوانيم هنگام اجراي برنامه مقاديري را وارد کنيم از عملگر ورودي << استفاده مي‌کنيم.

; نام متغیر  cin >>

برنامۀ زير يک عدد از کاربر گرفته و همان عدد را دوباره در خروجي نمايش مي‌دهد:

#include <iostream>
#include <conio.h>
using namespace std;
main()
{  
   int  m;
   cout << "Enter a number: ";
   cin >> m; 
   cout << "your number is: " << m << endl;
}

عملگر ورودي و عملگر خروجي به شکل جرياني رفتار مي‌کنند. يعني در عملگر خروجي مي‌توانيم چند عبارت را با استفاده از چند عملگر << به صورت پشت سر هم چاپ کنيم، در عملگر ورودي نيز مي‌توانيم با استفاده از چند عملگر >> چند مقدار را به صورت پشت سر هم دريافت کنيم. مثلا با استفاده از دستور:

cin >> x >> y >> z;

سه مقدار x و y و z به ترتيب از ورودي دريافت مي‌شوند. براي اين کار بايد بين هر ورودي يک فضاي خالي (space) بگذاريد و پس از تايپ کردن همۀ ورودي‌ها، کليد enter را بفشاريد.

توضيح: صفحه متني (Text) از 25 سطر و 80 ستون تشکيل شده است که هر حرف يا عدد (کلا کاراکتر) در يک خانه صفحه جاي مي گيرد. اين 80 ستون از لحاظ منطقي به 10 قسمت 8 ستوني تقسيم شده است که با چاپ \t دستور cout مکان نما را به ابتداي قسمت بعدي مي برد (يا در صورت لزوم به ابتداي سطر بعد) در C++ دو نوع اصلي داده وجود دارد: «نوع صحيح» و «نوع مميز شناور». همۀ انواع ديگر از روي اين دو ساخته مي‌شوند (به شکل زير دقت کنيد)

نوع صحيح براي نگهداري اعداد صحيح (اعداد 0 و 1 و 2 و ...) استفاده مي‌شود. اين اعداد بيشتر براي شمارش به کار مي‌روند و دامنه محدودي دارند. نوع مميز شناور براي نگهداري اعداد اعشاري استفاده مي‌شود. اعداد اعشاري بيشتر براي اندازه‌گيري دقيق به کار مي‌روند و دامنۀ بزرگ‌تري دارند. يک عدد اعشاري مثل را مي‌توان به شکل يا يا يا و يا ... نوشت.

به اين ترتيب با کم و زياد کردن توان عدد 10 مميز عدد نيز جابه‌جا مي‌شود. به همين دليل است که به اعداد اعشاري «اعداد مميز شناور» مي‌گويند. c++ شش نوع متغير عدد صحيح دارد تفاوت اين شش نوع مربوط به ميزان حافظۀ مورد استفاده و محدودۀ مقاديري است که هر کدام مي‌توانند داشته باشند. اين ميزان حافظۀ مورد استفاده و محدودۀ مقادير، بستگي زيادي به سخت‌افزار و همچنين سيستم عامل دارد.

محدوده مجاز براي مقادير متغيرها

char -> -128…127 (0x00…0xFF ASCII Characters)
int -> -32768…32767
float-> ±10^38…±10^38   (دقت 7 رقم اعشار)
double-> ±10^-308…±10^308