スコアを計算するのは簡単なobjective-cの方法です。たとえそれがすべきではないとしても、私は4つのスコアのすべてについてFの結果を得る。私は間違って何をしていますか?この簡単な方法で何が問題になっていますか?
-(void) updateLetters:(int)score andLabel:(UILabel*)labelName {
if(score>=97)
labelName.text= @"A+";
else if(score>=94)
labelName.text= @"A";
else if(score>=90)
labelName.text= @"A-";
else if(score>=87)
labelName.text= @"B+";
else if(score>=84)
labelName.text= @"B";
else if(score>=80)
labelName.text= @"B-";
else if(score>=77)
labelName.text= @"C+";
else if(score>=74)
labelName.text= @"C";
else if(score>=70)
labelName.text= @"C-";
else if(score>=67)
labelName.text= @"D+";
else if(score>=64)
labelName.text= @"D";
else if(score>=60)
labelName.text= @"D-";
else [email protected]"F";
}
- (void)viewDidLoad {
[super viewDidLoad];
int r1score=appDelegate.correctAnswersCountR1;
int r2score=appDelegate.correctAnswersCountR2;
int r3score=appDelegate.correctAnswersCountR3;
int r4score=appDelegate.correctAnswersCountR4;
r1score=(r1score/17)*100;
r2score=(r2score/17)*100;
r3score=(r3score/17)*100;
r4score=(r4score/17)*100;
[self updateLetters: r1score andLabel: R1];
[self updateLetters: r2score andLabel: R2];
[self updateLetters: r3score andLabel: R3];
[self updateLetters: r4score andLabel: R4];
}
実際にこのメソッドに渡している数字は表示されていますか?整数はあなたのAppDelegateから来ています、おそらく、それらが満たされていないか、正しく渡されていないかもしれません。 –
appDelegate.correctAnswersCountR1の値の可能な範囲はどれですか?私は、17に匹敵する(またはより小さい)値に対して、整数除算r1score/17が当てはまると考えています。事実、r1score = 5なら5/17 - > 0、r1score = 10なら10/17 - > 0だから、0 * 100 - > 0となり、あなたの手続きは "F"を返します。それを修正するには、17を17.0に置き換えてください。 – viggio24