开发者

What's wrong with this simple method?

开发者 https://www.devze.com 2023-03-26 04:25 出处:网络
It\'s a simple objective-c method to calculate score. I get the result of F for all 4 scores even though it shouldnt do that. What am I doing wrong?

It's a simple objective-c method to calculate score. I get the result of F for all 4 scores even though it shouldnt do that. What am I doing wrong?

-(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 labelName.text=@"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 update开发者_如何学PythonLetters: r4score andLabel: R4];

}


(R1score/17)*100 Will always result in 0, because it's all integer math.

Try (score/17.0)*100.0

0

精彩评论

暂无评论...
验证码 换一张
取 消