2016-10-14 2 views
0

개인이 이름으로 문자열을 입력하고 각 이름에 포함 된 문자에 따라 프로그램이 명령문을 출력하는 C++ 프로그램을 만듭니다.Visual C++을 사용하여 문자열을 각 문자로 분할하는 방법

예를 들어 사람의 이름에 "y"라는 문자가 있으면 특정 문구가 표시되어야하지만 "a"와 "y"가 있으면 문이 달라야합니다.

이 프로그램은 수비학과 비슷할 수 있습니다.이 프로그램은 이름에 특정 문자가 있으면 주어진 문을 출력해야합니다.

나를 위해이 작업을 수행하려면> 사용자 입력에서 문자열을 가져 와서 각 문자를 따로 볼 수 있어야합니다. 어떻게해야합니까?

+0

사용자 입력에서 문자열을 가져 오는 방법을 알고 있습니까? 어떤 종류의 문자열 (char [] 또는 std :: string)입니까? 어떻게 반복하는지 알고 있습니까? – Beta

답변

0

귀하의 질문을 완전히 이해하고 있는지 확신 할 수 없지만 도움이됩니다.

문자열을 문자 배열로 생각하십시오. 당신이

string entry = "John Smith"; 

문자열을 가지고 그리고 당신은

cout << entry[0]; 

항목을 호출하는 경우 [0] 항목, 'J'의 첫 번째 문자를 반환합니다.

이 지식을 사용하면 이름 항목을 가져와 if 문을 사용하여 문자열의 문자를 테스트 할 수 있어야합니다.

string entry; 
cout << "What is your name?" << endl; 


// Sets entry equal to what is typed in: 

getline(cin,entry); 



//Tests for letters: 

if (entry[0] == 'J' && entry[1] == 'o') { 

    cout << "Oh, your name starts with J, and the second letter is o" << endl; 

} 

else if (entry[0] == 'J') { 

    cout << "Oh, your name starts with J and the second letter is not o." << endl; 

} 

if 문으로 수행 할 수있는 작업에는 제한이 없습니다. 특정 위치 대신 문자열에서 특정 문자를 찾으려면 for 루프를 사용하십시오.

for (int i = 0; i < entry.size(); i++) { 

    if (entry[i] == 'a') { 

     cout << "Oh, there's an a somewhere in your name." << endl; 

    } 

} 

희망이 있습니다.

관련 문제