struct
と呼ばれる10個の変数の配列を持つプログラムがありますstudents
。内部students
には、20 個の要素でchar
呼び出される配列変数があります。testAnswers
私がやろうとしているのは、これらの 10 人の学生testAnswers
を、20 要素でchar
呼び出される配列変数と比較することです。answers
基本的に変数answers
は生徒の解答用紙ですtestAnswers
。答えはすべて真/偽です。これは私がこれまでに持っているものです:
注:numStu
は 10 で、numAns
は 20 です。
void checkAnswers(char answers[], student students[]){
for (int i = 0 ; i < numStu ; i++){
for (int d = 0 ; d < numAns ; d++){
if (students[i].testAnswers[d] == ' '){
students[i].score += 1 ; //if the student did not answer the question add 1 which will be substracted once if loop sees it is not correct resulting in the student losing 0 points.
}
if (strcmp(answers[d],students[i].testAnswers[d]) == 0){
students[i].score +=2 ;//if the student answer is correct add 2 points to score
}
if (strcmp(answers[d],students[i].testAnswers[d]) != 0){
students[i].score -= 1 ; //if the student answer is incorrect substrct 1 point
}
}//end inner for
}//end for outer
}//end checkAnswers
引き続き表示されるエラー:
invalid conversion from char to const char
initializing argument 1 of `int strcmp(const char*, const char*)'
私が使用した両方のインスタンスでstrcmp
. このエラーを修正する方法があるかどうか、またはこれらの 2 つの文字を比較してテストを採点するためのより良い方法があるかどうか疑問に思っています。