array
私はarray
を持っています。これには、教室のデータと、異なる時間の異なる酸素測定値が含まれています。したがって、ユーザーは特定の教室と時間を入力する必要があり、私のプログラムはその時間にその教室の酸素量をプリントアウトします。しかし、私はerror
を持っています。string array
とstring
を比較することはできません。誰かが私を助けることができますか?文字列を文字列配列内の要素と比較するにはどうすればよいですか?
cout << "Please enter the classroom: ";
string classroom;
cin >> classroom;
cout << "Please enter the time: ";
string time;
cin >> time;
cout << endl;
string myData[6][13] = {
{ "EN10-5-56" , "500", "700", "2000", "1850", "2000", "800", "750", "2300", "1900", "1600", "750", "700" },
{ "EN10-5-65" , "550", "1600", "1700", "780", "1980", "700", "750", "2300", "780", "800", "650", "550" },
{ "EN14-5-83" , "600", "700", "2000", "1850", "2000", " 600", "650", "700", "200", "800", "750", "700" },
{ "EN14-5-69" , "900", "600", "1950", "780", "800", "590", "620", "760", "1900", "1890", "2000", "700" },
{ "EN18-5-112", "550", "1670", "2000" , "680", "900", "1500", "1800", "2500", "779", "800", "650", "650" },
{ "EN18-5-118", "800", "1890", "2300", "1850", "2000", "800", "750", "1700", "560", "1300", "1500", "850" },
}; // row x column (class x time)
// row x column
for (int i = 0; i < 6; i++) // classrooms (row)
{
for (int j = 0; j < 13; j++)
{
if (myData[i] == classroom) // ERROR HERE
{
cout << myData[i] << endl;
}
}
}
エラーがある:
エラーC2679バイナリ「==」:なしオペレータはタイプの「STD :: string」を右側のオペランドをとる見つからない(または全く許容される変換はありません)、at(myData [i] ==教室)。
また、入力時間を使用して測定値を得るにはどうすればよいですか?何か案が??
エラーとは何ですか? – Dai
エラー\t C2679 \tバイナリ '==': 'std :: string'型の右オペランドを取る演算子が見つかりません(または受け入れ可能な変換はありません) – Daaenerys
'myData'は' string'の配列ではありません。したがって、 'myData [i]'は 'string'ではありません。あなたの' if'ステートメントでそれを使用しようとしています。 'string'の配列の配列です。つまり、 'string'と' string'の 'array'を比較しています。 – lurker