Không thể xóa bộ nhớ đệm trong c++

Mọi nguoi ho mình hỏi :
Khi mình nhập một ký tự trong c++ dùng cin. ví dụ
char x;
cin>>x;
sau đó xuống dưới chuẩn bị nhập số thì lại không nhập đc. Nó nhảy qua lệnh nhập số luôn.
Mình đa dùng lệnh cin.ignore(); nhưng không ăn thua
Help me!
Thank all

Dùng fflush(stdin); thử xem :slight_smile:

bạn tạo đại 1 hàm để nhận giá trị rác đó đi

vd:

void() cle{
       string s;
       getline(cin,s);
  }

rồi bạn gọi hàm này sau khi gọi cin

tat ca deu không dc các bạn ha

vậy ở cái phần nhập số đó, bạn có quên cin >> so vào ko đấy?

Bạn post code lên cho người khác dễ xem

1 Like

1 đoạn code trong bài làm của mình về DSLK kép

cout << "THEM PHAN TU VAO DAU\n";
while (cin >> x)
	{
		Add_first(head, tail, x);
	}

cout << "THEM PHAN TU VAO CUOI" << endl;

while (cin>>x)
{
	
	Add_last(head, tail, x);
}

nó không thực hiện vòng lệnh thứ 2 mà nhảy luôn
(Đk để dừng 1 vòng lệnh là nhập vào 1 ky tự bất kỳ)

sao không ai giúp mình nhỉ

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