01/10/2018, 09:22
Kiểu dữ liệu unsigned long trong C++
ở chỗ int N;
Nếu thay bằng unsigned long N; thì vòng lặp while nó ko thực hiện là lý do gì ạ
cho em hỏi thêm số 1000 trong cin.ignore(1000, ‘ ’); có ý nghĩa gì ạ?!
thank all!
Bài liên quan
cin.good() để làm gì vậy bạn?
em ko biết ,code này e copy thôi a , nó có ý nghĩa gì ạ.
yêu cầu bài toán nếu N<0 ,N là kí tự , N ko là số nguyên thì phải báo lỗi ạ
A post was merged into an existing topic: Topic này chứa các post được cho là Off-topic
Xin lỗi bạn mình chưa thấy hàm good() bao giờ :v nhưng nếu vòng lặp không chạy lấy một lần thì có vẻ hàm cin.good() luôn trả về true rồi? bạn xem kỹ hàm cin.good() xem saooo
unsigned
là các kiểu dữ liệu số dương bạn à.while (N<0)
thì chắc chắn không bao giờ xảy ra rồi :))cin.good()
trả vềtrue
nếu như stream không làm sao cả, trả vềfalse
nếu như stream có vấn đề (ví dụ như nhậpint N = "cái gì đó không phải là số";
hoặc đọc ghi file không thực hiện được chẳng hạn) nên trong trường hợp của bạn, phải nhập N là cái gì đó gây lỗi (ví dụ"ahjhj"
thay vì số) thì vòngwhile
mới chạy.cin.ignore(1000, '\n')
tức là bỏ qua 1000 ký tự trong buffer hoặc đến khi gặp ‘\n’ (Nếu không có dòng này, khi em ấnEnter
thì trong buffer của chương trình sẽ có một ký tự xuống dòng, và lệnhcin >> N;
trong vòng lặp sẽ nhận ký tự xuống dòng này là ký tự đầu tiên để chuyển thành dãy chữ số của N.buffer là sao ạ? …