Từ 1 tới 8 trên tổng số 8 kết quả

Đề tài: [ Solved ]Lệnh thoát ra khỏi chương trình-goto

  1. #1
    Ngày gia nhập
    08 2008
    Bài viết
    48

    Mặc định [ Solved ]Lệnh thoát ra khỏi chương trình-goto

    tớ có hai câu lệnh điều kiện lồng nhau như sau:
    PHP Code:
    while(){
              ...
              for(){
                       ....
                       
    thỏa mãn một điều kiện nào đó thì thoát ra !


    nếu tớ không dùng goto thì làm sao có thể thoát ra ngoài cả vòng lặp của while?
    Hạnh phúc luôn đợi ta mỉn cười lại với nó.(^,,^).

  2. #2
    Ngày gia nhập
    09 2007
    Bài viết
    724

    tham khảo thêm từ khóa break nhé bạn
    Khuyến mãi thêm cho bạn đoạn code nè .
    C++ Code:
    1. #include <iostream>
    2. using namespace std;
    3. int main()
    4. {
    5.    
    6.     int j,count=0;
    7.     for(int i = 0; i<10 ; i++)
    8.         for(j = 0; j < 100; j++)
    9.             if(j==10) {count ++; break;}
    10.  
    11.     cout<<j<<count;
    12.     system("pause");
    13.     return 0;
    14. }
    Đã được chỉnh sửa lần cuối bởi zkday2686 : 19-11-2008 lúc 10:37 PM.

  3. #3
    Ngày gia nhập
    08 2008
    Bài viết
    48

    break chỉ cho phép thoát ra khỏi vòng lặp nhỏ nhất thôi, cái tớ muốn là thoát ra ngoài toàn bộ tất cả những vòng lặp to nhỏ mà break nằm trong đó cơ.
    tức là ở đây phait thoát ra ngoài khỏi cả vòng while!, còng chương trình của bạn phải thoát ra khỏi cả hai vòng for!
    Hạnh phúc luôn đợi ta mỉn cười lại với nó.(^,,^).

  4. #4
    Ngày gia nhập
    11 2008
    Nơi ở
    Neverland
    Bài viết
    48

    Kết hợp break và flag là được . Hoặc dùng exit() thoát ...luôn chương trình .
    C++ Code:
    1. bool flag=false;
    2. while (true) {
    3.       for (int i=0;i<10;++i)
    4.           if (i==4) {
    5.                 flag=true;
    6.                 break;
    7.           }
    8.       if (flag)
    9.           break;
    10. }
    Nói chung lệnh goto không khuyến khích dùng mà cho nó ...tiêu luôn .
    Đã được chỉnh sửa lần cuối bởi trung_dk070384 : 19-11-2008 lúc 11:15 PM.
    I'm superman

  5. #5
    Ngày gia nhập
    09 2007
    Bài viết
    724

    thía à
    vậy đây là code
    C++ Code:
    1. #include <iostream>
    2. using namespace std;
    3. int main()
    4. {
    5.     bool flag = true;
    6.     int j,count=0;
    7.     for(int i = 0; i<100 && flag ; i++)
    8.     {
    9.         count ++;
    10.         for(j = 0; j < 100; j++)
    11.             if(j==10) {
    12.                 flag = false;
    13.                 break;
    14.             }
    15.     }
    16.  
    17.     cout<<j<<count;
    18.     system("pause");
    19.     return 0;
    20. }

  6. #6
    Ngày gia nhập
    11 2008
    Bài viết
    186

    Mặc định [ Solved ]Lệnh thoát ra khỏi chương trình-goto

    Trích dẫn Nguyên bản được gửi bởi hahonga3 Xem bài viết
    break chỉ cho phép thoát ra khỏi vòng lặp nhỏ nhất thôi, cái tớ muốn là thoát ra ngoài toàn bộ tất cả những vòng lặp to nhỏ mà break nằm trong đó cơ.
    tức là ở đây phait thoát ra ngoài khỏi cả vòng while!, còng chương trình của bạn phải thoát ra khỏi cả hai vòng for!
    1. Sử dụng flag để điều khiển vòng lặp
    2. Đặt điều kiện thoát
    3. Không hiểu 2 điều trên, làm nhiều sẽ biết.

  7. #7
    Ngày gia nhập
    08 2008
    Bài viết
    48

    Cảm ơn mọi người, tớ nhớ rui`. Nhưng tớ vẫn không hiểu sao mọi người thường nói không nên dùng goto, bình thường thì nó ảnh hưởng không tốt như thế nào?
    Hạnh phúc luôn đợi ta mỉn cười lại với nó.(^,,^).

  8. #8
    Ngày gia nhập
    11 2008
    Nơi ở
    Neverland
    Bài viết
    48

    Lệnh goto là dấu vết còn sót lại của ngôn ngữ bậc thấp tương tự các lệnh nhảy trong Assembly nó làm mất tính cấu trúc của chương trình . Dẫn đến khó khăn trong quá trình bug lỗi bảo trì đôi khi làm cho người khác đọc Code của mình cũng thấy khó khăn hơn . Tại vì dùng goto bạn có thể nhảy tới bất kì một đoạn mã nào trong chương trình . Cứ thử tưởng tượng bạn dùng goto nhảy tới nhảy lui qua lại giữa các hàm xem ----> điều gì sẽ xảy ra sau một số lần nhảy như vậy ???? Có lẽ đến lúc đó nếu đọc lại Code của mình bạn cũng không hiểu mình định làm gì nữa .
    Đã được chỉnh sửa lần cuối bởi trung_dk070384 : 19-11-2008 lúc 11:43 PM.
    I'm superman

Các đề tài tương tự

  1. Lệnh goto trên C | Giúp mình hiểu về lệnh goto trên C?
    Gửi bởi kenptit trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 5
    Bài viết cuối: 14-10-2013, 10:34 PM
  2. đôi chỗ không hiểu về if và goto?
    Gửi bởi thaohoangf trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 6
    Bài viết cuối: 08-12-2012, 11:22 PM
  3. [ Solved ]Lỗi class với goto
    Gửi bởi ngocnam_it trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 10
    Bài viết cuối: 16-11-2008, 02:40 PM
  4. [ Solved ]Lệnh goto
    Gửi bởi superworm711 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 10
    Bài viết cuối: 27-10-2008, 02:20 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn