Kteam Q&A Community

Cộng đồng hỏi đáp về các vấn đề trong lập trình, công nghệ thông tin.

0

Input number in cpp

Em đang cần nhập một id chỉ chứa toàn số. Nếu người dùng trong quá trình nhập nhầm chữ cái hoặc kí tự đặc biệt thì xóa và bắt nhập lại. Mong được giúp đỡ.

2 câu trả lời Thêm câu trả lời

3
Steven đã trả lời 2018-03-12 01:16:49

Đây nhé bạn:

 - Nguồn: StackOverflow

bool IsDigitsOnly(string str)
{
    foreach (char c in str)
    {
        if (c < '0' || c > '9')
            return false;
    }

    return true;
}
K newbie đã bình luận 2018-03-12 10:30:42

trong cpp có foreach hả bạn?

 

0 bình chọn
Steven đã bình luận 2018-03-12 11:51:08

Mình chưa nghiên cứu cpp, nhưng hình như đa số C đều có foreach mà, nếu không thì bạn dùng loop để duyệt chuỗi, so sánh từng kí tự (char) cới bảng mã ASCII, nếu nằm ngoài khoảng thuộc số thì xuất ra false thôi bạn. Dùng loop thì dài hơn.

0 bình chọn
1
Nguyễn Thái Hải đã trả lời 2018-03-12 10:37:08
unsigned int ValidateIdentityCard()
{
	unsigned int result = 0;
	int count = 0;
	while (true)
	{
		while (_kbhit())
		{
			int key = _getch();

			if (key >= 48 && key <= 57)
			{
				int f = key - 48;
				if (key == 48)
				{
					continue;
				}
				else
				{
					cout << f;
					result = result * 10 + (f);
				}
			}
			else if (key == 13)
			{

				return result;

			}
			else if (key == 8)
			{
				cout << "\b" << " " << "\b";
				result /= 10;
			}

		}
	}
	return result;
}

 

K newbie đã bình luận 2018-03-12 12:00:23

Cảm ơn nha.

0 bình chọn

Câu trả lời của bạn

Bạn có thể trả lời câu hỏi này? Hãy chia sẻ nó cho mọi người.

Hủy bỏ hoặc

Thông tin

Đã hỏi 2018-03-12 01:11:54
Đã xem 81 lần
Hoạt động 2018-03-12 12:00:23

Chiến dịch

Kteam - Howkteam Free Education