Tại sao xóa bộ nhớ đệm rồi vẫn bị lỗi

#include <stdio.h>
#include <conio.h>

int main()
{
	
	float diem;
 cuongdeptrai:

	printf("\nNhap diem: ");
	scanf("%f", &diem);
	if (diem < 0 || diem > 10)
	{
		printf("\nDiem khong hop le!");
		goto cuongdeptrai;
	}
	if (diem >= 5)
	{
		printf("\nQua mon");
	}
	else
	{
		printf("\nHoc lai!");
	}
	
	char x;
	fflush(stdin);
	printf("\nBan co muon tiep tuc khong y/n: ");
	scanf("%c", &x);
	
	if (x == 'y')
	{
		goto cuongdeptrai;
	}
	
	_getch();
         return 0
}

em đã có hàm fflush(stdin) nhưng khi nhập ký tự y thì chương trình kết thúc luôn , e mới học mong mọi người chỉ với ạ

  • Bỏ goto đi, thay bằng while.

  • Thay fflush(stdin) bằng fflush(stdout).

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