آموزش C++ یکی از موضوعات مهم در برنامهنویسی است که شامل مفاهیم متعددی از جمله کنترل جریان در C++ میشود. کنترل جریان یکی از اساسیترین بخشهای هر زبان برنامهنویسی است که تعیین میکند کد چگونه اجرا شود. در این مقاله، به بررسی کامل ساختارهای کنترلی در C++ از سطح مبتدی تا پیشرفته خواهیم پرداخت.
شرط if…else در C++
ساختار if…else یکی از رایجترین روشهای کنترل جریان در C++ است که برای تصمیمگیری در شرایط مختلف استفاده میشود. این ساختار به برنامه اجازه میدهد تا بسته به مقدار متغیرها، مسیر اجرای متفاوتی را انتخاب کند. در این روش، برنامه ابتدا یک شرط را ارزیابی میکند، در صورت درست بودن شرط، دستورات مربوط به آن اجرا میشوند و در غیر این صورت مسیر دیگری دنبال میشود.
این ساختار میتواند شامل else if باشد که برای بررسی چندین شرط مختلف استفاده میشود. اگر شرط if برقرار نباشد، شرط بعدی در else if بررسی میشود و در نهایت، اگر هیچیک از شرایط برقرار نبود، بلوک else اجرا خواهد شد.
ساختار کلی if…else در C++:
if (شرط) {
// بلوک دستورات در صورت برقرار بودن شرط
} else if (شرط دیگر) {
// دستورات در صورت برقرار بودن شرط دیگر
} else {
// دستورات در صورتی که هیچیک از شرایط برقرار نباشد
}
مثال ساده از if…else:
#include <iostream>
using namespace std;
int main() {
int age;
cout << "سن خود را وارد کنید: ";
cin >> age;
if (age >= 18) {
cout << "شما بزرگسال هستید." << endl;
} else {
cout << "شما زیر سن قانونی هستید." << endl;
}
return 0;
}
در این مثال، ابتدا برنامه از کاربر میخواهد که سن خود را وارد کند. اگر سن کاربر ۱۸ یا بیشتر باشد، پیام “شما بزرگسال هستید.” نمایش داده میشود. در غیر این صورت، پیام “شما زیر سن قانونی هستید.” چاپ میشود.
استفاده از چندین شرط با else if:
استفاده از else if زمانی کاربرد دارد که بخواهیم بیش از دو شرط را بررسی کنیم. اگر شرط if برقرار نباشد، شرط بعدی در else if ارزیابی میشود و در نهایت، اگر هیچیک از شرایط برقرار نبود، بلوک else اجرا خواهد شد. این ساختار باعث افزایش خوانایی کد و جلوگیری از استفاده مکرر از ifهای تودرتو میشود.
نکات کلیدی:
افزایش خوانایی: به جای استفاده از چندین if مستقل، از else if برای ساختار بهینهتر استفاده کنید.
اجرا از بالا به پایین: هر شرط به ترتیب بررسی میشود و در صورت برقرار بودن، اجرای کد متوقف خواهد شد.
بلوک else اختیاری است: اگر نیازی به اجرای یک دستور عمومی در صورت برقرار نبودن هیچیک از شرایط ندارید، میتوانید else را حذف کنید.
مثال از استفادهی else if:
#include <iostream>
using namespace std;
int main() {
int temperature;
cout << "دمای هوا را وارد کنید: ";
cin >> temperature;
if (temperature > 30) {
cout << "هوا گرم است." << endl;
} else if (temperature > 20) {
cout << "هوا معتدل است." << endl;
} else if (temperature > 10) {
cout << "هوا خنک است." << endl;
} else {
cout << "هوا سرد است." << endl;
}
return 0;
}
در این مثال، دمای ورودی بررسی شده و بسته به مقدار آن، پیام مناسبی نمایش داده میشود. اولین شرطی که برقرار باشد، اجرا شده و از بررسی سایر شرایط جلوگیری میشود.
#include <iostream>
using namespace std;
int main() {
int number;
cout << "یک عدد وارد کنید: ";
cin >> number;
if (number > 0) {
cout << "عدد مثبت است." << endl;
} else if (number < 0) {
cout << "عدد منفی است." << endl;
} else {
cout << "عدد صفر است." << endl;
}
return 0;
}
در این مثال، برنامه مقدار ورودی را بررسی کرده و بسته به مثبت، منفی یا صفر بودن عدد، پیام مناسب را نمایش میدهد.
استفاده از if…else تو در تو:
گاهی اوقات نیاز است که چندین شرط داخل یکدیگر قرار گیرند که به آن if تو در تو (nested if) گفته میشود. این روش زمانی مفید است که بررسی چندین شرط به صورت مستقل امکانپذیر نیست و باید به ترتیب اجرا شوند. از این تکنیک میتوان برای مدیریت شرایط پیچیده استفاده کرد، اما استفادهی بیشازحد از آن ممکن است خوانایی کد را کاهش دهد.
مزایای استفاده از if…else تو در تو:
کنترل بهتر جریان برنامه: امکان بررسی شرایط ترکیبی در قالبی مشخص و ساختاریافته فراهم میشود.
انعطافپذیری بالا: در شرایط پیچیده که نیاز به بررسی چندین شرط به ترتیب وجود دارد، این روش کارآمد خواهد بود.
کاهش اجرای غیرضروری شرطها: به محض اینکه یک شرط برقرار باشد، سایر شرطها اجرا نخواهند شد.
معایب استفاده از if…else تو در تو:
کاهش خوانایی کد: هرچه تعداد ifهای تودرتو بیشتر شود، خوانایی کد کاهش مییابد.
افزایش پیچیدگی کد: ممکن است خطای منطقی در مدیریت شرایط پیش آید.
مثال از if…else تو در تو:
#include <iostream>
using namespace std;
int main() {
int score;
cout << "نمره خود را وارد کنید: ";
cin >> score;
if (score >= 50) {
if (score >= 90) {
cout << "عالی! نمره شما بالای ۹۰ است." << endl;
} else if (score >= 75) {
cout << "خیلی خوب! نمره شما بین ۷۵ و ۹۰ است." << endl;
} else {
cout << "شما قبول شدید." << endl;
}
} else {
cout << "متاسفانه شما رد شدید." << endl;
}
return 0;
}
در این مثال، ابتدا بررسی میشود که آیا نمره از ۵۰ بیشتر است یا خیر. اگر بیشتر باشد، سپس بررسی میشود که آیا نمره از ۹۰ بالاتر است یا خیر و بر اساس آن تصمیمگیری میشود.
بهینهسازی if…else تو در تو:
اگر تعداد زیادی شرط تو در تو دارید، میتوانید از switch یا عبارات منطقی ترکیبی برای کاهش پیچیدگی استفاده کنید. همچنین، برای جلوگیری از فرورفتگی زیاد در کد، میتوان برخی از شرطها را در یک تابع جداگانه قرار داد.
گاهی اوقات نیاز است که چندین شرط داخل یکدیگر قرار گیرند که به آن if تو در تو (nested if) گفته میشود.
#include <iostream>
using namespace std;
int main() {
int score;
cout << "نمره خود را وارد کنید: ";
cin >> score;
if (score >= 50) {
if (score >= 90) {
cout << "عالی! نمره شما بالای ۹۰ است." << endl;
} else {
cout << "شما قبول شدید." << endl;
}
} else {
cout << "متاسفانه شما رد شدید." << endl;
}
return 0;
}
در این مثال، ابتدا بررسی میشود که آیا نمره از ۵۰ بیشتر است یا خیر. اگر بیشتر باشد، سپس بررسی میشود که آیا نمره از ۹۰ بالاتر است یا خیر و بر اساس آن تصمیمگیری میشود.
این روش برای مدیریت شرایط پیچیدهتر بسیار مفید است.
ساختار if…else به برنامه اجازه میدهد تا تصمیماتی بر اساس شرایط مشخص بگیرد. اگر شرط تعیینشده برقرار باشد، مجموعهای از دستورات اجرا میشود؛ در غیر این صورت، مسیر دیگری انتخاب میشود. این ساختار از سه بخش اصلی تشکیل شده است:
شرط اولیه: که مقدار متغیر را بررسی میکند.
بلوک دستورات در صورت برقرار بودن شرط: در این بخش، اگر شرط صحیح باشد، مجموعهای از دستورات اجرا خواهد شد.
بلوک else (در صورت نیاز): اگر شرط برقرار نباشد، دستورات دیگری اجرا خواهند شد.
مثال:
#include <iostream>
using namespace std;
int main() {
int number;
cout << "یک عدد وارد کنید: ";
cin >> number;
if (number > 0) {
cout << "عدد مثبت است." << endl;
} else if (number < 0) {
cout << "عدد منفی است." << endl;
} else {
cout << "عدد صفر است." << endl;
}
return 0;
}
در این مثال، ابتدا مقدار ورودی از کاربر دریافت شده و سپس بر اساس مقدار آن تصمیمگیری میشود. همچنین، میتوان از چندین if…else تو در تو برای پردازشهای پیچیدهتر استفاده کرد.
ساختار switch در C++
ساختار switch زمانی استفاده میشود که بخواهیم مقدار یک متغیر را با چندین مقدار ممکن مقایسه کنیم. این ساختار به ما اجازه میدهد تا بر اساس مقدار یک متغیر، مسیر اجرایی مشخصی را دنبال کنیم. در بسیاری از مواقع، استفاده از switch خوانایی کد را نسبت به چندین if…else if متوالی افزایش میدهد.
ویژگیهای کلیدی switch:
افزایش خوانایی و کاهش پیچیدگی کد: با استفاده از switch به جای چندین if…else if، ساختار برنامه مرتبتر و واضحتر میشود.
استفاده از case برای هر مقدار ممکن: درون switch، از case برای بررسی مقدار متغیر استفاده میشود.
استفاده از break برای جلوگیری از اجرای سایر caseها: اگر break در انتهای هر case نیاید، اجرای برنامه به case بعدی ادامه مییابد (ویژگیای که به fall-through معروف است).
استفاده از default برای مدیریت مقادیر نامعتبر: در صورتی که مقدار متغیر در هیچیک از caseها قرار نگیرد، دستورهای موجود در default اجرا خواهند شد.
مثال:
#include <iostream>
using namespace std;
int main() {
int day;
cout << "یک عدد بین ۱ تا ۷ وارد کنید: ";
cin >> day;
switch(day) {
case 1: cout << "شنبه"; break;
case 2: cout << "یکشنبه"; break;
case 3: cout << "دوشنبه"; break;
case 4: cout << "سهشنبه"; break;
case 5: cout << "چهارشنبه"; break;
case 6: cout << "پنجشنبه"; break;
case 7: cout << "جمعه"; break;
default: cout << "عدد نامعتبر";
}
return 0;
}
نکات مهم:
مقدار درون switch باید از نوع صحیح (int, char, enum) باشد. استفاده از double یا float در switch مجاز نیست.
اگر break را حذف کنیم، تمام caseهای بعدی تا اولین break اجرا خواهند شد.
default الزامی نیست اما توصیه میشود برای مدیریت شرایط نامعتبر در نظر گرفته شود.
مثال استفاده از fall-through:
#include <iostream>
using namespace std;
int main() {
int grade;
cout << "نمره خود را وارد کنید: ";
cin >> grade;
switch (grade) {
case 10:
case 9:
cout << "عالی" << endl;
break;
case 8:
case 7:
cout << "خوب" << endl;
break;
case 6:
case 5:
cout << "قابل قبول" << endl;
break;
default:
cout << "مردود" << endl;
}
return 0;
}
در این مثال، اگر مقدار grade برابر ۱۰ یا ۹ باشد، خروجی “عالی” خواهد بود. در اینجا، از fall-through برای ترکیب چندین مقدار در یک case استفاده شده است. switch زمانی استفاده میشود که چندین مقدار ممکن برای یک متغیر وجود داشته باشد. به جای استفاده از چندین if…else، از switch میتوان برای افزایش خوانایی و کارایی برنامه استفاده کرد.
مثال:
#include <iostream>
using namespace std;
int main() {
int day;
cout << "یک عدد بین ۱ تا ۷ وارد کنید: ";
cin >> day;
switch(day) {
case 1: cout << "شنبه"; break;
case 2: cout << "یکشنبه"; break;
case 3: cout << "دوشنبه"; break;
case 4: cout << "سهشنبه"; break;
case 5: cout << "چهارشنبه"; break;
case 6: cout << "پنجشنبه"; break;
case 7: cout << "جمعه"; break;
default: cout << "عدد نامعتبر";
}
return 0;
}
حلقه while در C++
حلقه while یکی از پرکاربردترین ساختارهای کنترلی در C++ است که تا زمانی که شرط مشخصشده برقرار باشد، اجرا میشود. این نوع حلقه زمانی مفید است که تعداد دفعات تکرار از پیش مشخص نباشد و بر اساس یک شرط مشخص، اجرای حلقه کنترل شود.
ویژگیهای حلقه while:
عدم نیاز به مقدار اولیه ثابت: مقدار اولیه متغیر کنترلکننده حلقه میتواند در طول اجرای برنامه تغییر کند.
بررسی شرط قبل از اجرا: در ابتدای هر تکرار، شرط بررسی میشود و در صورت برقرار بودن، بدنه حلقه اجرا خواهد شد.
امکان اجرای حلقه بینهایت: اگر مقدار متغیر کنترلی تغییری نکند، ممکن است حلقه بهطور نامحدود اجرا شود.
ساختار کلی حلقه while در C++:
while (شرط) {
// بلوک دستورات که تا زمانی که شرط برقرار باشد اجرا خواهد شد
}
مثال ساده از حلقه while:
#include <iostream>
using namespace std;
int main() {
int count = 1;
while (count <= 5) {
cout << "تکرار شماره " << count << endl;
count++;
}
return 0;
}
در این مثال، مقدار اولیه count برابر 1 است و تا زمانی که مقدار آن کمتر از یا برابر با 5 باشد، حلقه اجرا خواهد شد.
کاربردهای حلقه while:
دریافت ورودی از کاربر تا زمانی که مقدار معتبری وارد شود.
اجرای برنامههایی که نیاز به اجرای مداوم دارند تا زمانی که کاربر تصمیم به خروج بگیرد.
پردازش لیستها یا دادههایی که اندازهی آنها از قبل مشخص نیست.
حلقه while با شرط ورودی کاربر:
#include <iostream>
using namespace std;
int main() {
int number;
cout << "یک عدد مثبت وارد کنید (برای خروج عدد منفی وارد کنید): ";
cin >> number;
while (number >= 0) {
cout << "شما عدد " << number << " را وارد کردید." << endl;
cout << "یک عدد دیگر وارد کنید: ";
cin >> number;
}
cout << "برنامه پایان یافت." << endl;
return 0;
}
در این مثال، برنامه از کاربر درخواست میکند که یک عدد وارد کند. اگر عدد مثبت باشد، مجدداً ورودی گرفته میشود، اما اگر عدد منفی وارد شود، حلقه متوقف شده و پیام پایان برنامه نمایش داده میشود.
حلقه while بینهایت:
گاهی اوقات لازم است یک برنامه تا زمانی که یک شرط خاص تغییر نکند، بهطور نامحدود اجرا شود. در این مواقع، میتوان از حلقه while(true) استفاده کرد.
#include <iostream>
using namespace std;
int main() {
while (true) {
cout << "این یک حلقه بینهایت است! برای متوقف کردن از Ctrl + C استفاده کنید." << endl;
}
return 0;
}
در این مثال، شرط true همیشه برقرار است و برنامه بدون توقف اجرا خواهد شد. معمولاً برای خروج از چنین حلقههایی از break استفاده میشود.
استفاده از break برای خروج از حلقه while:
#include <iostream>
using namespace std;
int main() {
int num;
while (true) {
cout << "یک عدد وارد کنید (عدد 0 برای خروج): ";
cin >> num;
if (num == 0) {
break;
}
cout << "شما عدد " << num << " را وارد کردید." << endl;
}
cout << "برنامه پایان یافت." << endl;
return 0;
}
در این مثال، کاربر هر بار یک عدد وارد میکند. اگر مقدار 0 وارد شود، break باعث خروج از حلقه و پایان برنامه خواهد شد.
نکات مهم دربارهی حلقه while:
همیشه مطمئن شوید که شرط حلقه در جایی از بدنهی آن بهروزرسانی شود، در غیر این صورت ممکن است حلقه بینهایت اجرا شود.
اگر تعداد تکرارها از پیش مشخص است، استفاده از for ممکن است انتخاب بهتری نسبت به while باشد.
هنگام کار با ورودیهای کاربر، بررسی کنید که مقادیر ورودی در دامنهی مورد انتظار باشند تا از بروز مشکلات منطقی در برنامه جلوگیری شود. تا زمانی که شرط مشخصشده برقرار باشد، اجرا میشود.
مثال:
#include <iostream>
using namespace std;
int main() {
int count = 1;
while (count <= 5) {
cout << "تکرار شماره " << count << endl;
count++;
}
return 0;
}
در این مثال، حلقه تا زمانی که مقدار count کمتر از یا برابر با 5 باشد، اجرا میشود.
حلقه for در C++
حلقه for یکی از پرکاربردترین انواع حلقهها در C++ است که برای اجرای مجموعهای از دستورات به تعداد مشخصی از تکرارها استفاده میشود. برخلاف while که تا زمانی که شرط برقرار باشد اجرا میشود، در for تعداد دفعات اجرای حلقه معمولاً از قبل مشخص است.
ساختار کلی حلقه for:
for (مقدار اولیه; شرط اجرا; تغییر مقدار) {
// دستورات داخل حلقه
}
توضیح اجزای حلقه for:
مقدار اولیه: مقدار متغیری که برای کنترل حلقه استفاده میشود تعیین میگردد.
شرط اجرا: در هر بار اجرای حلقه بررسی میشود که آیا شرط برقرار است یا خیر. اگر شرط برقرار باشد، دستورات داخل حلقه اجرا میشوند.
تغییر مقدار: در پایان هر اجرای حلقه، مقدار متغیر کنترلی تغییر میکند (افزایش یا کاهش).
مثال ساده از حلقه for:
#include <iostream>
using namespace std;
int main() {
for (int i = 1; i <= 5; i++) {
cout << "عدد: " << i << endl;
}
return 0;
}
در این مثال، متغیر i از مقدار ۱ شروع شده و تا زمانی که مقدار آن کمتر از یا برابر ۵ باشد، حلقه اجرا خواهد شد. در پایان هر تکرار، مقدار i یک واحد افزایش مییابد.
مثال با گامهای متفاوت:
#include <iostream>
using namespace std;
int main() {
for (int i = 0; i <= 10; i += 2) {
cout << "عدد: " << i << endl;
}
return 0;
}
در این مثال، مقدار i در هر تکرار دو واحد افزایش مییابد.
حلقه for با مقدار اولیه خارج از حلقه:
#include <iostream>
using namespace std;
int main() {
int i = 1;
for (; i <= 5; i++) {
cout << "مقدار i: " << i << endl;
}
return 0;
}
در این روش، مقدار اولیه خارج از حلقه تعیین شده است اما شرط و تغییر مقدار داخل پرانتز for باقی میمانند.
حلقه for تو در تو:
در برخی موارد، نیاز است که یک حلقه داخل حلقهی دیگر اجرا شود. این ساختار به عنوان nested for شناخته میشود.
#include <iostream>
using namespace std;
int main() {
for (int i = 1; i <= 3; i++) {
for (int j = 1; j <= 3; j++) {
cout << "(i, j): (" << i << ", " << j << ")
";
}
}
return 0;
}
در این مثال، حلقه داخلی (j) در هر بار اجرای حلقه خارجی (i) سه بار اجرا خواهد شد، بنابراین خروجی شامل ۹ ترکیب مختلف از مقادیر i و j خواهد بود.
حلقه for معکوس (کاهش مقدار متغیر کنترلی):
#include <iostream>
using namespace std;
int main() {
for (int i = 10; i >= 1; i--) {
cout << "عدد: " << i << endl;
}
return 0;
}
در این مثال، مقدار i از ۱۰ شروع شده و در هر تکرار یک واحد کاهش مییابد تا به ۱ برسد.
استفاده از break و continue در حلقه for:
دستور break باعث خروج فوری از حلقه میشود.
دستور continue اجرای بخش باقیمانده حلقه را رد کرده و به تکرار بعدی میرود.
مثال استفاده از break:
#include <iostream>
using namespace std;
int main() {
for (int i = 1; i <= 10; i++) {
if (i == 6) {
break;
}
cout << i << " ";
}
return 0;
}
در این مثال، زمانی که مقدار i برابر ۶ شود، حلقه متوقف خواهد شد.
مثال استفاده از continue:
#include <iostream>
using namespace std;
int main() {
for (int i = 1; i <= 10; i++) {
if (i == 6) {
continue;
}
cout << i << " ";
}
return 0;
}
در این مثال، زمانی که مقدار i برابر ۶ شود، حلقه آن مقدار را نادیده گرفته و اجرای آن را از مقدار بعدی ادامه میدهد.
نکات مهم دربارهی حلقه for:
اگر شرط داخل حلقه همیشه برقرار باشد، حلقه بینهایت خواهد شد.
for (;;) {
cout << "این یک حلقه بینهایت است!" << endl;
}
حلقه for میتواند جایگزین while شود اگر تعداد تکرارها مشخص باشد.
برای جلوگیری از ایجاد خطا، مقدار متغیر کنترلی باید در هر تکرار تغییر کند. زمانی استفاده میشود که تعداد مشخصی از تکرارها مورد نیاز باشد.
مثال:
#include <iostream>
using namespace std;
int main() {
for (int i = 1; i <= 5; i++) {
cout << "عدد: " << i << endl;
}
return 0;
}
در این مثال، مقدار i از ۱ تا ۵ افزایش یافته و در هر تکرار مقدار آن چاپ میشود.
دستورات break و continue در C++
در زبان C++، دو دستور break و continue نقش مهمی در کنترل اجرای حلقهها دارند. این دستورات امکان تغییر رفتار طبیعی اجرای حلقه را فراهم میکنند و در شرایط خاص میتوانند از اجرای غیرضروری کد جلوگیری کنند.
دستور break:
دستور break بلافاصله اجرای حلقه را متوقف کرده و برنامه از حلقه خارج میشود. این دستور معمولاً در شرایطی استفاده میشود که نیاز باشد به محض وقوع یک وضعیت خاص، از حلقه خارج شویم.
مثال:
#include <iostream>
using namespace std;
int main() {
for (int i = 1; i <= 10; i++) {
if (i == 6) {
break; // خروج از حلقه زمانی که مقدار i برابر 6 شود
}
cout << i << " ";
}
return 0;
}
نتیجه اجرا:
1 2 3 4 5
در این مثال، حلقه زمانی که i == 6 شود متوقف میشود و مقدارهای بعد از ۵ نمایش داده نمیشوند.
دستور continue:
دستور continue باعث میشود که اجرای دستورات باقیمانده در بدنه حلقه رد شده و اجرای حلقه از ابتدا با مقدار جدید متغیر کنترلی ادامه پیدا کند. این دستور معمولاً زمانی استفاده میشود که بخواهیم برخی از تکرارها را نادیده بگیریم و تنها موارد خاصی را پردازش کنیم.
مثال:
#include <iostream>
using namespace std;
int main() {
for (int i = 1; i <= 10; i++) {
if (i == 6) {
continue; // رد کردن مقدار 6 و ادامه حلقه با مقدار بعدی
}
cout << i << " ";
}
return 0;
}
نتیجه اجرا:
1 2 3 4 5 7 8 9 10
در این مثال، مقدار i = 6 اجرا نمیشود و برنامه مستقیماً به مقدار i = 7 میرود.
استفاده از break و continue در حلقه while:
#include <iostream>
using namespace std;
int main() {
int num = 0;
while (num < 10) {
num++;
if (num == 5) {
continue; // مقدار 5 نادیده گرفته میشود
}
if (num == 8) {
break; // حلقه زمانی که مقدار num به 8 برسد، متوقف میشود
}
cout << num << " ";
}
return 0;
}
نتیجه اجرا:
1 2 3 4 6 7
در این مثال، مقدار 5 نادیده گرفته شده و مقدار 8 باعث خروج از حلقه میشود.
نکات مهم درباره break و continue:
break باعث خروج کامل از حلقه میشود، در حالی که continue فقط یک تکرار را رد کرده و اجرای حلقه را ادامه میدهد.
در حلقههای تو در تو، break فقط از حلقه داخلی خارج میشود مگر اینکه از روشهایی مانند goto یا return برای خروج کامل استفاده شود.
استفادهی نادرست از این دستورات ممکن است خوانایی کد را کاهش دهد، بنابراین باید به درستی و در شرایط مناسب به کار روند.
با استفاده صحیح از break و continue، میتوان جریان اجرای برنامه را بهتر کنترل کرد و از اجرای غیرضروری کد جلوگیری نمود.
دستور break باعث خروج فوری از یک حلقه میشود.
دستور continue اجرای بخش باقیمانده حلقه را رد کرده و به تکرار بعدی میرود.
مثال استفاده از break:
#include <iostream>
using namespace std;
int main() {
for (int i = 1; i <= 10; i++) {
if (i == 6) {
break;
}
cout << i << " ";
}
return 0;
}
در این مثال، زمانی که مقدار i برابر با ۶ شود، حلقه متوقف خواهد شد.
مثال استفاده از continue:
#include <iostream>
using namespace std;
int main() {
for (int i = 1; i <= 10; i++) {
if (i == 6) {
continue;
}
cout << i << " ";
}
return 0;
}
در این مثال، زمانی که مقدار i برابر با ۶ شود، حلقه آن مقدار را نادیده گرفته و اجرای آن را از مقدار بعدی ادامه میدهد.
نتیجهگیری
کنترل جریان در C++ یکی از مهمترین مفاهیم در برنامهنویسی است که به ما اجازه میدهد کدهای خود را بهصورت انعطافپذیر و کارآمد مدیریت کنیم. با استفاده از شرطها، حلقهها و دستورات کنترلی مانند break و continue، میتوان الگوریتمهای پیچیده را بهراحتی پیادهسازی کرد. امیدواریم این مقاله برایتان مفید واقع شود.
