ساخت یک برنامه ساده

اجازه بدهید یک برنامه بسیار ساده به زبان سی پلاس پلاس (++C) بنویسیم. این برنامه یک پیغام را در محیط کنسول نمایش می‌دهد. در این درس، می‌خواهم ساختار و دستور زبان یک برنامه ساده ++C را توضیح دهم. هر چند که محیط‌های کدنویسی زیادی برای ++C وجود دارند، ولی ما از ساده‌ترین روش برای کدنویسی استفاده می‌کنیم. برنامه ویژوال استودیو را باز کرده و به صورت زیر یک پروژه ایجاد کنید :
explore-csharp-express-03

create-a-simple-c-plus-plus-application-01
create-a-simple-c-plus-plus-application-02

create-a-simple-c-plus-plus-application-03

create-a-simple-c-plus-plus-application-04
حال کدهای زیر را در این محیط نوشته :

  1: #include <iostream>
  2:  
  3: int main()
  4: {
  5:     std::cout << "Welcome to C++ Tutorials!";
  6: }

تا شکل نهایی برنامه به صورت زیر در آید:
create-a-simple-c-plus-plus-application-05

ساختار یک برنامه در ++C

مثال بالا، ساده‌ترین برنامه‌ای است که شما می‌توانید در ++C بنویسید. هدف در مثال بالا نمایش یک پیغام در صفحه نمایش است. هر زبان برنامه نویسی دارای قواعدی برای کدنویسی است. اجازه بدهید هر خط کد را در مثال بالا توضیح بدهیم. در خطوط 4 و 5، فایل هدر یا سرآیند آمده است. فایل‌های سرآیند کتابخانه استاندارد ++C می‌باشند و در این برنامه ما به فایل سرایند iostream نیاز داریم (در درس‌های آینده در مورد این فایل‌ها به طور مفصل توضیح می‌دهیم). خط 7 متد ()main یا متد اصلی نامیده می‌شود. هر متد شامل یک سری کد است که وقتی اجرا می‌شوند که متد را صدا بزنیم. درباره متد و نحوه صدا زدن آن در فصول بعدی توضیح خواهیم داد. متد ()main نقطه آغاز اجرای برنامه است. این بدان معناست که ابتدا تمام کدهای داخل متد ()main و سپس بقیه کدها اجرا می‌شود. درباره متد ()main در فصول بعدی توضیح خواهیم داد. متد ()main و سایر متدها دارای آکولاد و کدهایی در داخل آن‌ها می‌باشند و وقتی کدها اجرا می‌شوند که متدها را صدا بزنیم. هر خط کد در ++C به یک سمیکالن (;) ختم می‌شود. اگر سمیکالن در آخر خط فراموش شود برنامه با خطا مواجه می‌شود. مثالی از یک خط کد در ++C به صورت زیر است :

std::cout << "Welcome to C++ Tutorials!";

این خط کد پیغام Welcome to Visual C++ Tutorials! را در صفحه نمایش نشان می‌دهد. از شیء cout برای چاپ یک رشته استفاده می‌شود. یک رشته گروهی از کاراکترها است، که به وسیله دابل کوتیشن (“) محصور شده است. مانند :“Welcome to Visual C++ Tutorials!”.
یک کاراکتر می‌تواند یک حرف، عدد، علامت یا … باشد. در کل مثال بالا نحوه استفاده از شیء cout است که در داخل فضای نام std قرار دارد را نشان می‌دهد. توضیحات بیشتر در درسهای آینده آمده است. ++C فضای خالی و خطوط جدید را نادیده می‌گیرد. بنابراین شما می‌توانید همه برنامه را در یک خط بنویسید. اما اینکار خواندن و اشکال زدایی برنامه را مشکل می‌کند. یکی از خطاهای معمول در برنامه نویسی فراموش کردن سمیکالن در پایان هر خط کد است. به مثال زیر توجه کنید :

std::cout <<
       "Welcome to C++ Tutorials!";

سی پلاس پلاس فضای خالی بالا را نادیده می‌گیرد و از کد بالا اشکال نمی‌گیرد. اما از کد زیر ایراد می‌گیرد :

std::cout << ;
       "Welcome to C++ Tutorials!";

به سمیکالن آخر خط اول توجه کنید. برنامه با خطای نحوی مواجه می‌شود چون دو خط کد مربوط به یک برنامه هستند و شما فقط باید یک سمیکالن در آخر آن قرار دهید. همیشه به یاد داشته باشید که ++C به بزرگی و کوچکی حروف حساس است. یعنی به طور مثال MAN و man در سی پلاس پلاس با هم فرق دارند. رشته‌ها و توضیحات از این قاعده مستثنی هستند که در درسهای آینده توضیح خواهیم داد. مثلاً کدهای زیر با خطا مواجه می‌شوند و اجرا نمی‌شوند :

std::cOUT << "Welcome to C++ Tutorials!";
STD::cout << "Welcome to C++ Tutorials!";
Std::Cout << "Welcome to C++ Tutorials!";

تغییر در بزرگی و کوچکی حروف از اجرای کدها جلوگیری می‌کند. اما کد زیر کاملاً بدون خطا است :

std::cout << "Welcome to C++ Tutorials!";

همیشه کدهای خود را در داخل آکولاد بنویسید.

{
   statement1;
}

این کار باعث می‌شود که کدنویسی شما بهتر به چشم بیاید و تشخیص خطاها راحت‌تر باشد.

ذخیره پروژه و برنامه

برای ذخیره پروژه و برنامه می‌توانید به مسیر File > Save All بروید یا از کلیدهای میانبر Ctrl+Shift+S استفاده کنید. همچنین می‌توانید از قسمت Toolbar بر روی شکل create-a-simple-c-plus-plus-application-05 کلیک کنید. برای ذخیره یک فایل ساده می‌توانید به مسیر File > Save (FileName) بروید یا از کلیدهای میانبر Ctrl+S استفاده کنید. همچنین می‌توانید از قسمت Toolbar بر روی شکل simple-program-05 کلیک کنید. برای باز کردن یک پروژه یا برنامه از منوی File گزینه Open را انتخاب می‌کنید یا بر روی آیکون create-a-simple-c-plus-plus-application-06 در toolbar کلیک کنید. سپس به محلی که پروژه در آنجا ذخیره شده می‌روید و فایلی با پسوند sln یا پروژه با پسوند .csproj را باز می‌کنید.

کامپایل برنامه

برای کامپایل برنامه از منوی Debug گزینه Build Solution را انتخاب می‌کنید یا دکمه F6 را بر روی صفحه کلید فشار می‌دهیم. این کار همه پروژه‌های داخل solution را کامپایل می‌کند. برای کامپایل یک قسمت از solution به Solution Explorer می‌رویم و بر روی آن قسمت راست کلیک کرده و از منوی باز شوند گزینه build را انتخاب می‌کنید. مانند شکل زیر:
create-a-simple-c-plus-plus-application-07

اجرای برنامه

دو راه برای اجرای برنامه وجود دارد:

  1. اجرا همراه با اشکال زدایی (Debug)
  2. اجرا بدون اشکال زدایی (Non-Debug)

اجرای بدون اشکال زدایی برنامه، خطاهای برنامه را نادیده می‌گیرد. با اجرای برنامه در حالت Non-Debug سریعاً برنامه اجرا می‌شود و شما با زدن یک دکمه از برنامه خارج می‌شوید. در حالت پیش فرض حالت Non-Debug مخفی است و برای استفاده از آن می‌توان از منوی Debug گزینه Start Without Debuging را انتخاب کرد یا از دکمه‌های ترکیبی Crl + F5 استفاده نمود:

Welcome to C++ Tutorials!Press any key to continue...

به این نکته توجه کنید که پیغام Press any key to continue… جز خروجی به حساب نمی‌آید و فقط نشان دهنده آن است که برنامه در حالت Non-Debug اجرا شده است و شما می‌توانید با زدن یک کلید از برنامه خارج شوید. برای اینکه تفکیکی بین عبارت مورد نظر ما و عبارت به وجود بیاید کافیست که خط 9 کد ابتدای درس را به صورت زیر تغییر دهید :

std::cout << "Welcome to C++ Tutorials!" << endl;

حال اگر برنامه را دوباره اجرا کنید، خروجی به صورت زیر نمایش داده می شود :

Welcome to C++ Tutorials!
Press any key to continue...

دسترسی به حالت Debug Mode آسان تر است و به صورت پیشفرض برنامه‌ها در این حالت اجرا می‌شوند. از این حالت برای رفع خطاها و اشکال زدایی برنامه‌ها استفاده می‌شود که در درس‌های آینده توضیح خواهیم داد. شما همچنین می‌توانید از break points و قسمت Help برنامه در مواقعی که با خطا مواجه می‌شوید استفاده کنید. برای اجرای برنامه با حالت Debug Mode می‌توانید از منوی Debug گزینه Start Debugging را انتخاب کرده و یا دکمه F5 را فشار دهید. همچنین می‌توانید بر روی شکل first-cplus-plus-program-06 در toolbar کلیلک کنید. اگر از حالت Debug Mode استفاده کنید برنامه نمایش داده شده و فوراً ناپدید می‌شود. برای جلوگیری از این اتفاق شما می‌توانید از کلاس و متد std::cin.get(); قبل از عبارت return 0، برای توقف برنامه و گرفتن ورودی از کاربر جهت خروج از برنامه استفاده کنید (درباره متدها در درس‌های آینده توضیح خواهیم داد).

  1: #include "stdafx.h"
  2: #include <iostream>
  3: 
  4: int main()
  5: {
  6:     std::cout << "Welcome to C++ Tutorials!" << endl;
  7:     std::cin.get();
  8:     return 0;
  9: }

وارد کردن فضای نام در برنامه

در برنامه فوق ما یک فضای نام در برنامه‌مان با نام std داریم، اما سی پلاس پلاس دارای تعداد زیادی فضای نام می‌باشد. یکی از این فضاهای نامی، فضای نام std است که شیء cout که ما از آن در برنامه بالا استفاده کردیم در این فضای نام قرار دارد.

std::cout << "Welcome to C++ Tutorials!";

اینکه قبل از استفاده از هر کلاس ابتدا فضای نام آن را مانند کد بالا بنویسیم کمی خسته کننده است. خوشبختانه ++C به ما اجازه می‌دهد که برای جلوگیری از تکرار مکررات، فضاهای نامی را که قرار است در برنامه استفاده کنیم با استفاده از دستور using و کلمه namespace در ابتدای برنامه وارد نماییم :

using namespace NameofNameSpace;

دستور بالا نحوه وارد کردن یک فضای نام در برنامه را نشان می‌دهد. در نتیجه به جای آنکه به صورت زیر ابتدا نام فضای نام و سپس نام کلاس را بنویسیم :

std::cout << "Welcome to C++ Tutorials!";

می‌توانیم فضای نام را با دستوری که ذکر شد وارد برنامه کرده و کد بالا را به صورت خلاصه شده زیر بنویسیم :

cout << "Welcome to C++ Tutorials!";

دستورات using که باعث وارد شدن فضاهای نامی به برنامه می‌شوند عموماً در ابتدای برنامه و قبل از همه کدها نوشته می‌شوند، پس برنامه‌ی این درس را می‌توان به صورت زیر نوشت :

#include "stdafx.h"
#include <iostream>
using namespace std;
 
int main()
{
   cout << "Welcome to C++ Tutorials!" << endl;
}

حال که با خصوصیات و ساختار اولیه ++C آشنا شدید در درسهای آینده مطالب بیشتری از این زبان برنامه نویسی قدرتمند خواهید آموخت.