Я пытаюсь создать приложение iOS, где пользователь отвечает на некоторые вопросы. Пользователь задает вопрос, и он собирается варьироваться от 1 до 5. Когда пользователь ответил на 30 вопросов, появится новое представление, в котором пользователь может увидеть, сколько очков он сделал, и результат - текст, основанный на точках.If-statement не работает
Моя проблема в том, что когда я использую инструкцию if-else, я всегда получаю результат-текст для самой низкой суммы.
int intSum = [self.sumFromList intValue];
if (intSum >= 135) {
NSLog(@"135");
} else if ((intSum >= 120) && (intSum <= 134)) {
NSLog(@"120 - 134");
} else if ((intSum >= 105) && (intSum <= 119)) {
NSLog(@"105 - 119");
} else if ((intSum >= 90) && (intSum <= 104)) {
NSLog(@"90 - 104");
} else if (intSum <= 89) {
NSLog(@"89 or less");
} else {
NSLog(@"Error");
}
Может ли кто-нибудь увидеть, что я пишу неправильно, или кто-нибудь знает о каких-либо других функциях? Вместо NSLog я создал два массива, которые генерируют результат и диапазон-текст ([self.result objectAtIndex:0];
. Конечно, 0
будет изменен на основе суммы) и разных текстовых цветов.
EDIT: Это, как я вычислить точки: Если пользователь может выбрать две точки:
- (IBAction)twoPointsButton:(id)sender {
[self addPointsToList:2];
}
- (void)addPointsToList:(NSInteger)points {
questionID = questionID + 1; // Used to get the question from array
questionNo = questionNo + 1; // Used to get question number in title
listPoints = listPoints + points; // Calculate the points
if (questionID == numberOfQuestions) {
ResultView *resultView = [[ResultView alloc] initWithNibName:@"ResultView" bundle:nil];
resultView.sumFromList = [NSString stringWithFormat:@"Sum: %i",listPoints];
questionID = 0;
questionNo = 1;
listPoints = 0;
self.title = [NSString stringWithFormat:@"Spørsmål %i/%i",questionNo,numberOfQuestions];
self.question.text = [questions objectAtIndex:questionID];
[self presentViewController:resultView animated:YES completion:nil];
} else {
self.question.text = [questions objectAtIndex:questionID];
NSString *newTitle = [NSString stringWithFormat:@"Spørsmål %i/%i",questionNo,numberOfQuestions];
self.title = newTitle;
}
}
Какова ценность 'intSum', дающая вам неожиданный выход журнала? Другими словами, в инструкции 'if' нет ничего плохого. Проблема, скорее всего, в том, как вы вычисляете 'intSum'. – rmaddy
Эти заявления [кажется, неверно работают сегодня] (http://stackoverflow.com/questions/20457487/c-for-loop-not-working#comment30566703_20457487). –
@rmaddy $ 20, что это целое деление ...>.< –