私は長い間ここに潜んでいました.これが私が尋ねなければならなかった最初の質問であったとしても、過去にあなたのすべての助けに感謝します.
単純なデータベース プログラムを作成しようとしていますが、その検索要件に行き詰まっています。検索時に値がわからない場合、ユーザーは疑問符を入力できる必要があります。映画が 90 年代のものであることがわかっている場合、199 と入力できますか? 199_ に一致するすべての映画が検索されます。コンパイル時にエラーが発生し続けます。「引数 '2' の'char*' を 'char ( )[5] に変換できません」デバッグを容易にするために、関数を分離して、メイン ファイルに追加する前に別の .cpp ファイルで動作させるのが好きです。
#include <iostream>
#include <cstring>
#include <fstream>
#include <cctype>
using namespace std;
const int yearLength = 4;
typedef char year[yearLength + 1];
bool compareYears(const year year1, year year2[]);
int main()
{
year year1 = "1992"; //year from database, will be assigned the
// variable when implemented in main program.
year year2; //year entered by user, it will be compared to year1.
cout << "Enter a year to search for: ";
cin >> year2;
cout << endl;
if((compareYears(year1, year2)) == true)
cout << "they match\n";
if((compareYears(year1, year2)) == true)
cout << "they do not match\n";
return 0;
}
bool compareYears(const year year1, year year2[])
{
for(int i = 0; i < 4; i++)
{
if (strncom(year1, year2[i], 4) ==0)
return true;
else if (strncmp(year1, "????", 4) == 0)
return true;
else
return false;
}
}
これについて私を助けてくれてありがとう、通常、私が他の人から得るほとんどの助けは役に立たないか侮辱的です. 私が最も助けを必要としているのは、そのコンパイラ エラーを取り除くことです。私は私の人生のためにそれを理解することはできません。