Kiểu dữ liệu unsigned long trong C++
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, ‘\n’); có ý nghĩa gì ạ?!
thank all!
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 ạ
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ập int 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òng while
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 ấn Enter
thì trong buffer của chương trình sẽ có một ký tự xuống dòng, và lệnh cin >> 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 ạ? …