我编写了一个简短的程序,它接受用户输入,然后检查字符串是否与用户输入匹配,但是我需要添加另一个检查用户输入的函数,确保用户输入在字符串中,如果不是返回错误。
以下是我的参考代码:
const string ALPHABET = "ABCDEFGHIJKLMNOPQRSTUVWXYZ.,’ ";
int main()
{
char letter; //Variable holding user entered letter
cout << "Please enter letter in the aplhabet:" << endl;
cin >> letter;
cout << "The Position of " << letter << " in the string is: " << ALPHABET.find(letter) << endl;
return 0;
}
我想我应该添加一个if / else语句,首先检查输入是否正确,是否输出字符串中的位置,如果没有返回错误。
答案 0 :(得分:2)
如果你想要花哨,你可以编写自己的功能。但是,string::find()
没问题。您需要检查的是返回的索引是否有效。
// Example program
#include <iostream>
#include <string>
using namespace std;
const string ALPHABET = "ABCDEFGHIJKLMNOPQRSTUVWXYZ.,’ ";
int main()
{
char letter; //Variable holding user entered letter
string::size_type index; //Index where char is found in string
cout << "Please enter letter in the aplhabet:" << endl;
cin >> letter;
index = ALPHABET.find(letter);
if (index == string::npos)
cout << "Error, letter not found" << endl;
else
cout << "The Position of " << letter << " in the string is: " << index << endl;
return 0;
}
答案 1 :(得分:0)
if / else语句听起来不错。如果这不起作用,还有其他多种方式。