Умберто Эко

Как в С/С++ изменить регистр букв с маленькой на большую в СТРОКЕ?

Введение

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

Использование функций toupper() и islower()

В C/C++, вы можете использовать функцию toupper(char c), чтобы преобразовать символы с маленькой на большую букву. Она изменяет только символы в нижнем регистре и оставляет символы в верхнем регистре без изменений.

Также вы можете использовать функцию islower(char c), чтобы проверить, является ли символ в строке изначально в нижнем регистре.

Перед тем, как приступить к изменению, вы можете проверить, нужно ли делать изменение. Если в строке нет символов, требующих изменения регистра, выведите соответствующее сообщение.

Пример кода

#include <iostream>
#include <cctype>
#include <cstring>

int main() {
    char str[100];
    std::cout << "Введите строку: ";
    std::cin.getline(str, 100);

    int length = strlen(str);
    bool isChanged = false;

    for (int i = 0; i < length; i++) {
        if (islower(str[i])) {
            str[i] = toupper(str[i]);
            isChanged = true;
        }
    }

    if (isChanged) {
        std::cout << "Строка после изменения регистра: " << str << std::endl;
    } else {
        std::cout << "В строке нет символов, требующих изменения регистра." << std::endl;
    }

    return 0;
}

Объяснение кода

  1. Подключаем необходимые заголовочные файлы для использования функций toupper(), islower() и strlen().
  2. Объявляем массив символов str для хранения введенной строки.
  3. С помощью функции cin.getline(str, 100) пользователь вводит строку (до 100 символов) с клавиатуры.
  4. Определяем длину строки с помощью функции strlen().
  5. Используя цикл for, перебираем каждый символ строки.
  6. Если символ является буквой в нижнем регистре (проверка с помощью функции islower()), изменяем его на символ в верхнем регистре с помощью функции toupper().
  7. Поднимаем флаг isChanged, если было произведено какое-либо изменение.
  8. После цикла проверяем значение флага isChanged. Если он равен true, выводим измененную строку.
  9. Если значение флага isChanged равно false, выводим сообщение о том, что в строке нет символов, требующих изменения регистра.

Заключение

В данной статье было показано, как в языке программирования C/C++ изменить регистр букв с маленькой на большую в строке. Используя функции toupper() и islower(), вы можете легко изменить регистр символов и проверить, требуется ли это. Все примеры кода и объяснения помогут вам в выполнении подобных задач. Приятного программирования!