Большие буквы стоят в таблице кодов подряд, то есть, образуют диапазон, нам требуется проверить лежит ли буква в заданном диапазоне. Для русских букв проверять будем так:
if ('А' <= str[0] && str[0] <= 'Я'), для английских нужно просто поменять буквы на английские.
Пример для русских букв:
Программа выводит заглавные буквы
#include <iostream>
#include <string>
#include <windows.h>
signed main() {
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
std::string str;
getline(std::cin, str);
if ('А' <= str[0] && str[0] <= 'Я')
std::cout << "Первая буква является заглавной!";
else
std::cout << "Этот символ не является заглавной буквой!";
Решение, которое перебирает
Большие буквы стоят в таблице кодов подряд, то есть, образуют диапазон, нам требуется проверить лежит ли буква в заданном диапазоне. Для русских букв проверять будем так:
if ('А' <= str[0] && str[0] <= 'Я'), для английских нужно просто поменять буквы на английские.
Пример для русских букв:
Программа выводит заглавные буквы
#include <iostream>
#include <string>
#include <windows.h>
signed main() {
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
std::string str;
getline(std::cin, str);
if ('А' <= str[0] && str[0] <= 'Я')
std::cout << "Первая буква является заглавной!";
else
std::cout << "Этот символ не является заглавной буквой!";
return 0;
}