Здравствуйте! =)
Решил написать конвертор регистра символов.
Идея проста: окно, на нем два виджета TextEdit(окно ввода (1) и окно вывода (2)) и
три кнопки QPushButton
Первая кнопка переводит текст в верхний регистр: был: "машина - CAR", стал: "МАШИНА - CAR",
Вторая кнопка переводит текст в нижний регистр
А третья переводит негативно - в зависимости от регистра символа:
был: "Hello World!", стал: "hELLO wORLD!"
для первой и второй кнопки не нужно было придумывать алгоритм - Qt уже об этом позаботился
для третьей я придумал такой код:
QString makeConvertNegative(QString InputString)
{
QString temp = InputString;
for(int i = 0; i < temp.size(); i++)
{
if(temp.at(i).isLower())
{
temp.replace(temp.at(i), temp.at(i).toUpper(), Qt::CaseSensitive);
}else
{
temp.replace(temp.at(i), temp.at(i).toLower(), Qt::CaseSensitive);
}
}
return temp;
}
Этот алгоритм работает просто:
проверяем регистр каждого символа строки и вставляем на его место символ с противоположным регистром
Но! Этот алгоритм не все регистры символов переводит негативно, точнее если вводить по одному символу и конверктировать, то работает.
Помогите понять в чем ошибка, и "ткнуть пальцем" на нее