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!

Trần Minh Thắng viết 11:24 ngày 01/10/2018

cin.good() để làm gì vậy bạn?

Vinh viết 11:24 ngày 01/10/2018

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 ạ

Tâm Ninja viết 11:33 ngày 01/10/2018

A post was merged into an existing topic: Topic này chứa các post được cho là Off-topic

Trần Minh Thắng viết 11:39 ngày 01/10/2018

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

Trần Hoàn viết 11:25 ngày 01/10/2018

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.

Vinh viết 11:37 ngày 01/10/2018

buffer là sao ạ? …

Bài liên quan
0