Я пытаюсь выучить c ++, и одно из заданий - попросить пользователя написать письмо, затем попросить строку текста и посчитать, сколько раз первая строка повторяется в строке текста.
Я написал некоторый код, который успешно доходит до момента запроса буквы и строки текста - я могу отобразить оба
Я могу пройти строку текста, считая, сколько букв в строке. Когда я пытаюсь добавить проверку if, чтобы сравнить текущую букву в строке внутри цикла с первой запросной буквой - я получаю эту ошибку компиляции:
error: ISO C++ forbids comparison between pointer and integer [-fpermissive]
if (textToCount[i] == letterToCount)
это полный код, который я написал
char getLetterToCount(char letterToCount[]);
char getTextToCount(char textToCount[]);
int countLetters(char letterToCount[], char textToCount[]);
int main()
{
char letterToCount[1];
getLetterToCount(letterToCount);
char textToCount[256];
cin.ignore();
getTextToCount(textToCount);
countLetters(letterToCount, textToCount);
return 0;
}
char getLetterToCount(char letterToCount[])
{
cout << "Enter a letter: ";
cin >> letterToCount;
}
char getTextToCount(char textToCount[])
{
cout << "Enter text: ";
cin.getline(textToCount, 256);
}
int countLetters(char letterToCount[], char textToCount[])
{
int numChrsInString = 0;
int numTimesChrtoCountrepeated = 0;
for (int i = 0; textToCount[i] != '\0'; i++)
{
if (textToCount[i] == letterToCount)
{
numTimesChrtoCountrepeated++;
}
}
cout << "num chrs in string: "
<< numChrsInString
<< "num times chr counted: "
<< numTimesChrtoCountrepeated
<< endl;
}
Я сделал немало выводов, чтобы попытаться выяснить, что с ними не так - я вытащил код для этого, потому что это немного запутало его.
НО ошибка компиляции объясняет, что не так, я просто не понимаю, почему это неправильно, потому что то, что я пытаюсь сравнить, это ОБА текстовые буквы ...
Было бы замечательно, если бы кто-то, кто знает c ++, мог объяснить, что я делаю неправильно