آموزش ساختار goto در C++ (به زبان کاملا ساده)

رتبه: 0 ار 0 رای sssss
آموزش ساختار goto در C++ (به زبان کاملا ساده)
نویسنده: تیم تولید محتوا زمان مطالعه 1 دقیقه
Banner Image

در این آموزش ساختار goto ، نحوه ی کار و اینکه چرا باید از استفاده آن اجتناب کرد را می آموزید.

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

ساختار goto در C++

goto label;

… .. …

… .. …

… .. …

label:

statement;

… .. …

در ساختار بالا، label علامت است. وقتی که برنامه با goto label; مواجه می شود، کنترل برنامه به label می پرد و ادامه کد از آن جا اجرا می شود.

C:UsersMrDesktopworking-goto.jpg

مثال : goto در C++

  1. // This program calculates the average of numbers entered by user.
  2. // If user enters negative number, it ignores the number and
  3. // calculates the average of number entered before it.
  4. # include
  5. using namespace std;
  6. int main()
  7. {
  8. float num, average, sum = 0.0;
  9. int i, n;
  10. cout << “Maximum number of inputs: “;
  11. cin >> n;
  12. for(i = 1; i <= n; ++i)
  13. {
  14. cout << “Enter n” << i << “: “;
  15. cin >> num;
  16. if(num < 0.0)
  17. {
  18. // Control of the program move to jump:
  19. goto jump;
  20. }
  21. sum += num;
  22. }
  23. jump:
  24. average = sum / (i – 1);
  25. cout << “nAverage = ” << average;
  26. return 0;
  27. }

خروجی

Maximum number of inputs: 10

Enter n1: 2.3

Enter n2: 5.6

Enter n3: -5.6

Average = 3.95

می توانید هر برنامه C++ را بدون استفاده از goto بنویسید.

دلایل پرهیز از استفاده goto

goto به ما این امکان را می دهد که از هر نقطه به نقطه ی دیگری در کد پرش کنیم اما منطق برنامه پیچیده و تو در تو خواهد شد.

در برنامه نویسی مدرن، goto ساختار مضری در نظر گرفته می شود.

به جای goto می توان از break و continue در C++ استفاده کرد.

نکات مهم در استفاده از goto

همانطور که گفته شد، گرچه استفاده از `goto` در برنامه‌نویسی مدرن به دلیل مشکلاتی که در خوانایی و نگهداری کد ایجاد می‌کند توصیه نمی‌شود، اما درک نحوه استفاده از آن می‌تواند مفید باشد. در زیر به نکات مهم مربوط به ساختار `goto` در C++ اشاره می‌شود:

تعریف و استفاده از برچسب:

برچسب‌ها با یک نام که با حروف الفبا شروع می‌شود تعریف می‌شوند و باید با یک علامت دونقطه (:) ختم شوند.

برچسب‌ها می‌توانند در هر جایی از تابع تعریف شوند، حتی قبل از دستور `goto` که به آن‌ها اشاره می‌کند.

   #include <iostream>

   using namespace std;

 

   int main() {

       int i = 0;

 

   start: // تعریف برچسب

       cout << i << " ";

       i++;

 

       if (i < 5) {

           goto start; // استفاده از دستور goto

       }

 

       cout << "End of loop" << endl;

       return 0;

   }

  

کاربردهای مناسب `goto`:

برای خروج از چند حلقه تودرتو:

     for (int i = 0; i < 10; i++) {

         for (int j = 0; j < 10; j++) {

             if (someCondition) {

                 goto exitLoops; // خروج از دو حلقه

             }

         }

     }

   exitLoops:

     cout << "Exited loops." << endl;

مشکلات استفاده از `goto`:

کاهش خوانایی کد: استفاده از `goto` می‌تواند کد را پیچیده و غیرقابل خواندن کند.

افزایش احتمال بروز خطا: ردیابی جریان کنترل برنامه و خطاها در برنامه‌هایی که از `goto` استفاده می‌کنند دشوارتر است.

کد غیر ساخت‌یافته: استفاده از `goto` ساختارهای کنترلی استاندارد مانند حلقه‌ها و شرط‌ها را نادیده می‌گیرد و باعث ایجاد کد غیر ساخت‌یافته می‌شود.

جایگزین‌های مناسب برای `goto`:

حلقه‌ها و شرط‌ها: در بیشتر مواقع، می‌توان از حلقه‌های `for`، `while` و دستورات شرطی `if`، `else` استفاده کرد.

توابع و بازگشت: استفاده از توابع و بازگشت می‌تواند به مدیریت بهتر جریان کنترل و تقسیم برنامه به بخش‌های کوچکتر و قابل فهم‌تر کمک کند.

استفاده از استثناها: در مواقعی که نیاز به خروج از چندین سطح تودرتو دارید، استفاده از استثناها (Exceptions) می‌تواند جایگزین مناسبی باشد.

به طور کلی، استفاده از `goto` باید با دقت و فقط در موارد خاص انجام شود. برنامه‌نویسان باید تلاش کنند از ساختارهای کنترلی استاندارد و تکنیک‌های مدرن برنامه‌نویسی استفاده کنند تا کدهای خواناتر و قابل نگهداری‌تری تولید کنند.

profile name
تیم تولید محتوا

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

مطالب پیشنهادی برای شما

محصولات مرتبط

مشاهده همه
آموزش سی اس اس (CSS) از صفر تا صد
آموزش سی اس اس (CSS) از صفر تا صد
قیمت محصول 10٪ 440,000 تومان 490,000
ادامه مطلب

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

1 2 3 4 5

0 نظر درباره «آموزش ساختار goto در C++ (به زبان کاملا ساده)»

    هنوز نظری برای این بخش ثبت نشده است
مشاهده همه نظرات
سبد خرید
سبد خرید شما خالی است
× جهت نصب روی دکمه زیر در گوشی کلیک نمائید
آی او اس
سپس در مرحله بعد برروی دکمه "Add To Home Screen" کلیک نمائید