Nhờ giúp đỡ vấn đề trong chương trình người treo cổ viết bằng C

là debug phải không bạn ?

1 Like

Hi Hoài Nam Trương.
Không là BẮT BỌ

nghĩa là sao bạn ? :sweat_smile: bắt bọ nghĩa là gì .

Cái ông @Phong_Ky_Vo cứ loanh quanh mãi :smile: chung quy lại vẫn là debug code và tránh dùng goto thôi :v

ths bác, bác trên nói bắt bọ làm mình cứ tưởng là gì không :sweat_smile:

Hi Hoài Nam Trương.
BẮT BỌ

  1. Code đặt tên Anh Việt lẫn lộn.
  2. Đặt tên theo kiểu lạc đà + rắn.
  3. Thụt thụt thò thò không có hàng lối gì cả.
  4. so_ky_tu_bi_mat = malloc(do_dai_tu*sizeof(int)); // Số ký tự sao lại là một mảng nhỉ ?
  5. Cái if thì có ngoặc cái thì không.
if(so_ky_tu_bi_mat[i]) //nếu người chơi tìm thấy ký tự i
            printf("%c",ky_tu_bi_mat[i]); // hiển thị ký tự
            else
            printf("*");

if(!kiem_tra_ky_tu(ky_tu,ky_tu_bi_mat,so_ky_tu_bi_mat))
        {
            so_lan_doan--;
        }
1 Like

Cái này là rộng hơn bắt bọ rồi. Nói đúng hơn, đây là vấn đề phẫu thuật thẩm mỹ code.

1 Like

Mình cũng đến “Muốn treo cổ” luôn rồi. Code mình cũng không khác gì của bạn. Nhưng chữ cái mà mình đoán đầu tiên nó luôn luôn sai dù là chữ đó có trong từ bí mật, khi đoán chữ đó lần thứ hai thì nó mới được. Của mình bị vấn đề là lần đoán đầu tiên nó luôn luôn sai, kể từ lần đoán thứ hai thì tất cả bình thường. Vậy có bạn nào chỉ cho mình với…!!

Up code lên bạn ơi. Bạn cứ nói thế này suông thì không ai biết bạn sai ở đâu cả.

1 Like

giống y chang trên kia luôn, khác mỗi cách đặt tên biến số thoi

Bạn up cả đống code thế này, thực sự mình sống không nổi :sweat:

Thiếu &

Vòng for sai 1 điều kiện, phải là < doDaiTuBM. Và không chỉ có 1 chỗ sai như thế này:

Nếu đây là dòng bạn khởi tạo từ bí mật thì hãy đưa nó ra ngoài vòng while do.

Mình chịu code của bạn thôi.

Rất cảm ơn ý kiến của bạn!
scanf("%s",&datTuBM); nếu thêm & thì có lỗi ngay tại bước đó.
Hai ý của bạn về khai báo và vòng lặp for thì đúng rồi
Nhưng vấn đề của mình như đã nói ngay từ đầu thì vẫn chưa thể giải quyết được.
Bạn hãy xem

    Che do choi 1 nguoi hay 2 nguoi?
    2
    Nguoi choi thu nhat hay dat tu bi mat...
    nguyen
    Nguoi choi thu hai hay giai tu bi mat...

     Ban co 10 luot doan de choi
     Tu bi mat la gi?  Hay chon tu  ******---------e

     Ban co 9 luot doan de choi
     Tu bi mat la gi?  Hay chon tu  ******---------e

     Ban co 9 luot doan de choi
     Tu bi mat la gi?  Hay chon tu  ****E*---------n

     Ban co 9 luot doan de choi
     Tu bi mat la gi?  Hay chon tu  N***EN---------g

     Ban co 9 luot doan de choi
     Tu bi mat la gi?  Hay chon tu  NG**EN---------u

     Ban co 9 luot doan de choi
     Tu bi mat la gi?  Hay chon tu  NGU*EN---------yyy
        Ban da chien thang     NGUYEN
    Co choi lai phan nay 0?
    1
    Nguoi choi thu nhat hay dat tu bi mat...
    nhh
    Nguoi choi thu hai hay giai tu bi mat...

     Ban co 10 luot doan de choi
     Tu bi mat la gi?  Hay chon tu  ***---------f

     Ban co 9 luot doan de choi
     Tu bi mat la gi?  Hay chon tu  ***---------h

     Ban co 9 luot doan de choi
     Tu bi mat la gi?  Hay chon tu  *HH---------n
        Ban da chien thang     NHHY
    Co choi lai phan nay 0?
    0
    Chon 0 de ket thuc/ Choi tiep chon so bat ki..2
    Che do choi 1 nguoi hay 2 nguoi?
    1


     Ban co 10 luot doan de choi
     Tu bi mat la gi?  Hay chon tu  ***********---------i


     Ban co 9 luot doan de choi
     Tu bi mat la gi?  Hay chon tu  ***********---------i


     Ban co 9 luot doan de choi
     Tu bi mat la gi?  Hay chon tu  I*******I**---------n


     Ban co 9 luot doan de choi
     Tu bi mat la gi?  Hay chon tu  IN******I*N---------t


     Ban co 9 luot doan de choi
     Tu bi mat la gi?  Hay chon tu  IN*T***TI*N---------r


     Ban co 9 luot doan de choi
     Tu bi mat la gi?  Hay chon tu  IN*TR**TI*N---------u


     Ban co 9 luot doan de choi
     Tu bi mat la gi?  Hay chon tu  IN*TRU*TI*N---------c


     Ban co 9 luot doan de choi
     Tu bi mat la gi?  Hay chon tu  IN*TRUCTI*N---------s


     Ban co 9 luot doan de choi
     Tu bi mat la gi?  Hay chon tu  INSTRUCTI*N---------o
        Ban da chien thang     INSTRUCTION
    Co choi lai phan nay 0?
    1


     Ban co 10 luot doan de choi
     Tu bi mat la gi?  Hay chon tu  ********---------

scanf không có & mới là có lỗi. Còn có mà sinh lỗi thì do datTuBM của bạn không phải là string.

1 Like

vậy mình khai báo thế này đúng không v??

Ok rồi. Dòng 77 của bạn chỉ bị warning thôi. Bạn có thể google để xem kĩ hơn nguyên nhân tại sao bị warning.

1 Like

Ủa dòng 77 phải bỏ dấu & đi khi scanf chứ nhỉ?

1 Like

scanf mà bỏ & thì gọi éo gì là scanf nữa @@
warning ở kiểu dữ liệu (argument 2) cơ mà :v

theo em nhớ nếu như char kiểu đó thì & là char, còn không có & là char *. Tại nếu mà & là nó chỉ nạp vô cái chữ cái đầu tiên thôi, còn bỏ là nạp hết, đây là %s

Anh viết code C có & này:

À, lúc khai báo char datTuBM[100]={0}; nên ở scanf("%s",&datTuBM); mới báo lỗi, kia là sửa lại rồi…hii!

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?