Программа компилируется но текст не переводит. Причём не работает что с подключенными библиотеками ctype что без них. tolower тоже не работает
void strToUpper(string &line)
{
for (int i = 0; i < line.length(); i++)
if (islower(line[i]))
toupper(line[i]);
}
void strToLower(string &line)
{
for (int i = 0; i < line.length(); i++)
if (isupper(line[i]))
tolower(line[i]);
}
void main()
{
int selecter;
string line;
cout << "Enter line:";
getline(cin, line);
cout << "Select (1-upper, 2-lower)\n";
cin >> selecter;
if (selecter == 1)
strToUpper(line);
else if (selecter == 2)
strToLower(line);
else
{
cout << "ERROR!";
return;
}
cout << line << "\n\n\n\n";
}
Конечно не переводит, ведь результат перевода вы игнорируете. Должно быть так:
line[i] = static_cast<char>(toupper(line[i]));
В tolower/toupper
буква передается по значению, а не по ссылке.
Вызывайте как
c = toupper(c);
Кстати, вот еще вариант для строки...
Виртуальный выделенный сервер (VDS) становится отличным выбором
При старте приложения на сервере Tomcat происходит ошибка
Вопрос в следующем, есть java сервлет и скриплет (jsp) с javaScriptНа сервере происходит обновление в файловой системе, а на jsp это отображается отправляя...
На входе, в первой строке задано натуральное число N – количество жильцов (N ≤ 100)В последующих N строках располагается информация о всех жильцах:...