Форум программистов, компьютерный форум CyberForum.ru

Проверка регистра букв - C++

Восстановить пароль Регистрация
 
Fantasmaforia
0 / 0 / 0
Регистрация: 10.12.2013
Сообщений: 48
20.05.2014, 17:52     Проверка регистра букв #1
Здравствуйте, при создании программы возникла проблема:
Вводится любой текст, нужно определить количество заглавных букв. Как определить, заглавная ли буква?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
4270 / 3701 / 1246
Регистрация: 14.04.2014
Сообщений: 14,495
20.05.2014, 17:57     Проверка регистра букв #2
isupper()

Добавлено через 1 минуту
Только для русских букв надо локализацию включить.
Fantasmaforia
0 / 0 / 0
Регистрация: 10.12.2013
Сообщений: 48
20.05.2014, 18:10  [ТС]     Проверка регистра букв #3
а как весь текст проверить на наличие? Не по одной же букве проверять

Добавлено через 6 минут
просто у меня есть, допустим, такой код:
C++
1
2
3
char a[100]
cout << "Vvedite text" << endl;
cin >> a;
как к одной букве применить я понял, но к целому тексту...
Qazan
211 / 59 / 9
Регистрация: 30.04.2013
Сообщений: 778
Записей в блоге: 10
20.05.2014, 18:11     Проверка регистра букв #4
Да напиши если буква лежит в диапазне

['A','Z'] || ['А'..'Я'] то значит заглавная
nmcf
4270 / 3701 / 1246
Регистрация: 14.04.2014
Сообщений: 14,495
20.05.2014, 18:12     Проверка регистра букв #5
В цикле, разумеется. Каждый символ проверять.

Добавлено через 53 секунды
Qazan, это в C++ так можно делать?
Qazan
211 / 59 / 9
Регистрация: 30.04.2013
Сообщений: 778
Записей в блоге: 10
20.05.2014, 18:16     Проверка регистра букв #6
Ты будешь пробегать по массиву
по буквенно

C++
1
2
3
4
5
6
7
8
9
10
11
12
    a -  Your Array 
    n - Size of Your Array
 
    int count = 0;
    for(int i = 0;i < n;i++)
    {
         if(('A' <=  a[i] && a[i] <= 'Z')
         {
             count++;
          }
    }
    std::cout << "  MyCount  : " << count;
Добавлено через 35 секунд
nmcf, Я образно
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.05.2014, 18:16     Проверка регистра букв
Еще ссылки по теме:

игнорирование регистра букв при сравнение строк C++
C++ Напишите программу замены в тексте всех букв «а» на «о» и наоборот с учетом регистра. Выведите исходные и преобразованный тексты.
C++ Открыть существующий текстовый файл и копировать его в новый файл, с заменой всех букв нижнего регистра

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
outoftime
║XLR8║
 Аватар для outoftime
505 / 427 / 33
Регистрация: 25.07.2009
Сообщений: 2,297
20.05.2014, 18:16     Проверка регистра букв #7
Fantasmaforia,
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <string>
#include <algorithm>
 
int main () {
    const std::string text = "Some text. With two uppercase letters.";
    size_t uppercase = std::count_if(text.cbegin(), text.cend(), 
        [](const char& a){ return std::isupper(a); });
    std::cout << "Uppercase letters number: " << uppercase << 
        << ", lowercase letters number: " << text.size() - uppercase << std::endl;
}
Bash
1
2
3
ruslan@TFTM-K53TA:~/Programming/c++/cyberforum$ make && ./main 
clang++ main.cpp -o main -std=c++11 -W
Uppercase letters number: 2, lowercase letters number: 36
http://en.cppreference.com/w/cpp/string/byte/isupper для справки
Yandex
Объявления
20.05.2014, 18:16     Проверка регистра букв
Ответ Создать тему
Опции темы

Текущее время: 22:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru