Есть такая задача:
напишите диалоговую программу, которая в зависимости от выбранного
варианта использования выполняет действия пунктов 1, 2, 3 для любого
введенного с клавиатуры символа. 1 и 3 я сделал, 2 не получается, т.к в чар записывается что-то непонятное, как в него записать именно 1251?
Вот условия для 2:
2 – определение разницы значений кодов в Windows-1251 буквы в
прописном и строчном написании, если введен символ русского
алфавита
unsigned char uc = static_cast<unsigned char>(inputChar);
if (uc >= 192 && uc <= 223) { // Прописная русская буква
char lowerChar = tolower(inputChar);
int difference = lowerChar - inputChar;
cout << "Разница между прописной и строчной буквой в Windows-1251: " << difference << endl;
}
else if (uc >= 224 && uc <= 255) { // Строчная русская буква
char upperChar = toupper(inputChar);
int difference = inputChar - upperChar;
cout << "Разница между строчной и прописной буквой в Windows-1251: " << difference << endl;
}
else {
cout << "Ошибка: введен не символ русского алфавита.\n";
}
break;
}
Т.е что просто с чар, что с беззнаковым все равно записывается что-то, что не попадает в диапазон значений.
Я могу подогнать под значения, что записываются, но ведь это уже будет не 1251