실용적입니다. 문자열이나 메시지를 입력하고 모스 부호로 변환해야합니다 : '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
또한'if's를 26 개 사용하는 대신에, 아마도 모스의 테이블 (배열)을 사용할 수 있습니다 코드 값을 입력하고 테이블의 각 문자를 찾습니다. – BoBTFish