Ваши ошибки, которые вы допустили в программе:
- Вы никогда не инициализировали
number
, но использовали в sentence[]
, все равно он недействителен даже после объявления number
, потому что компилятор должен знать точное значение длины массива, которое будет определено. - Вы определили
sentence
как массив символов, но из вашего кода кажется, что вы хотели сохранить полное предложение в каждом элементе массив, что невозможно. Используйте здесь std::string
. - Вы делаете
strcmp()
с первым символом массива char, а не с предложением с заключением.
В сторону: Пожалуйста, не забудьте включить важные файлы заголовков, которые являются общими для кода, и мы должны предполагать, что ваша программа неполная, потому что в ней отсутствуют main()
и оператор (ы), например strcmp(...,...',' - incomplete)
.
Переработана программа (обратите внимание, что здесь используется оператор using namespace std
, потому что это небольшая программа для демонстрации и для простоты и избавления от префиксов std::
повсюду):
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main(void) {
int number = 0;
vector<string> sentence;
string tempSentence;
string conclusion;
cout << endl;
cout << "How many sentences you want to insert? ";
cin >> number;
for (int i = 0; i < number; i++) {
fflush(stdin);
cout << "Enter sentence " << (i + 1) << ": ";
getline(cin, tempSentence);
sentence.push_back(tempSentence);
}
cout << "Enter conclusion: ";
getline(cin, conclusion);
if (conclusion == sentence[0])
cout << "The statement is invalid." << endl;
else if (conclusion != sentence[0])
cout << "The statement is valid." << endl;
else
cout << "EXIT" << endl;
return 0;
}
Здесь я взял std::vector<>
из std::string
, чтобы вставить одну строку в определенное количество предложений, заданных динамическим c способом на каждой итерации (из #include <vector>
), и использовал std::string
вместо char arr[]
, здесь легко сравнивать строки.
Пример вывода:
$ g++ -o prog prog.cpp; ./prog
How many sentences you want to insert? 3 // --- INPUT
Enter sentence 1: This is the first sentence.
Enter sentence 2: This is the second sentence.
Enter sentence 3: This is the third sentence.
Enter conclusion: This is NOT the first sentence.
The statement is valid. // first sentence != conclusion // --- OUTPUT