我想获取一个输入字符,然后从中获取一个分配给char的预定义数字。 示例
int A=100;
char in;
cin>>in; //input A;
然后使用in
char来标识A
并传递它所拥有的值。
对不起,如果我不是那么清楚。
答案 0 :(得分:0)
正如您对问题的评论所述,您想要使用map
#include <map>
...
std::map<char, int> char_map = {
{'A', 100}
};
char in;
std::cin >> in; //input A;
std::cout << char_map[in] << std::endl;
当然,您可能需要在密钥上添加某种形式的验证。
答案 1 :(得分:0)
简单示例
#include <iostream>
#include <unordered_map>
int main(void)
{
char c;
std::unordered_map<char, int> uMap;
for (int i = 'A'; i <= 'Z'; i++)
{
uMap[i] = i - 'A' + 1;
}
c = fgetc(stdin);
std::cout << "\nCharacter '" << c << "' has value " << uMap[c];
return 0;
}
<强>输入强>
1. A
2. C
3. Z
<强>输出强>
1. Character 'A' has value 100
2. Character 'C' has value 102
3. Character 'Z' has value 125
答案 2 :(得分:0)
你的输入是一个字符,所以你可以将它与其他一些字符进行比较
char input;
std::cin >> input; //input A;
std::cout << "input: " << input << std::endl;
if (input == 'A')
{
std::cout << "input was A: " << std::endl;
}
else
{
std::cout << "input was not: " << std::endl;
}