gpt4 book ai didi

C++代码循环问题

转载 作者:太空宇宙 更新时间:2023-11-03 10:40:10 25 4
gpt4 key购买 nike

我有以下代码提示用户输入仅包含数字的代码。如果用户输入两次无效代码,程序将在没有有效代码的情况下继续执行。

int main()
{
char code[10];
cout << "Enter the code: ";
cin >> code;

int codeLength = strlen(code);
int i = 0;
while (code[i] >= '0' && code[i] <= '9')
i++;

if (i != codeLength)
{
cout << "The code is not valid: " << codDat << endl;
cout << "Enter the code again: ";
cin >> code;
}

cout << code <<endl;
return 0;
}

如何在输入的代码只包含数字之前提示用户输入新代码?我已经试过了:

do {
cout << "Enter the code again: ";
cin >> code;
} while (code[i] >= '0' && code[i] <= '9');

这段代码只检查第一个字符,但我不知道如何进行正确的循环。

最佳答案

我倾向于阅读 std::string:

std::string foo;
cin >> foo;

然后使用

bool is_only_digits = std::all_of(foo.begin(), foo.end(),::isdigit);

检查输入是否只包含数字。 (您也可以使用 foo.size() 来检查字符串长度)。

这将更容易形成一个循环。

关于C++代码循环问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41218740/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com