gpt4 book ai didi

C++ 数字验证 - 正在使用的循环

转载 作者:行者123 更新时间:2023-11-28 03:27:50 25 4
gpt4 key购买 nike

我发布了一个较早的问题,寻求有关在我的代码中使用验证脚本的帮助。在得到一个非常有帮助的答案后,我能够弄清楚我需要如何进行。好吧,我遇到了一个很大的障碍;

#include <iostream>
#include <sstream>
#include <string>
#include <ctype.h>

using namespace std;

int main()
{
unsigned __int64 input = 0;
int n, i;
char str[]="c3po...";
i=1;
n=0;


for (cout << "Input a number" << endl; cin >> input; cin.ignore(numeric_limits<int>::max(), '\n'))
{
cout << "We're parsing your input '" << input << "'\n";

if (input % 2 == 0)
{
cout << "Even!" << endl;
}

else if (input % 2 == 1)
{
cout << "Odd" << endl;
cout << "Lets make it even shall we? " << "Your new number is... " << input + 1 << endl;
}
else (isalnum(str[i]));i++;
{
cout << "We could not parse '" << input << "' as a number.\n";
}
}
system ("pause");
return 0;
}

正如您从我的代码中看到的那样,验证脚本运行良好,可以正常工作。我有一些错误想要解决。

1- 当我输入一个数字时,它会按应有的方式运行代码,但也会显示

Could not parse 'inputted number' as a number

显然,当输入数字时,您不希望这种情况发生!

2- 对于错误消息,它显示输入的数字为 [0]。这与使用整数有关吗?如何解决?

谢谢!

最佳答案

你的问题很简单,你在这一行上有一个小错误

else (isalnum(str[i]));

您的 else 语句以分号结尾,实际上什么也不做。每次都会执行以下语句。

i++;
{
cout << "We could not parse '" << input << "' as a number.\n";
}

关于C++ 数字验证 - 正在使用的循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13446083/

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