G'每个人。
我对C ++很陌生,只是玩一些小规模的东西来掌握基础知识。我想创建一个程序,它将从cin获取用户输入,并且当且仅当它与预设模板匹配时打印出来,例如LLL000(因此,3个字母后跟3个数字)。想想健身会员资格,其中用户ID遵循3个字母和3个数字格式。
这是我到目前为止提出的代码
//User ID checking
#include <iostream>
#include <string>
using std::string;
int main()
{
string letter;
int number;
std::cout << "Enter your ID: " << std::endl;
std::cin >> letter;
std::cin >> number;
if (letter.size() <= 0 && letter.size() > 3)
{
std::cout << "There must be 3 letters!" << std::endl;
return 1;
}
else if (number < 99 || number >= 1000)
{
std::cout << "The number has to be between 100 and 999";
return 1;
}
else
{
std::cout << "Your ID is " << letter << number;
return 0;
}
}
我的问题是:
我很抱歉,如果这件事非常简单,我只是没有看到,并感谢任何帮助!
我还想补充一点,我注意到字符串也会接受数字,而不仅仅是字母作为输入,我不知道会发生这种情况。
答案 0 :(得分:0)
为了比较字符串或字符串的一部分,您希望在C ++中使用STL字符串类的compare方法。这允许您将一个std::string
与另一个 std::string str1 ("blue fruit");
std::string str2 ("red fruit");
if (str1.compare(6,5,"fruit") == 0)
std::cout << "still, " << str1 << " is a fruit\n";
进行比较,或者将其与另一个的子串进行比较。
size_t
第一个参数是{{1}}位置,第二个参数是您想要比较的字符数。你也可以简单地输入一个参数,另一个字符串,来比较整个字符串。
检查数字
如果您有兴趣检查char是否为0-9位,请使用STL的C部分中的isdigit方法。