我试图让它成为我的代码的用户输入与我的数组中的对象相对应,但我不知道如何做到这一点。
基本上,作业说对一个将对期末考试进行评分的程序,每个问题都有四个可能的答案之一(a,b,c,d),并且数组中的第一个答案应该对应于第一个问题。考试。该程序应该提示用户他们对考试的答案,并且应该与数组中的第一个正确答案进行比较,如果匹配,它会给他们分数。
问题是,我不能为我的生活弄清楚如何将用户输入与我的阵列进行比较,看看它们是否是正确的东西。
这是我到目前为止所拥有的!
我知道我很害怕,但我会尽我所能。非常感谢任何帮助。
#import <Foundation/Foundation.h>
int main (int argc, char * argv[])
{
@autoreleasepool {
NSArray *correctAnswers= [NSArray arrayWithObjects: @"a", @"b ", @"c", @"d",nil];
int sum = 0;
int anwser;
{
NSLog(@"Please input test anwsers starting with 1:");
scanf("%i",&anwser);
}
if ([correctAnswers containsObject:@(anwser)]) {
sum = +10;
}else {
NSLog(@"Well that's not quite right...");
}
NSLog(@"The final score is:%d",sum);
}
return 0;
}
答案 0 :(得分:0)
@"a"
等是NSString实例。
您需要使用NSString实例方法将它们与用户输入进行比较。您还可以使用NSArray
等集合进行快速枚举for (NSString* ans in correctAnswers)
{
if ([ans isEqualtoString:[NSString stringWithInt:anwser]]) sum+=10;
}
您也可以使用NSArray的filteredArrayUsingPredicate:
来搜索数组。
但是你不能使用containsObject
来比较字符串......它只是检查一个特定的NSObject实例。
您似乎也将int与char进行比较......但这超出了您的问题范围。