2016-11-04 1 views
-1

그래서 각 레벨에 얼마나 많은 플레이어가 있는지 계산과 함께 게임의 레벨 목록을 인쇄하는 프로그램을 작성하고 있습니다. 건강 점수를 입력하면 레벨이 결정됩니다. 나는 do-while 루프를 어딘가에서 돌리고 있는데 왜냐하면 입력 -1에서 루프를 종료 할 때까지 모든 입력을 읽어야하기 때문이다. 오류를 발견 할 수 없으므로 누군가가 그것을 지적 해 주면 감사하겠습니다.오류 ID가 반환 됨 1 종료 상태, 내 실수를 찾을 수 없습니다.

#include <stdio.h> 

int main (void) 
{ 
    void updateLevel(int, int []); 
    void displayLevels(int []); 

    int point, c; 
    int Level [6]; 

    for (c = 0; c < 6; c++) 
     Level [c] = 0; 

    do { 
     printf("\n Enter Player Points: "); 
     scanf("%d", &point); 
     { 
      if(point == -1) 
      { 
       break; 
      } 
      updateLevel(point, Level); 
     } 
    } while (1); 
    displayLevels(Level); 

    return (0); 
} 

void updateLevel(int p, int lev[]) 
{ 
    if (p >= 0 && p <= 9) { 
     lev[0]++; 
    } else if (p >= 10 && p <= 19) { 
     lev[1]++; 
    } else if (p >= 20 && p <= 29) { 
     lev[2]++; 
    } else if (p >= 30 && p <= 39) { 
     lev[3]++; 
    } else if (p >= 40 && p <= 49) { 
     lev[4]++; 
    } else { 
     lev[5]++; 
    } 
} 

void displayLevel(int L[]) 
{ 
    int c; 

    for (c = 0; c < 6; c++) 
    { 
     printf("\n Level = %d \t Counter = %d", c+1, L[c]); 
    } 
} 
+0

do ... while (1); 멈추지 않을거야. do ... while (point! = -1); 아마 당신이 원하는 것입니다. –

+1

입력, 예상 출력 및 실제 출력은 무엇입니까? – dbush

+0

게시 된 코드가 컴파일되지 않습니다 :'void displayLevel (int L [])'->'void displayLevels (int L [])' – dbush

답변

1

이것은 컴파일되지 않습니다. 그게 네 질문이라고 생각하고 있니? displayLevels을 선언하고 사용하지만이 함수는 displayLevel으로 정의됩니다. 그런 다음 컴파일하고 작동합니다 (-1까지 입력 한 다음 레벨 출력을 인쇄합니다.)

1

코드 및 오류 메시지를 다시 입력하는 대신 잘라내어 붙여 넣는 것이 중요합니다.

제목에서

, 그것은 말한다 :

ID returned 1 exit status 

을하지만,이 코드를 컴파일하는 경우 당신이 얻을 :

ld returned 1 exit status 

첫 번째 문자 l (엘),하지 I (I) . ld은 링커이며 링커 오류가 있음을 알려줍니다. 바로이 일 전에 출력 라인이 포함 된 경우

는 :

undefined reference to `displayLevels' 

오류는 명백하다. displayLevels이라는 함수가 없습니다. 그러나 이름은 displayLevel입니다. 따라서 함수 이름에는 오타가 있습니다.

+0

이제부터하겠습니다. 젠장! – mpedzi03