2010-04-02 2 views
1

저는 선거에서 투표 방법을 결정하는 데 도움이되는 질문을 사용자에게 묻는 프로그램을 작성하고 있습니다. questionnumber라는 질문 번호를 나타내는 변수가 있습니다. switch-break 루프를 실행할 때마다 questionnumber 변수에 1을 추가하여 다음 질문을 표시합니다.Obj-C : ++ 변수가 하나 대신 2로 증가합니다.

처음 두 질문에는 문제가 없습니다. 그런 다음 세 번째 질문을 건너 뛰고 네 번째 질문으로 이동합니다. 목록에 질문이 많으면 다른 모든 질문을 건너 뜁니다. 어떤 이유로, questionnumber 변수는 내가 원하지 않을 때 증가하고 있습니다.

아래 코드를 살펴보고 내가 잘못하고있는 것을 말해주십시오.

감사합니다. 당신이 구현 파일에 정확히 복사 한 코드 조각을 게시 코드 샘플 기능을 사용할 수 있는지

엘리

#import "MainView.h" 
#import <Foundation/Foundation.h> 

@implementation MainView 
@synthesize Question; 
@synthesize mispar; 

int conservative = 0; 
int liberal = 0; 
int questionnumber = 1; 

- (IBAction)agreebutton:(id)sender { ++liberal; } 
- (IBAction)disagreebutton:(id)sender { ++conservative; } 

- (IBAction)nextbutton:(id)sender 
{ 
    ++questionnumber; 

    switch (questionnumber) 
    { 
     case 2: Question.text = @"Congress should ...."; break; 
     case 3: Question.text = @"It is not fair ..."; break; 
     case 4: Question.text = @"There are two ..."; break; 
     case 5: Question.text = @"Top quality h...";  break; 
     default: break; 
    } 
} 

@end 
+2

이 코드에는 오류가 없습니다. –

+0

nextbutton에 로깅을 추가하고'questionnumber'를 출력하면 호출되는 빈도와 값은 무엇인지 보게 될 것입니다 ...'text'의 값을 출력 할 수도 있습니다 ... – stefanB

+0

몰라요? 그 이유는 * operator plus에 * plus *가 두 개 더 있습니다! (부인 : 자정 이전에 지난 4 월 바보에 들어가야했다.) –

답변

1

그것은, 읽기가 조금 어렵다.

은 앞의 질문 단지 값에 1을 추가

number++; 

대답합니다.

number+=anotherNumber; 
번호 anotherNumber를 추가하고 코드로

number = number + anotherNumber; 

을 말하는 빠른 방법 인 것

의 nextButton 방법은 다음 한 번 더 호출되고있는 기회가?

-3

자동 변수에 1을 추가 ++ 수행하거나 변수를 추가 않는 + itsself

그래서 그래서 그것은 단지 1 시간을 작동하는 경우 questionnumber = 1 다음 은 ++ questionumber questionnumber + questionnumber를 추가 않은 경우, questionnumber 당신이 4

내가 = questionnumber + 1 언어가 지원하는 경우 + = 1

당신이 설정합니까 questionnumber을 questionnumber을 바꿀 것을 = questionnumber + questionnumber를 추가하는 것 2 그래서 때 3를 건너 뜁니다 ++에 대한 시드 증가 일반적으로 for 루프와 함께 사용됩니다.

+2

정수를 증가시키는 것에 대해 잘 알지 못했다 ... ++는 변수를 1만큼 증가시킨다. – stefanB

+0

@Sean은 질문에 대답하지 않을뿐만 아니라 꽤 혼란스러워. 그리고 틀렸어. –

관련 문제