Как я могу сравнить s1 и s2 с операторами if в c ++ - PullRequest
0 голосов
/ 25 сентября 2018

Я пытаюсь создать код, соответствующий этим требованиям, но у меня возникают проблемы с поиском функции, которая будет правильно сравнивать string1 и string2, которые обе введены пользователем.Вот мой код:

const int COLFMT1 = 20;
const int COLFMT2 = 20;

string s1;
string s2;
size_t lengths1;
// string s1ats2;
cout << "Welcome to String Squids!" << endl;
cout << "--------------------------" << endl;

cout << "Enter string 1 (at least three characters, no spaces): ";
cin >> s1;
cout << "Enter string 2 (no spaces): ";
cin >> s2;

// Show formatted strings

cout << "String 1" << setw(COLFMT1) << right << endl;
cout << "Value: " << setw(COLFMT1) << right << s1 << setw(COLFMT1) << left << endl << endl;

lengths1 = s1.length(); //gathering length of string 1
cout << "Length:" << setw(COLFMT1) << right << lengths1 << setw(COLFMT1) << left << endl << endl;

//s1ats2 = s2.find('s1',9);
//cout << s1ats2;

Вот инструкции:

Отформатируйте следующие шесть выходных данных около s1 в два отформатированных столбца (без escape-последовательностей):

  • Содержимое s1
  • Длина s1
  • Место, если есть, где s2 находится в пределах s1
  • Является ли s1[0] буквенным символом

У меня проблемы с 3-й пулей, где s2 находится в s1, а затем также определить, является ли онабуквенный символ.

Ответы [ 2 ]

0 голосов
/ 25 сентября 2018

Первая необходимая вам функция - просто s1.find(s2).

Вторая функция должна быть std::isalpha

0 голосов
/ 25 сентября 2018

где s2 находится в пределах s1

std :: string :: find

например, size_t pos = s1.find(s2);

pos будет std::string::npos, если s2 не найден в s1.В противном случае это смещение s2, расположенное в пределах s1.

, а затем также для определения, является ли он буквенным символом.

isalpha

bool isFirstCharacterAlphabetical = ((s1.size() > 0) && ::isalpha(s1[0]));

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...