0

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 つの文字を比較してテストを採点するためのより良い方法があるかどうか疑問に思っています。

4

1 に答える 1