Задать вопрос
@Demorozzz

Как это сделать это задание на c++?

Есть такая задача:
напишите диалоговую программу, которая в зависимости от выбранного
варианта использования выполняет действия пунктов 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
  • Вопрос задан
  • 191 просмотр
Подписаться 1 Средний 5 комментариев
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы