2014-09-21 3 views
-4

여기 내 코드입니다 :여러 조건 문이 작동하지 않는 경우 ...

string function1(string input) 
{ 
    string output; 
    int i=0; 
    if (input.at(i)!='A' || input.at(i)!='a'|| input.at(i)!='E' || input.at(i)!='e' || input.at(i)!='I' || input.at(i)!='i' || input.at(i)!='O'||input.at(i)!='o' || input.at(i)!='U' || input.at(i)!='u') 
    { 
      char x=input[i]; 
      input.erase(input.begin()+i); 
      output=input+x; 
    } 
    else 
    { 
     output=input+"yay"; 

    } 

    return output; 
} 
  • 하지만 그 잘못가는 곳에 내가 그것을 알아낼 수 없습니다 ..하고 싶은 일을하지 ..

any1 help?

은 기본적으로 문제는 결코

내가 BJ 전달 경우가 BJYAY에게 반환해야합니다 .. else 문에가는 없다는 것입니다 바로 .. 하지만 나에게 JB

감사를주는!

+5

큰 소리로 읽어보십시오. – chris

+3

'||'이 아니라'&&'를 원한다고 생각합니다. 상태가 무엇인지에 대한 논리를 생각해보십시오. – Cornstalks

+2

'input.at (i)! = 'A'|| input.at (i)! = 'a''는 우주에서 항상 사실입니다. – Lol4t0

답변

2

if 문의 || 연산자를 &&으로 변경하십시오. 귀하가 작성한 진술은 항상 사실입니다. 원하는 것은 첫 번째 문자가 모음이 아니므로 'A'와 일치하지 않으며 'E'등과 일치하지 않는다는 것입니다.

0

! = to ==로 변경하면 요청한 결과가 표시됩니다.

+0

아니요, 그렇지 않습니다. 문자는 둘 이상의 값과 같을 수 없습니다. –

+0

고마워 ..하지만 위의 어리석은 질문을하고 있었음을 깨닫는다. .. LOL .. 일단 내가 소리내어 읽으면, 왜 나는 내가 필요한 대답을 얻지 못하고 있는지 이해했다. – psj01

관련 문제