Video Ngôn Ngữ C - 18 - Vòng lặp: do while

#Đăng ký khóa học C++ cơ bản 2016 ( NEW ) tại đây :
#Thông tin về khóa học xem tại đây :

-Sự khác biệt giữa 2 khóa học cũ và mới :
+Khóa học C++ cơ bản 2016 là khóa học mới, được đầu tư nhiều hơn từ nội dung, phương pháp học, cách học hiệu quả.
+Trong khóa học còn có nhiều kiến thức mới như thực hành trên HackerRank, thực hành trên Codefights và Đạt nghĩ mọi người nên học khóa học mới, bởi vì đây là kiến thức mới, phù hợp với hiện tại… Mặt khác âm thanh cũng tốt hơn nhiều so với khóa học cũ giúp đỡ việc lắng nghe và hiểu được tốt hơn.

3 Likes

Mọi người cho mình hỏi bài tập này với:
Giả sử có 1 game, mình muốn sau khi chơi xong, thì người chơi có thể chơi lại hay không?

int main()
{
    int tieptuc = 1;
    char yes_or_no;
    do
    {
        //game;
        printf("ban co muon choi lai khong?";
        scanf("%c",&yes_or_no);
        if(yes_or_no = 'y')
        {
            tieptuc = 1;
        }
        else
        {
            tieptuc = 0;
        }
    }
    while (tieptuc = 1);
}

=> Đoạn code trên của mình sai ở đâu?

sửa lại == chứ không phải =

Okie. Mình cảm ơn. Cho mình hỏi thêm một chút. Mình có đoạn code sau:

#include <stdio.h>
#include <stdlib.h>

int main()
{
    int tieptuc;
    char yes_or_no;
    do
    {
        printf("Hello, chao ban!\n");//game
        system("pause");
        printf("Ban co nghe toi noi khong?\n");
        scanf("%c",&yes_or_no);
        if(yes_or_no == 'n')
        {
            tieptuc = 1;
        }
        else
        {
            tieptuc = 0;
        }
    }
    while (tieptuc == 1);
}

Mục đích của mình là khi người A nói: “Hello, chào bạn. Bạn có nghe tôi nói không?”
Người B nếu nghe thì nhập “y” thì kết thúc hàm => Cái này thì OK.
Nhưng khi người B không nghe thì nhập “n”. Cứ thế người A lại hỏi lại, B lại không nghe.
=> Tại sao vòng lặp của mình chỉ chạy có 2 lần??? Đến lần thứ 2 thì nó tự thoát kết thúc hàm.

Không biết tí gì về C như mà bạn đang khai báo biến tieptuc vô ích.

Sao không check điều kiện cho yes_or_no == 'n' rồi lặp ?

bạn chưa xóa bộ nhớ đệm nên [quote=“thanhnt, post:4, topic:76”]
scanf("%c",&yes_or_no);
[/quote]

sẽ nhận phím bất kí trước đó
Sửa

        fflush(stdin);
        scanf("%c",&yes_or_no);
2 Likes

Oh, chuẩn rồi. Thank you. :smiley:

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