2013-01-15 3 views
-1

저는 블랙 잭 프로그램을 작성하고 있습니다. 나는 두 개의 문자열과 정수를 포함하는 클래스 카드를 만들었습니다. '딜러'는 '카드'클래스의 벡터이고 'dtotal'과 'deckplace'는 모두 정수입니다. 'display()'는 카드, 슈트 및 합계를 인쇄하는 함수입니다. "else if (total> 16)"위의 행에서 오류가 발생합니다.오류 C2059 : 구문 오류 : '}'

void dealerTurn() 
{ 
    if (dtotal<17) 
    { 
     do while (dtotal<17) 
     { 
      dealer.pop_back(deck[deckplace]); 
      deckplace = deckplace+1; 

      for (y=0;y<dealer.size();y++) 
      { 
       if (dealer[y].name=="A" && dtotal>21) 
       { 
        dealer[y].value = 1; 
        dtotal = 0; 
        for (z=0;z<dealer.size();z++) 
         dtotal = dtotal + dealer[z].value; 
       } 
      } 

      display(); 

      if (dtotal>21) 
      { 
       cout << endl << "-----DEALER BUSTED!-----" << endl << endl; 
       dtotal = 0; 
      } 
     } 
    } 
    else if (total>16) 
    { 
     display(); 
    } 
    result(); 
} 
+6

'do while' ???????????????? – Mysticial

+1

당신의 C++ 책은 당신에게'(X) {Y}'할 것을 가르치지 않았기 때문에 나는 거친 느낌이 들지는 않는다. 그것은 당신이 그것을 만들었고 실패했을 때 그것을 조사하지 않았다는 것을 의미합니다. –

+0

나는 책에서 C++을 배우지 않았다. 나는 do 루프가 그 문법을 일으켰을 것이라고 생각하지 않았다. 게시하기 전에이 구문 오류의 다른 예제를 조사했습니다. – user1978932

답변

11

do while과 같은 것이 없습니다. while (__condition__) { __statements__ } 또는 do { __statements__ } while (__condition__);입니다.

+0

고마워요! 나는 시각 기초를 가르친 후에 섞였다! – user1978932

+0

int i (0); \t while (i ++ <5); 할; while (i ++ <10); OK입니다. {}는 "선택 사항"입니다. – qPCR4vir