我正在制作一个程序,使用一系列条件语句将英语翻译成摩尔斯电码。我正在使用以下功能:
void english (char text1){
if (text1=='a'||text1=='A'){cout<<".- ";}
else if (text1=='b'||text1=='B'){cout<<"-... ";}
.
.
.
else if (text1=='z'||text1=='Z'){cout<<"--.. ";}
else if (text1==' '){cout<<"/";}
}
这是一个非常简单的问题。当输入中有空格字符时,我无法让我的程序打印任何东西;它应该打印一个斜线。我也试过了else if (isspace(text1))
而不是else if (text1==' ')
,但没有运气。
答案 0 :(得分:1)
问题不在于您发布代码的功能中。问题出在读取输入的代码中。例如,你可能需要使用std :: getline(cin,line)来获得整个行,其中空格完整,或者更容易,一次获得一个字符:
for (char ch; cin.get(ch); ) {
english(ch);
}