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

Đề tài: switch & goto --> Error

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

    Question switch & goto --> Error

    một bài đơn giản thế này mà em không tìm ra lỗi . Mong mọi người fix giùm em cái lỗi nó nằm ở đâu
    Code:
     #include<stdio.h>
    #include<conio.h>
    void main()
    {
    	int n,i,j,k,m;
    	char muc1;
    	clrscr();
    	printf("\n Ban muon Hien bao nhieu dong :");
    	scanf("%d",&n);
    	printf("\n +-----------------------+");
    	printf("\n |   Moi Ban Chon MeNu   |");
    	printf("\n |  1. Tam Giac Vuong    |");
    	printf("\n |  2. Tam Giac Can      |");
    	printf("\n |  3. Thoat Khoi Day    |");
    	printf("\n +-----------------------+");
    	muc1:
    	printf("\n Ban Chon Muc Nao :");
    	scanf("%c",&muc1);
    	switch (muc1)
    	{
    	case = '1':
    	for(i=1;i<=n;i++)
    	{
    		printf("\n");
    		for(j=1;j<i:j++)
    		printf(" * ");
    		printf("\n");
    	}
    	break;
    	case= '2':
    	for(i=1;i<=n;i++)
    	{
    		printf("\n\t\t");
    		for(j=0;j<n-i;j++)
    		printf(" ");
    		for(k=1;k<i;k++)
    		printf(" *");
    		printf("\n");
    	}
    	break;
    	case= '3':
    	exit();
    	break;
    	default:
    	printf("\n Ban Chon Sai MeNu , Moi Ban Chon Lai :");
    	goto muc1;
    	}
    getch();
    }
    Thân !

  2. #2
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Sai ở chỗ tên biến là muc1 trùng với tên của nhãn.
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

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

    em sửa hết thay cái đấy rồi mà nó vẫn báo có 8 lỗi báo lỗi chỗ case '1' và i và n nữa

  4. #4
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    case '1' chứ không phải case = '1'
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

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

    Okie thanks anh em lam duoc roi hihi , cho em hoi la tai sao ma em bam số 6 nó lại bảo là bạn chọn sai xin chọn lại . mà số 6 này là em nhập của n chứ có phải là chọn số 6 của menu dâu ạ ,

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

    Thumbs down switch & goto --> Error

    Lỗi đó do bộ đệm bàn phím vẫn còn kí tự '\n' nên làm trôi dòng đọc muc1 của bạn . Chỉ cần sửa lại một tí là chương trình của bạn chạy ngon lành như sau:
    Code:
              scanf("%d%*c",&n);
    Lúc đọc vào giá trị n thêm %*c vào sẽ đẩy nốt kí tự '\n' trong bộ đệm ra cho nên lệnh nhập sau scanf("%c",&muc1) mới hoạt động đúng ý của bạn .

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

    Theo em thay vì dùng goto ta nên dùng vòng lặp while, vì ko thấy mấy người dùng lệnh goto trong C!

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. Error 1 fatal error LNK1000: Internal error during IncrBuildImage?
    Gửi bởi nthung trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 4
    Bài viết cuối: 07-11-2010, 09:22 PM
  4. Lệnh goto trong lập trình C?
    Gửi bởi luckyboy310589 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 6
    Bài viết cuối: 29-03-2009, 11:16 PM
  5. [ 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