2017-01-17 8 views
-3

조건부 카운터를 코딩하는 방법은 무엇입니까?조건부 카운터를 코딩하는 방법은 무엇입니까?

저는 프로젝트를위한 간단한 조건부 카운터를 코딩하려고하는데 몇 가지 문제가있었습니다. 카운터는 카운트하고 재설정 할 수 있어야합니다.

1부터 100까지의 임의의 숫자가 1과 같을 때마다 카운터가 +1되어 일정 기간 동안 1이 몇 번 나타 났는지 알 수 있습니다. 그러나 조건이 충족되지 않을 때마다 "카운트"가 몇 번이나 나타나는지 기억하는 대신 0으로 돌아갈 것이기 때문에 코드가 작동하지 않습니다. 그리고이 코드에 리셋을 추가 할 수없는 것 같습니다.

int count = 0; 
random = rand() % 100 + 1; 

if(random == 1) 
{ 
    count = count + 1; 
} 
Print (count); 
+3

에 대한 호출 할 때마다 당신이 어떤 종류의 루프를 가지고 있습니까 int count = 0; 아직 당신은 다시 초기화? 주변 코드를 보여주십시오. [mcve]를 만드는 방법에 대한 도움말 페이지를 참조하십시오. –

답변

2

count을 전역으로 정의해야합니다.

당신은 위의 서브 루틴 호출을 넘어 연장 수명을 기대하는 것 같다,하지만 당신은 새로운 임의 INT

+0

정확히 어떻게 그럴 수 있습니까? – Jimmy

+0

@Jim : (1) 카운터를 포인터로 (또는 C++에서 참조로) 함수에 전달하는 것, (2) 변수를 정적 파일 범위로 만들거나 (C++에서는 익명 네임 스페이스) 또는 (3) 변수를 함수 범위 정적 변수로 만듭니다. 옵션 3의 단점은 변수를 인쇄하거나 재설정하는 쉬운 방법이 없다는 것입니다. 변수를 파일 (익명 네임 스페이스) 범위에두고 거기에서 관리하는 것이 더 좋습니다. –