我忙于实际操作。我必须输入一个字符串或消息,并且必须将其转换为莫尔斯电码: 'A'= .- 'B'= -... ecs。在字符串中显示空格
我可以做到这一点没有问题,通过使用一系列的if语句。
for(int i = 0;i < stringvalue.length();i++)
{
if(stringvalue == 'A')
cout << ".-";
//there is 26 if statements
}
但是,当我输入一个字符串,例如。
"Testing data"
只将字符串的第一部分转换(测试转换)为莫尔斯。
为什么它不转换空间后的部分。如果字符串中有空格,则必须输出“/”。
使用'CIN >>'将打破在空间。而是使用'getline'代替:http://en.cppreference.com/w/cpp/string/basic_string/getline – BoBTFish 2012-08-06 09:28:15
此外,不是使用26'if's,也许你可以使用莫尔斯表(数组)代码值,并查找表中的每个字母。 – BoBTFish 2012-08-06 09:35:18