gpt4 book ai didi

c++ - 使条件 isdigit()

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:54:41 26 4
gpt4 key购买 nike

先看我的代码:

#‎include‬ <iostream>
#include <ctype.h>
using namespace std;
int main()
{
int a,b;
cout << "Enter two digits" << endl;
cin >> a >> b;
if (isdigit(a))
if (isdigit(b))
cout << a+b << endl;
else
cout << "Invalid Digit";
return 0;
}

所以当我们输入一些东西时,只输出空格。如果用户点击非数字或任何 Alpha,我想做的是打印程序应该显示无效的字符串,或者如果用户点击任何数字,它必须显示两位数字的总和

最佳答案

由于您正在读入 int 变量,因此您输入的任何内容都必须是整数,否则输入运算符将失败。如果你想读取字符并检查它们是否是数字,你应该读入char变量,然后你需要在对它们进行操作之前将它们转换为正确的整数值.

尝试这样的事情:

inline int to_int(const char ch)
{
return ch - '0';
}

// ...

char a, b;
if (std::cin >> a >> b)
{
if (std::isdigit(a) && std::isdigit(b))
std::cout << to_int(a) + to_int(b) << '\n';
else
std::cout << "One is not a digit\n";
}
else
std::cout << "Error in input\n";

如果你只想输入两个通用的整数值,那么你已经在正确的轨道上了,你只需要确保输入没问题:

int a, b;
if (std::cin >> a >> b)
std::cout << a + b << '\n';
else
std::cout << "Error in input (most likely not integers in input)\n";

关于c++ - 使条件 isdigit(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18122061/

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