01/10/2018, 15:36

Kiểm tra nhập liệu qua scanf

do dam mê,em mới tự học lập trình trên web daynhauhoc được 1 thời gian ngắn thấy rất hiểu ạ,nhưng giờ em muốn tạo thử trò chơi lớn hơn bé hơn(phần cuối bài 1) ở mức nâng cao ạ,và em đang làm đến phần chọn độ khó,đại loại nó sẽ hiển thị như sau:
Chon do kho
tu 1-100 (de) nhap 1
tu 1-500 (trung binh) nhap 2
tu 1-1000 (kho) nhap 3
_
em sử dụng lệnh if để nếu nhập 1 thì MAX là 100,nhập 2 thì MAX là 500 và nhập 3 thì MAX là 1000 ạ,cái này dễ,nhưng em đặt trường hợp giả sử có người lẫn nhập nhầm 1 số nào đó như 69 hay nhập nhầm cả chữ “kimochi” chẳng hạn ạ =))) thì em muốn phần mềm của em phải biết báo nhập nhầm và yêu cầu nhập lại,nếu em xài while,sau đó scanf nằm trong khối lệnh của while thì nó sẽ biết báo nhập nhầm và yêu cầu nhập lại nhưng lại không xuất được giá trị ra ngoài để kết luận MAX là bao nhiêu để chơi được nữa,em không biết làm sao,mong các tiền bối chỉ giáo ạ,em xin cảm ơn trước!!!

HK boy viết 17:45 ngày 01/10/2018

Mình đọc mấy lần mới hiểu câu hỏi của bạn :v

Code:

int MAX;
char input[100];
while (gets(input)) {  // đọc 1 dòng, lấy dữ liệu người dùng
	// so sánh những gì người dùng nhập với 1, 2, 3
	if (strcmp(input, "1") == 0) { MAX = 100; break; }
	if (strcmp(input, "2") == 0) { MAX = 500; break; }
	if (strcmp(input, "3") == 0) { MAX = 1000; break; }
}
Bài liên quan
0