私は2つの入力ファイルを読み込み、二つのファイルからいくつかのデータをソートするために持っているプログラムを持っています。私は物事のほとんどを理解しているが、私はより厳格な配列を私の関数に渡そうとしているが、それは機能していない。私のプログラムは、多くのエラーを示している、「エラー:コールに該当する関数 『getPercentScore』に」
int main()
{
int labNumber=8;
string labName = "MATH ANYONE";
printHeader(labName, labNumber);
ifstream infile; //INPUT input file stream
struct test {
string firstName; //INPUT student first name
string lastName; //INPUT student last name
string tempfirstName; //INPUT temporary first name used to place into actual
string templastName; //INPUT temporary last name used to place into actual
string tempId; //INPUT temporary id used to compare with actual
string studentId; //INPUT student id
double courseScore; //OUTPUT student score %
char courseGrade; //OUTPUT student letter grade
string answers; //INPUT student answer
};
test *table[30];
これは私のコードの一部です。私はfunctions.cpp 1つの入力ファイルを呼び出した
for (int i=0;i<studentCount;i++)
{
double percent=0;
getPercentScore(table[30], key);
}
functions.cpp:
double getPercentScore(test *, string key)
{
double tempscore=0;
double percent;
for (int i=0;i<20;i++)
{
if (table[i].answers[i] == key[i])
{
tempscore = tempscore + 2; //add two if answer is correct
}
else if (table[i].answers[i] == '_')
{
tempscore = tempscore + 0;//add zero if answer if unanswered
}
else
{
tempscore = tempscore - 1;//subtract one for wrong answer
}
}
percent = tempscore/40;
percent = percent*100;
return percent;
}
私のプログラムは、私は、このエラーを与えてきたと私はそれを解決する方法がわからない:
。 ./lab8.cpp:112:3エラー: 'getPercentScore' getPercentScore(表[30]、鍵)への呼び出しに該当する機能。 ^ ~~~~~~~~~~~~~~ ../lab8.cpp:33:8:注:実行可能ではない候補機能:第一のための「テスト*」から「テスト*」から知られていない変換引き数 double getPercentScore(テスト*、ストリングキー);
非常に参考になります。
注意を私はあなたを助けた
・ホープ30]; '、後で' table [30] 'を使うとトラブルが発生します。 – fzd
を渡すと、 'テスト[30]'、あなたが方法に使用するアレイの孤独な位置を通過しています。あなたのループで 'getPercentScore(test [i]、key);'を意味すると思いますか? – Shirkam
すべての#includeディレクティブを投稿するのを忘れました。彼らは重要です、あなたの質問を投稿する前にそれらを編集することは決してありません。 –