در این آموزش با ساختار های break و continue، نحوه و زمان استفاده شان آشنا خواهید شد.
در C++ دو ساختار break; و continue; برای تغییر روند عادی یک برنامه وجود دارد. گاهی اوقات می خواهیم در یک حلقه دستورات برای شرط خاصی انجام نشوند یا بدون بررسی شرط حلقه به پایان برسند.
برای مثال می خواهیم روی سن افراد کمتر از ۶۵ سال حلقه تعریف کنیم یا بخواهیم اولین فرد ۲۰ ساله را پیدا کنیم.
در چنین مواردی از ساختار های break; و continue; استفاده می کنیم.
break در C++
break در C++ موجب پایان یافتن بی درنگ حلقه می شود.حلقه می تواند for، while، do … while و حتی ساختار switch باشد.
ساختار break
break;
در واقع break اکثر اوقات داخل بدنه ی عبارات شرطی (if … else) استفاده می شود.
نحوه ی کار break به چه شکل است؟
مثال ۱ : break در C++
در برنامه زیر کاربر تا زمانی که صفر وارد نکرده باشد حلقه تکرار می شود و عدد وارد شده با sum جمع می شود.
// C++ Program to demonstrate working of break statement
#include <iostream>
using namespace std;
int main() {
float number, sum = 0.0;
// test expression is always true
while (true)
{
cout << “Enter a number: “;
cin >> number;
if (number != 0.0)
{
sum += number;
}
else
{
// terminates the loop if number equals 0.0
break;
}
}
cout << “Sum = ” << sum;
return 0;
}
خروجی
Enter a number: 4
Enter a number: 3.4
Enter a number: 6.7
Enter a number: -4.5
Enter a number: 0
Sum = 9.6
در کد بالا شرط حلقه همواره درست (true) است.
از کاربر خواسته می شود عددی وارد کند که در number ذخیره می شود. اگر کاربر هر عددی بجز ۰ وارد کند، به sum اضافه می شود.
دوباره از کاربر خواسته می شود ععد دیگری وارد کند. هنگامی که کاربر ۰ وارد کرد شرط درون if نادرست(false) می شود و بدنه ی else اجرا می شود که خاتمه حلقه است.
در پایان مقدار sum نمایش داده می شود.
Continue در C++
گاهی اوقات می خواهیم از شرط خاصی درون حلقه بگذریم. در چنین مواقعی از ساختار continue در C++ استفاده می کنیم.
ساختار continue
continue;
continue اکثر اوقات درون عبارات شرطی استفاده می شود.
نحوه ی کار ساختار continue
مثال ۲ : continue در C++
برنامه زیر اعداد ۱ تا ۱۰ را بجز ۶ و ۹ نمایش می دهد.
#include <iostream>
using namespace std;
int main()
{
for (int i = 1; i <= 10; ++i)
{
if ( i == 6 || i == 9)
{
continue;
}
cout << i << “\t”;
}
return 0;
}
خروجی
۱ ۲ ۳ ۴ ۵ ۷ ۸ ۱۰
در برنامه بالا وقتی i برابر با ۶ یا ۹ شد، خط cout<< i << “\t”; با استفاده از دستور continue اجرا نمی شود.