나는 병렬 배열을 사용하여 파일에있는 일련의 텍스트를 번역 할 변환기 프로그램을 작성하기 시작했습니다. 번역 할 언어는 라틴계 돼지입니다. 영어 사전에 돼지 라틴어로 사용할 텍스트 파일을 만들었습니다. 두 차원의 배열을 사용하고 싶지 않았습니다. 배열을 한 차원에 유지하고 싶습니다. 기본적으로 PigLatin으로 작성된 텍스트 파일을 읽고 내가 만든 사전을 사용하여 명령 줄에서 영어로 번역본을 출력하고 싶습니다.번역 프로그램
내 의사 코드 아이디어는 다음과 같습니다
를 열고 사전 텍스트 파일.
그/그녀가 다음 단어를 번역하기 위해 사용자의 텍스트 파일에 각 단어를 검색하고 사전에 비해 영어
로 번역하고 싶어 PigLatin로 작성된 텍스트 파일의 이름을 사용자에게 물어 따라서. 더 이상 번역 할 단어가 없을 때까지 계속하십시오.
번역 된 단어를 명령 줄 화면에 표시하십시오.
내가 영어 번역 단어와 돼지 라틴어 단어를 포함하는 또 다른 하나를 포함 하나를 병렬 배열을 사용하여 생각했다.
C++에서 배열을 사용하여 문자열을 어떻게 조작 할 수 있습니까?
감사합니다.
아직 표준 벡터에 대해 배웠기 때문에 배열을 사용하고 싶습니다. 파일에 포함될 단어의 수를 알고 있다고 가정 해 보겠습니다. 예를 들어 파일에 최대 30 단어를 포함한다고 가정 해 보겠습니다. 사전에는 해당 번역과 함께 100 단어가 있습니다. 크기 30 배열을 선언하는 것이 이해합니다. 맞습니까? 그리고 나서 사용자의 텍스트 파일에있는 단어를 읽고 사전 파일에서 번역본을 찾습니다. 마지막으로 커맨드 라인에서 번역을 할 것입니다. 비교를하는 방법에 대한 아이디어. 감사합니다. –
예. 얼마나 많은 단어를 가지고 있는지 알고 있다면, 필자가 시연했던 것처럼 많은 요소를 가진 배열을 선언하십시오. 문자열의 동일성을 비교하기 위해 다른 대부분의 유형과 비교하여'=='연산자를 사용할 수 있습니다. ('char *'에'=='을 사용하지 마십시오. 예상 한대로되지 않습니다. 그러나'char *'를 사용하지 않았을 것입니다. 그러므로 걱정하지 마십시오.) –
@jualin : if C++을 배우면서 구체적으로'std :: vector'를 처음 배우고 나중에 배열을 배우는 것이 좋습니다. 벡터는 더 높은 수준입니다. 비슷하게,'std :: string'에 대해서 먼저 배우고 나중에 원시'char *'문자열로 작업해야합니다. –