2012-09-01 7 views
0

재료 벡터를 나열하려고합니다.listfunction이 예상대로 작동하지 않습니다.

클래스 구성 요소에는 생성자를 제외하고 멤버 2 개와 멤버 2 개만 있습니다. 이름과 카테고리를 보유하고 있으며 이름을 반환하는 "getName"과 카테고리를 반환하는 "getCategory"기능을 가지고 있습니다. 이 성분들은 벡터 캐비닛에 보관됩니다. 여기

는 캐비닛의 내용을 나열해야합니다 코드입니다 :

for(int i = 0; i < cabinet.size(); i++) 
{ 
    cout << cabinet[i].getName(); 
    switch(cabinet[i].getCategory()) 
    { 
     case 1: cout << "Alcohol" << endl; 
       break; 
     case 2: cout << "Liqueur" << endl; 
       break; 
     case 3: cout << "Brew" << endl; 
       break; 
     case 4: cout << "Non alcohol" << endl; 
       break; 
     case 5: cout << "Wine" << endl; 
       break; 
    } 
} 

내가 무엇을 얻을 : 그래서

[first ingredient][second ingredient][thrid ingredient]...etc 

, 왜하지 않습니다 내 스위치 문을 사용할 수 있습니까?

+1

"작동하지 않는다"는 증상은 무엇입니까? – juanchopanza

+0

나머지 코드를 볼 필요가 있습니다. 분명히 당신이 올린 코드에 잘못된 것은 없습니다. 또한 무엇이 잘못되었는지에 대한 설명은 분명하지 않습니다. 정확히 무엇을 얻고 정확히 무엇을 올렸는지 게시하십시오. – john

+3

getCategory가 1에서 5 사이의 정수를 제공하지 않으므로? 스위치의 끝에서'default : cout << cabinet [i] .getCategory();'를 추가하면 무슨 일이 일어나는지 알 수 있습니다. – JohnB

답변

0

도움 주셔서 감사합니다. 나는 default: cout << cabinet[i].getCategory();을 추가하려고 시도했는데 실수로 그것을 char로 저장했다. 추가 기능을 고쳤으며 이제는 작동합니다. 다시 도움을 청합니다!

관련 문제